diff options
Diffstat (limited to 'docs/architecture')
-rw-r--r-- | docs/architecture/architecture.rst | 38 | ||||
-rw-r--r-- | docs/architecture/draw.io/ClassStructure.xml | 1 | ||||
-rw-r--r-- | docs/architecture/draw.io/PFDesignAndAdmin.xml | 1 | ||||
-rw-r--r-- | docs/architecture/draw.io/PFHighestLevel.xml | 2 | ||||
-rw-r--r-- | docs/architecture/draw.io/PolicyExecution.xml | 2 | ||||
-rw-r--r-- | docs/architecture/draw.io/TOSCAPolicyConcepts.xml | 2 | ||||
-rw-r--r-- | docs/architecture/images/PFDesignAndAdmin.svg | 3 | ||||
-rw-r--r-- | docs/architecture/images/PFHighestLevel.svg | 4 |
8 files changed, 24 insertions, 29 deletions
diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst index 9e999e3b..cd0e0be9 100644 --- a/docs/architecture/architecture.rst +++ b/docs/architecture/architecture.rst @@ -3,7 +3,7 @@ .. http://creativecommons.org/licenses/by/4.0 .. DO NOT REMOVE THIS LABEL - EVEN IF IT GENERATES A WARNING -.. _architecture: +.. _pf_architecture: .. THIS IS USED INTERNALLY IN POLICY ONLY .. _architecture-label: @@ -154,7 +154,7 @@ The diagram below shows the architecture of the ONAP Policy Framework at its hig .. image:: images/PFHighestLevel.svg -The *PolicyDevelopment* component implements the functionality for development of policy types and policies. +The *PolicyAPI* component implements the functionality for CRUD of policy types and policies. *PolicyAdministration* is responsible for the deployment life cycle of policies as well as interworking with the mechanisms required to orchestrate the nodes and containers on which policies run. *PolicyAdministration* is also responsible for the administration of policies at run time; ensuring that policies are available to users, that policies @@ -162,10 +162,10 @@ are executing correctly, and that the state and status of policies is monitored. running in the ONAP system and is responsible for making policy decisions and for managing the administrative state of the PDPs as directed by \ *PolicyAdministration.* -*PolicyDevelopment* provides APIs that allow creation of policy artifacts and supporting information in the policy +*PolicyAPI* provides APIs that allow creation of policy artifacts and supporting information in the policy database. *PolicyAdministration* reads those artifacts and the supporting information from the policy database whilst deploying policy artifacts. Once the policy artifacts are deployed, *PolicyAdministration* handles the run-time -management of the PDPs on which the policies are running. *PolicyDevelopment* interacts with the database, and has +management of the PDPs on which the policies are running. *PolicyAPI* interacts with the database, and has no programmatic interface with *PolicyAdministration*, *PolicyExecution* or any other run-time ONAP components. The diagram below shows a more detailed view of the architecture, as inspired by @@ -173,10 +173,10 @@ The diagram below shows a more detailed view of the architecture, as inspired by .. image:: images/PFDesignAndAdmin.svg -*PolicyDevelopment* provides a `CRUD <https://en.wikipedia.org/wiki/Create,_read,_update_and_delete>`__ API for policy +*PolicyAPI* provides a `CRUD <https://en.wikipedia.org/wiki/Create,_read,_update_and_delete>`__ API for policy types and policies. The policy types and policy artifacts and their metadata (information about policies, policy types, and their interrelations) are stored in the *PolicyDB*. The *PolicyDevGUI*, PolicyDistribution, and other applications -such as *CLAMP* can use the *PolicyDevelopment* API to create, update, delete, and read policy types and policies. +such as *CLAMP* can use the *PolicyAPI* API to create, update, delete, and read policy types and policies. *PolicyAdministration* has two important functions: @@ -235,7 +235,7 @@ for :ref:`Policy Administration Point (PAP) Architecture <pap-label>`. --------------------------------- This section describes the structure of and relations between the main concepts in the Policy Framework. This model is -implemented as a common model and is used by *PolicyDevelopment*, *PolicyDeployment,* and *PolicyExecution.* +implemented as a common model and is used by *PolicyAPI*, *PolicyAdministration,* and *PolicyExecution.* .. image:: images/ClassStructure.svg @@ -260,7 +260,7 @@ Policy Type Design is the task of creating policy types that capture the generic policy for a particular domain use case. All policy types are specified in TOSCA service templates. Once policy types are defined and created in the system, -*PolicyDevelopment* manages them and uses them to allow policies to be created from these policy types in a uniform +*PolicyAPI* manages them and uses them to allow policies to be created from these policy types in a uniform way regardless of the domain that the policy type is addressing or the PDP technology that will execute the policy. A *PolicyTypeImpl* is developed for a policy type for a certain type of PDP (for example XACML oriented for decision @@ -281,7 +281,7 @@ as handling the sequencing of events for interactions of the policies with other *apex-pdp*, all unmarshaling, marshaling, and component interactions are captured in the state machine, logic, and configuraiton of the policy, a Java application is not used. -*PolicyDevelopment* provides the RESTful :ref:`Policy Design API <design-label>`, which allows other components to query +*PolicyAPI* provides the RESTful :ref:`Policy Design API <design-label>`, which allows other components to query policy types, Those components can then create policies that specify values for the properties, triggers, and targets specified in a policy type. This API is used by components such as *CLAMP* and *PolicyDistribution* to create policies from policy types. @@ -322,15 +322,15 @@ programmers in their work 2.2.2 Policy Design ^^^^^^^^^^^^^^^^^^^ -The *PolicyCreation* function of *PolicyDevelopment* creates policies from a policy type. The information expressed +The *PolicyCreation* function of *PolicyAPI* creates policies from a policy type. The information expressed during policy type design is used to parameterize a policy type to create an executable policy. A service designer and/or operations team can use tooling that reads the TOSCA Policy Type specifications to express and capture a policy at its highest abstraction level. Alternatively, the parameter for the policy can be expressed in a raw JSON or YAML file and posted over the policy design API described on the :ref:`Policy Design and Development <design-label>` page. -A number of mechanisms for policy creation are supported in ONAP. The process in *PolicyDevelopment* for creating a +A number of mechanisms for policy creation are supported in ONAP. The process in *PolicyAPI* for creating a policy is the same for all mechanisms. The most general mechanism for creating a policy is using the RESTful -*Policy Design API*, which provides a full interface to the policy creation support of *PolicyDevelopment*. This API may +*Policy Design API*, which provides a full interface to the policy creation support of *PolicyAPI*. This API may be exercised directly using utilities such as *curl*. In future releases, the Policy Framework may provide a command line tool that will be a loose wrapper around the API. It @@ -353,22 +353,22 @@ Framework. 2.2.2.1 Policy Design in the ONAP Policy Framework """""""""""""""""""""""""""""""""""""""""""""""""" -Policy creation in *PolicyDevelopment* follows the general sequence shown in the sequence diagram below. An *API_USER* -is any component that wants to create a policy from a policy type. *PolicyDevelopment* supplies a REST interface that +Policy creation in *PolicyAPI* follows the general sequence shown in the sequence diagram below. An *API_USER* +is any component that wants to create a policy from a policy type. *PolicyAPI* supplies a REST interface that exposes the API and also provides a command line tool and general purpose client that wraps the API. .. image:: images/PolicyDesign.svg An *API_User* first gets a reference to and the metadata for the Policy type for the policy they want to work on from -*PolicyDevelopment*. *PolicyDevelopment* reads the metadata and artifact for the policy type from the database. The -*API_User* then asks for a reference and the metadata for the policy. *PolicyDevelopment* looks up the policy in the -database. If the policy already exists, *PolicyDevelopment* reads the artifact and returns the reference of the existing -policy to the *API_User* with the metadata for the existing policy. If the policy does not exist, *PolicyDevelopment* +*PolicyAPI*. *PolicyAPI* reads the metadata and artifact for the policy type from the database. The +*API_User* then asks for a reference and the metadata for the policy. *PolicyAPI* looks up the policy in the +database. If the policy already exists, *PolicyAPI* reads the artifact and returns the reference of the existing +policy to the *API_User* with the metadata for the existing policy. If the policy does not exist, *PolicyAPI* informs the *API_User*. The *API_User* may now proceed with a policy specification session, where the parameters are set for the policy using the policy type specification. Once the *API_User* is happy that the policy is completely and correctly specified, it -requests *PolicyDevelopment* to create the policy. *PolicyDevelopment* creates the policy, stores the created policy +requests *PolicyAPI* to create the policy. *PolicyAPI* creates the policy, stores the created policy artifact and its metadata in the database. 2.2.2.2 Model Driven VF (Virtual Function) Policy Design via VNF SDK Packaging diff --git a/docs/architecture/draw.io/ClassStructure.xml b/docs/architecture/draw.io/ClassStructure.xml deleted file mode 100644 index f4ffcffb..00000000 --- a/docs/architecture/draw.io/ClassStructure.xml +++ /dev/null @@ -1 +0,0 @@ -<mxfile host="Electron" modified="2020-04-08T14:21:39.521Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.9.9 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36" etag="PvUznb4W1W4THncNQY30" version="12.9.9" type="device"><diagram id="DArkqDwHTHM-5atZUUOz" name="Page-1">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</diagram></mxfile>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PFDesignAndAdmin.xml b/docs/architecture/draw.io/PFDesignAndAdmin.xml deleted file mode 100644 index 2188d0ca..00000000 --- a/docs/architecture/draw.io/PFDesignAndAdmin.xml +++ /dev/null @@ -1 +0,0 @@ -<mxfile host="Electron" modified="2020-04-08T12:56:16.158Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.9.9 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36" version="12.9.9" etag="PXYjNIaQAZ4uMtULGwls" type="device"><diagram id="0-5FABUy0DJKN6pRLFS_" name="Page-1">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</diagram></mxfile>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PFHighestLevel.xml b/docs/architecture/draw.io/PFHighestLevel.xml deleted file mode 100644 index a307574f..00000000 --- a/docs/architecture/draw.io/PFHighestLevel.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<mxGraphModel dx="995" dy="808" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="3" value="PolicyDevelopment" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="50" y="50" width="130" height="30" as="geometry"/></mxCell><mxCell id="4" value="PolicyDB" style="shape=cylinder;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="230" y="115" width="70" height="30" as="geometry"/></mxCell><mxCell id="7" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="4" target="3" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="185" y="125" as="sourcePoint"/><mxPoint x="120" y="90" as="targetPoint"/></mxGeometry></mxCell><mxCell id="8" value="PolicyAdministration" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="270" y="50" width="135" height="30" as="geometry"/></mxCell><mxCell id="9" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="4" target="8" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="275" y="125" as="sourcePoint"/><mxPoint x="120" y="90" as="targetPoint"/></mxGeometry></mxCell><mxCell id="13" value="PolicyExecution" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="470" y="50" width="140" height="30" as="geometry"/></mxCell><mxCell id="14" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.5;" parent="1" source="8" target="13" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="40" y="220" as="sourcePoint"/><mxPoint x="90" y="170" as="targetPoint"/></mxGeometry></mxCell><mxCell id="15" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="388" y="112" width="30" height="13" as="geometry"/></mxCell><mxCell id="16" value="Policy Framework Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="410" y="108" width="200" height="20" as="geometry"/></mxCell><mxCell id="17" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="388" y="129" width="30" height="13" as="geometry"/></mxCell><mxCell id="18" value="Other Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="410" y="125" width="128" height="20" as="geometry"/></mxCell></root></mxGraphModel>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PolicyExecution.xml b/docs/architecture/draw.io/PolicyExecution.xml deleted file mode 100644 index 1dbf4da3..00000000 --- a/docs/architecture/draw.io/PolicyExecution.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<mxGraphModel dx="1395" dy="1208" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1169" pageHeight="827" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="31" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="328" y="-80" width="120" height="310" as="geometry"/></mxCell><mxCell id="30" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="-90" width="120" height="310" as="geometry"/></mxCell><mxCell id="14" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="308" y="-100" width="120" height="310" as="geometry"/></mxCell><mxCell id="27" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="110" width="100" height="90" as="geometry"/></mxCell><mxCell id="21" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="-70" width="100" height="80" as="geometry"/></mxCell><mxCell id="11" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="328" y="-40" width="70" height="40" as="geometry"/></mxCell><mxCell id="4" value="PDP-X" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="11" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="6" value="PDP-X" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="11" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="13" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="323" y="140" width="80" height="50" as="geometry"/></mxCell><mxCell id="10" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry x="20" y="20" width="60" height="30" as="geometry"/></mxCell><mxCell id="9" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="5" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="22" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="20" width="100" height="80" as="geometry"/></mxCell><mxCell id="23" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="328" y="45" width="80" height="50" as="geometry"/></mxCell><mxCell id="24" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry x="20" y="20" width="60" height="30" as="geometry"/></mxCell><mxCell id="25" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="26" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="32" value="PolicyAdministration" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="-90" y="-10" width="140" height="30" as="geometry"/></mxCell><mxCell id="33" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="10" y="491.5" as="geometry"/></mxCell><mxCell id="34" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="-40" y="618.5" as="geometry"/></mxCell><mxCell id="37" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="10" y="491.5" as="geometry"/></mxCell><mxCell id="39" value="DMaaP" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="120" y="180" width="100" height="30" as="geometry"/></mxCell><mxCell id="40" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#fff2cc;strokeColor=#d6b656;entryX=1;entryY=0.5;exitX=0;exitY=0.75;" parent="1" source="39" target="32" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="60" y="220" as="sourcePoint"/><mxPoint x="-10" y="-90" as="targetPoint"/><Array as="points"><mxPoint x="80" y="203"/><mxPoint x="80" y="5"/></Array></mxGeometry></mxCell><mxCell id="41" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="40" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="42" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="328" y="-20" as="sourcePoint"/><mxPoint x="128" y="516.5" as="targetPoint"/><Array as="points"><mxPoint x="270" y="-20"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="43" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="42" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="44" value="<div>AsyncCaller</div>" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="-90" y="-55" width="140" height="30" as="geometry"/></mxCell><mxCell id="61" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;entryX=1;entryY=0.75;" parent="1" source="5" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="338" y="-15" as="sourcePoint"/><mxPoint x="180" y="195" as="targetPoint"/><Array as="points"><mxPoint x="270" y="163"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="62" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="61" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="63" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.75;entryX=1;entryY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="26" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="348" y="-5" as="sourcePoint"/><mxPoint x="220" y="220" as="targetPoint"/><Array as="points"><mxPoint x="270" y="68"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="64" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="63" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="67" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;entryX=1;entryY=0.5;exitX=0;exitY=0.25;" parent="1" source="39" target="44" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="140" y="40" as="sourcePoint"/><mxPoint y="15" as="targetPoint"/><Array as="points"><mxPoint x="100" y="188"/><mxPoint x="100" y="-40"/></Array></mxGeometry></mxCell><mxCell id="68" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="67" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="69" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="98" y="198" as="sourcePoint"/><mxPoint x="328" y="-25" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="-25"/></Array></mxGeometry></mxCell><mxCell id="70" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="69" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="71" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="108" y="208" as="sourcePoint"/><mxPoint x="328" y="60" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="60"/></Array></mxGeometry></mxCell><mxCell id="72" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="71" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="73" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="190" y="190" as="sourcePoint"/><mxPoint x="323" y="155" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="155"/></Array></mxGeometry></mxCell><mxCell id="74" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="73" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="77" value="SyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="-90" y="-100" width="80" height="30" as="geometry"/></mxCell><mxCell id="80" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;exitX=1;exitY=0.5;entryX=0;entryY=0.25;" parent="1" source="77" target="6" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="198" y="198" as="sourcePoint"/><mxPoint x="320" y="-40" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="-32"/></Array></mxGeometry></mxCell><mxCell id="81" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="80" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="82" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;entryX=0;entryY=0.25;" parent="1" target="26" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="180" y="-80" as="sourcePoint"/><mxPoint x="338" y="-22" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="53"/></Array></mxGeometry></mxCell><mxCell id="83" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="82" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="84" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;entryX=0;entryY=0.25;exitX=1;exitY=0.5;" parent="1" source="77" target="5" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="200" y="-110" as="sourcePoint"/><mxPoint x="338" y="63" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="148"/></Array></mxGeometry></mxCell><mxCell id="85" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="84" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="86" value="Each PDP is deployed as a Kubernetes <i><b>Pod</b></i>" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="500" width="110" height="50" as="geometry"/></mxCell><mxCell id="87" value="In Kubernetes, a PDPSubGroup is a Kubernetes <b><i>Deployment</i></b> " style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="500" y="-100" width="130" height="60" as="geometry"/></mxCell><mxCell id="88" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.25;strokeColor=#97D077;" parent="1" source="21" target="87" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="-90" y="300" as="sourcePoint"/><mxPoint x="-40" y="250" as="targetPoint"/></mxGeometry></mxCell><mxCell id="89" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.75;strokeColor=#97D077;" parent="1" source="6" target="86" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="428" y="-40" as="sourcePoint"/><mxPoint x="510" y="-60" as="targetPoint"/></mxGeometry></mxCell></root></mxGraphModel>
\ No newline at end of file diff --git a/docs/architecture/draw.io/TOSCAPolicyConcepts.xml b/docs/architecture/draw.io/TOSCAPolicyConcepts.xml deleted file mode 100644 index 0d3900dd..00000000 --- a/docs/architecture/draw.io/TOSCAPolicyConcepts.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<mxfile modified="2019-05-29T11:50:35.523Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" version="10.6.3" etag="yEDpeBBf71gBWF177uGV" type="atlas"><mxAtlasLibraries/><diagram id="04337635-102b-1824-bf5a-1496629f81aa" name="Page-1">7VttT+M4EP41le4+UOW1Lx9pYfdOYiV0IB18WrmJm1jrxpHrQru//saJnfewKWQD6IKQiMfjsT3PeGY8CRN7vTt+5SgOvzEf04ll+MeJfTWxLNNeuvBHUk4pZWEsUkLAia+YcsId+YkV0VDUA/HxvsQoGKOCxGWix6IIe6JEQ5yz5zLbltHyrDEK1IxGTrjzEMU1tn+JL0K1C7fA/RcmQahnNg3Vs0Hej4CzQ6Tmm1j2NvlJu3dIy1L8+xD57LlAsq8n9pozJtKn3XGNqdStVls67ktLb7ZujiPRZYBexxOiB7X3W0aJd1LLEyetkv0z2VEUQWu1ZZG4Uz0GtL2QUP8GndhBzrkXoAPdWoWMk5/Ajyh0mUCAbi4U4tZMSiOUrhllPJlHqsvyvNLIOylRzcXxHsbe6g2aFdI3dCwx3qC90KtklKJ4TzbJuuXAHeIBiVZMCLZTTHvB2Q9cWI4/28xcucy6ZpWynzAX+FggKU1/xWyHBQdNGrp3rrStToXpzNP2c25jlq14wqJ9GY6ybWXXQSY7xxYeFLwtUJs1qCfWSu6Jsxj2QOSBu1QNuWofb0lEBGERNCgBRVZtAvYtXlRaG7aIkiACGsVbKUCqkMDpu1RkwWIpNkYeiYKbhOfKySn/KM1IEoOxW5ocoZD4Po4k9EwggTaZfcaMRCLRnLuCX1Dw2pi6ExeWtIa2mbfhV7JzsWYR7AqRBGsMRvSMpSE1WEF2gn5tBgp2sPpOqGu+N4FutYAOpzDAUimXCaQc1Jpo52oEuReQXWtAkO02kDkJAswVyqo1HuY+cZ4vhsPZbgvW96cYjwG7/4B9sSgH7CHDtd0pXOftMWJ3PeT2h47Y9hix3wfkISO2PUbsd8N5yIjt1CN2DUVZLoi7B6us6KE0PCkWDhqDmO2+8tppzYy3q8Csx7F7bdZjxvKLjMXpbt2DJCVmW3DCT7Dm70LmocX4ZBl/JD3wEKEd/nN0YU1pafe89B3yEbMtVO29EPsHqgC/Jzv8dyQwB74R5V5QHjIhMZ0Xs87vABBgm0KtT7SijWD3AfagdYQ2sCGz8NPrYwK0l+8XGhQd9vUqw4j2WVFap2A6GA8Ct9sOd7bDEe/firfGdhC8Zy14x5gT5qsEDXSP+MUhImIqIHaPQPcDtDtkqWjemo0DBUlHrgoJsFfcdOMaQX4VyIshS0WLFpBBUpidZnXdGuHtAV7LGDIXW7bAi7w8Ectu00zWAmW5H6VF/hHvPvC2B0zGnKbce0blXnzyBI9BgmCMPbIFCFKY034QXWBpGMW2bawVO8GRfym/koJWxJJ6Wyh2unoGnap2Zlq6mFbhLhbYTEcTvhC56wRh7AdYl+8AvZAFLEL0Oqeu8JGIBz0jPD/KkVNjOUtXUJQVgYofkm5XNx91H4y8hawGYJC304TWcBtTCmAH7ikNaHjT660+9ylNLv5Fu9GFVWNqm4Yqj3BMAawnXJqxyVCUuFuWptlZkXZZLtI6i0rtNV29GpbbW01SVZBpVQSlW35BkGZk2+0el3gS484U0c3e65cPDUduj0khteAgCtbYyTNRtMF0lX16V/Zw8uM7VVBWFttsJfpkNpfXz3ptbJ5pE52dRz2zN6bTehzooE+eurXPodBz9VkxaHUSLiyrPKQfA29Kwmuu2UPylfwGd/bl6tUf9uWw0yfy62f57ofC82PG1s2D23UPrstuZ3hwuJk7/Xjw7BtgXdGrWFtXB36RBadq8eCdPHj9AvJapzOAE5+/mxNvC+xlMC+qSWQ/GNVvER85MPQGUk8YWRWInN8AkX4JX4Ao+9jj8/hxc2oYTsmTT03TLXpzYFiWPLppZa6/mqq/On23GtL3c50/rNTUN/0M+Xk/BlX90F/Pc34ssNyyJHd+ZixQkqpyKgvqx8Trn3p83Eihz+P/LFLol8qfI1L0B1I/GFnLCkTLt0MEzfz/vVL2/J/q7Ov/AA==</diagram></mxfile>
\ No newline at end of file diff --git a/docs/architecture/images/PFDesignAndAdmin.svg b/docs/architecture/images/PFDesignAndAdmin.svg index 0be2163e..1a1c687d 100644 --- a/docs/architecture/images/PFDesignAndAdmin.svg +++ b/docs/architecture/images/PFDesignAndAdmin.svg @@ -1,3 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than diagrams.net --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1111px" height="333px" viewBox="-0.5 -0.5 1111 333" content="<mxfile host="app.diagrams.net" modified="2020-04-08T13:01:46.897Z" agent="5.0 (X11)" etag="I6gRPp6TBtgkpgymslct" version="12.9.10" type="device"><diagram id="0-5FABUy0DJKN6pRLFS_" name="Page-1">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</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color:#fff2cc"/><stop offset="100%" style="stop-color:#ffd966"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="250" y="150" width="150" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 325px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyDevelopment</div></div></div></foreignObject><text x="325" y="169" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevelopment</text></switch></g><rect x="140" y="50" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 165px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">Portal</div></div></div></foreignObject><text x="165" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Portal</text></switch></g><rect x="200" y="50" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 260px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyDevAPIUser</div></div></div></foreignObject><text x="260" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevAPIUser</text></switch></g><rect x="330" y="50" width="120" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 390px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyDistribution</div></div></div></foreignObject><text x="390" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDistribution</text></switch></g><rect x="365" y="0" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 15px; margin-left: 390px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">SDC</div></div></div></foreignObject><text x="390" y="19" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SDC</text></switch></g><path d="M 390 30 L 390 50" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 165 80 L 165 90 Q 165 100 175 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 80 L 260 90 Q 260 100 270 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 390 80 L 390 90 Q 390 100 380 100 L 335 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 80 80 L 80 90 Q 80 100 90 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 492 226 C 492 218 572 218 572 226 L 572 244 C 572 252 492 252 492 244 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 492 226 C 492 232 572 232 572 226" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 240px; margin-left: 493px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">PolicyDB</div></div></div></foreignObject><text x="532" y="243" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDB</text></switch></g><rect x="512" y="150" width="140" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 582px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyAdministration</div></div></div></foreignObject><text x="582" y="169" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdministration</text></switch></g><path d="M 517 40 L 517 50 Q 517 60 527 60 L 572 60 Q 582 60 582 70 L 582 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 362.5 180 L 361.25 180 Q 360 180 360 190 L 360 195 Q 360 200 370 200 L 522 200 Q 532 200 532 210 L 532 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 582 180 L 582 190 Q 582 200 572 200 L 542 200 Q 532 200 532 210 L 532 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><rect x="587" y="10" width="135" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 655px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyAdminAPIUser</div></div></div></foreignObject><text x="655" y="29" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminAPIUser</text></switch></g><path d="M 654.5 40 L 654.5 50 Q 654.5 60 644.5 60 L 592 60 Q 582 60 582 70 L 582 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><rect x="910" y="150" width="100" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 960px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyExecution</div></div></div></foreignObject><text x="960" y="169" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyExecution</text></switch></g><rect x="760" y="235" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 250px; margin-left: 810px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">DMaaP</div></div></div></foreignObject><text x="810" y="254" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">DMaaP</text></switch></g><path d="M 760 250 L 750 250 Q 740 250 740 240 L 740 175 Q 740 165 730 165 L 652 165" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 910 165 L 895 165 Q 885 165 885 175 L 885 240 Q 885 250 875 250 L 860 250" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><rect x="860" y="50" width="90" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 905px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">AsyncCaller</div></div></div></foreignObject><text x="905" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">AsyncCaller</text></switch></g><rect x="960" y="50" width="80" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 1000px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">SyncCaller</div></div></div></foreignObject><text x="1000" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SyncCaller</text></switch></g><path d="M 986.33 143.77 L 998.67 86.23" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 985.23 148.91 L 983.28 141.33 L 986.33 143.77 L 990.12 142.8 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 999.77 81.09 L 1001.72 88.67 L 998.67 86.23 L 994.88 87.2 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 80 L 932.49 144.15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 934.56 148.97 L 928.59 143.92 L 932.49 144.15 L 935.02 141.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 150 L 930.18 85.78" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 927.97 81.01 L 934.09 85.89 L 930.18 85.78 L 927.74 88.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 860 72.5 L 787.67 229.22" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 785.47 233.98 L 785.22 226.16 L 787.67 229.22 L 791.58 229.1 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 810 235 L 879.8 85.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 882.03 81.01 L 882.23 88.84 L 879.8 85.77 L 875.89 85.87 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 342 271.5 L 568 271.5 L 582 285.5 L 582 331.5 L 342 331.5 L 342 271.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 568 271.5 L 568 285.5 L 582 285.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 273px; margin-left: 344px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Policy Artifacts and Metadata</div><div>PDP Group and Subgroup Definitions</div><div>Policy to PDP Group and Subgroup Mappings<br /></div></div></div></div></foreignObject><text x="344" y="285" fill="#000000" font-family="Helvetica" font-size="12px">Policy Artifacts and Metadata...</text></switch></g><path d="M 532 250 L 462 271.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 620 80 L 796 80 L 810 94 L 810 130 L 620 130 L 620 80 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 796 80 L 796 94 L 810 94" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 188px; height: 1px; padding-top: 81px; margin-left: 622px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CRUD API for Policy Groups and Sub-Groups<br />API for Policy Deployment</div></div></div></foreignObject><text x="622" y="93" fill="#000000" font-family="Helvetica" font-size="12px">CRUD API for Policy Groups and...</text></switch></g><path d="M 950 241 L 1096 241 L 1110 255 L 1110 330 L 950 330 L 950 241 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 1096 241 L 1096 255 L 1110 255" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 242px; margin-left: 952px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Policies for a given</div><div>domain execute in a</div><div> PDP Group. PDP Groups</div><div> have subgroups for each</div><div> PDP type in a PDP group<br /></div></div></div></div></foreignObject><text x="952" y="254" fill="#000000" font-family="Helvetica" font-size="12px">Policies for a given...</text></switch></g><path d="M 985 180 L 1070 241" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 325 150 L 230 132.5" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 663 227.5 L 717 227.5 L 731 241.5 L 731 302.5 L 663 302.5 L 663 227.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 717 227.5 L 717 241.5 L 731 241.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 66px; height: 1px; padding-top: 229px; margin-left: 665px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Deploy</div><div>Retire</div><div>Archive<br />Upgrade</div><div>Rollback<br /></div></div></div></div></foreignObject><text x="665" y="241" fill="#000000" font-family="Helvetica" font-size="12px">Deploy...</text></switch></g><path d="M 652 165 L 697 227.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 120 115 L 216 115 L 230 129 L 230 150 L 120 150 L 120 115 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 216 115 L 216 129 L 230 129" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 116px; margin-left: 122px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CRUD API for Policy Artifacts</div></div></div></foreignObject><text x="122" y="128" fill="#000000" font-family="Helvetica" font-size="12px">CRUD API for Polic...</text></switch></g><path d="M 582 150 L 620 105" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="0" y="208" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><rect x="22" y="204" width="200" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 214px; margin-left: 23px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Policy Framework Component</div></div></div></foreignObject><text x="122" y="218" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Policy Framework Component</text></switch></g><rect x="0" y="225" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><rect x="22" y="221" width="128" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 231px; margin-left: 23px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Other Component</div></div></div></foreignObject><text x="86" y="235" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Other Component</text></switch></g><rect x="30" y="50" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 80px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyDevGUI</div></div></div></foreignObject><text x="80" y="69" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevGUI</text></switch></g><rect x="455" y="10" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 515px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: nowrap; ">PolicyAdminGUI</div></div></div></foreignObject><text x="515" y="29" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminGUI</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1111px" height="333px" viewBox="-0.5 -0.5 1111 333" content="<mxfile host="Electron" modified="2022-03-08T09:31:06.121Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="lY_i-sVdEKvRwR8cWTHS" version="16.5.1" type="device"><diagram id="0-5FABUy0DJKN6pRLFS_" name="Page-1">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</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color: rgb(255, 242, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(255, 217, 102); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient></defs><g><rect x="250" y="150" width="150" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 325px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAPI</div></div></div></foreignObject><text x="325" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAPI</text></switch></g><rect x="140" y="50" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 165px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Portal</div></div></div></foreignObject><text x="165" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Portal</text></switch></g><rect x="200" y="50" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 260px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDevAPIUser</div></div></div></foreignObject><text x="260" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevAPIUser</text></switch></g><rect x="330" y="50" width="120" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 390px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDistribution</div></div></div></foreignObject><text x="390" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDistribution</text></switch></g><rect x="365" y="0" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 15px; margin-left: 390px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SDC</div></div></div></foreignObject><text x="390" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SDC</text></switch></g><path d="M 390 30 L 390 50" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 165 80 L 165 90 Q 165 100 175 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 80 L 260 90 Q 260 100 270 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 390 80 L 390 90 Q 390 100 380 100 L 335 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 80 80 L 80 90 Q 80 100 90 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 492 226 C 492 218 572 218 572 226 L 572 244 C 572 252 492 252 492 244 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 492 226 C 492 232 572 232 572 226" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 240px; margin-left: 493px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyDB</div></div></div></foreignObject><text x="532" y="243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDB</text></switch></g><rect x="512" y="150" width="140" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 582px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdministration</div></div></div></foreignObject><text x="582" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdministration</text></switch></g><path d="M 517 40 L 517 50 Q 517 60 527 60 L 572 60 Q 582 60 582 70 L 582 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 362.5 180 L 361.25 180 Q 360 180 360 190 L 360 195 Q 360 200 370 200 L 522 200 Q 532 200 532 210 L 532 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 582 180 L 582 190 Q 582 200 572 200 L 542 200 Q 532 200 532 210 L 532 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="587" y="10" width="135" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 655px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdminAPIUser</div></div></div></foreignObject><text x="655" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminAPIUser</text></switch></g><path d="M 654.5 40 L 654.5 50 Q 654.5 60 644.5 60 L 592 60 Q 582 60 582 70 L 582 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="910" y="150" width="100" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 960px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyExecution</div></div></div></foreignObject><text x="960" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyExecution</text></switch></g><rect x="760" y="235" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 250px; margin-left: 810px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">DMaaP</div></div></div></foreignObject><text x="810" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">DMaaP</text></switch></g><path d="M 760 250 L 750 250 Q 740 250 740 240 L 740 175 Q 740 165 730 165 L 652 165" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 910 165 L 895 165 Q 885 165 885 175 L 885 240 Q 885 250 875 250 L 860 250" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="860" y="50" width="90" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 905px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">AsyncCaller</div></div></div></foreignObject><text x="905" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">AsyncCaller</text></switch></g><rect x="960" y="50" width="80" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 1000px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SyncCaller</div></div></div></foreignObject><text x="1000" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SyncCaller</text></switch></g><path d="M 986.33 143.77 L 998.67 86.23" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 985.23 148.91 L 983.28 141.33 L 986.33 143.77 L 990.12 142.8 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 999.77 81.09 L 1001.72 88.67 L 998.67 86.23 L 994.88 87.2 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 80 L 932.49 144.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 934.56 148.97 L 928.59 143.92 L 932.49 144.15 L 935.02 141.16 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 150 L 930.18 85.78" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 927.97 81.01 L 934.09 85.89 L 930.18 85.78 L 927.74 88.84 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 860 72.5 L 787.67 229.22" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 785.47 233.98 L 785.22 226.16 L 787.67 229.22 L 791.58 229.1 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 810 235 L 879.8 85.77" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 882.03 81.01 L 882.23 88.84 L 879.8 85.77 L 875.89 85.87 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 342 271.5 L 568 271.5 L 582 285.5 L 582 331.5 L 342 331.5 L 342 271.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 568 271.5 L 568 285.5 L 582 285.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 273px; margin-left: 344px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Policy Artifacts and Metadata</div><div>PDP Group and Subgroup Definitions</div><div>Policy to PDP Group and Subgroup Mappings<br /></div></div></div></div></foreignObject><text x="344" y="285" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Policy Artifacts and Metadata...</text></switch></g><path d="M 532 250 L 462 271.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 620 80 L 796 80 L 810 94 L 810 130 L 620 130 L 620 80 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 796 80 L 796 94 L 810 94" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 188px; height: 1px; padding-top: 81px; margin-left: 622px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CRUD API for Policy Groups and Sub-Groups<br />API for Policy Deployment</div></div></div></foreignObject><text x="622" y="93" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CRUD API for Policy Groups and...</text></switch></g><path d="M 950 241 L 1096 241 L 1110 255 L 1110 330 L 950 330 L 950 241 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 1096 241 L 1096 255 L 1110 255" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 242px; margin-left: 952px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Policies for a given</div><div>domain execute in a</div><div> PDP Group. PDP Groups</div><div> have subgroups for each</div><div> PDP type in a PDP group<br /></div></div></div></div></foreignObject><text x="952" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Policies for a given...</text></switch></g><path d="M 985 180 L 1070 241" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 325 150 L 230 132.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 663 227.5 L 717 227.5 L 731 241.5 L 731 302.5 L 663 302.5 L 663 227.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 717 227.5 L 717 241.5 L 731 241.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 66px; height: 1px; padding-top: 229px; margin-left: 665px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Deploy</div><div>Retire</div><div>Archive<br />Upgrade</div><div>Rollback<br /></div></div></div></div></foreignObject><text x="665" y="241" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Deploy...</text></switch></g><path d="M 652 165 L 697 227.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 120 115 L 216 115 L 230 129 L 230 150 L 120 150 L 120 115 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 216 115 L 216 129 L 230 129" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 116px; margin-left: 122px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CRUD API for Policy Artifacts</div></div></div></foreignObject><text x="122" y="128" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CRUD API for Polic...</text></switch></g><path d="M 582 150 L 620 105" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="0" y="208" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><rect x="22" y="204" width="200" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 214px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Policy Framework Component</div></div></div></foreignObject><text x="122" y="218" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Policy Framework Component</text></switch></g><rect x="0" y="225" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><rect x="22" y="221" width="128" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 231px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Other Component</div></div></div></foreignObject><text x="86" y="235" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Other Component</text></switch></g><rect x="30" y="50" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 80px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDevGUI</div></div></div></foreignObject><text x="80" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevGUI</text></switch></g><rect x="455" y="10" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 515px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdminGUI</div></div></div></foreignObject><text x="515" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminGUI</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file diff --git a/docs/architecture/images/PFHighestLevel.svg b/docs/architecture/images/PFHighestLevel.svg index 9f1afd6a..48af95df 100644 --- a/docs/architecture/images/PFHighestLevel.svg +++ b/docs/architecture/images/PFHighestLevel.svg @@ -1,2 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than diagrams.net --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="561px" height="96px" viewBox="-0.5 -0.5 561 96" content="<mxfile modified="2019-05-29T11:47:04.912Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" etag="4cUGng7DaMA2niqdvUOu" version="10.6.3" type="atlas"><mxAtlasLibraries/><diagram name="Page-1" id="c4acf3e9-155e-7222-9cf6-157b1a14988f">5VjLcpswFP0ath0exsZLx3l00U4y40WTpQwKaCIQI8sP+vW9AgmQBY2bxG08tWc80rlI+J5zj5BwgmV+uOOozL6zBFPHd5ODE1w7vj+fh/ArgaoBIjdqgJSTpIG8DliRn1iBrkK3JMEb40LBGBWkNMGYFQWOhYEhztnevOyZUfOuJUqxBaxiRG30B0lEprII3Q7/ikma6Tt7roqsUfyScrYt1P0cP3iuP004R3oudf0mQwnb96DgxgmWnDHRtPLDElNJraatGXc7Em3/N8eFOGVA0AzYIbpVqT8wSuLqGu8wZWUup2n+qKg0OXV6WE7gOsHVPiMCr0oUy+geqgGwTOQUeh40nwmlS0YZr8dKMvw4BnwjOHvBvUgyXU/DKUTsFFRWO8wFPvQgldIdZjkWvIJLVFTrVJndfSelFygs68moMaSqJ20n7hiEhiJxmNDJGKFXFo+gfSmbcUUJEMpfJ3PdMP9t3QJtud1vBcyCR1gP5XeI9Wn9gUjKUUKA8V5sXX8/RpGW20o7JrQ0mZ1JkpkliSUFLpKFXDagVzDJYp91yJpXj7Lcv4S6+6RjByJ6Ieg9KV+MkrZhWx5jo1oE4inWGTcQTowVyia2R1w4QJzGOKZIkJ25rg2xqe7wwIi0vNbNi0JTNz80p2iyUaP6C83xRL5ZAPMjYRsKrHlqbdusT5I7GnHgIslJQcABwAcrLnBVaw3yu2UtPI+H5hfloehTecifXZyHvLF9wc0Bx9sL9c/kBP9MzvQM8ux9wVsN1LdPZ5nHnpm6yEkGimwDeZ/rKTQxhWt3z39qoPnRJmR2PgOFr+v9+R0TRJFJmOdblhnaSOvyeZdjpiNLEGC3HOV4z/gLtJcsL8EtA+cUSFKYJJpkKZP1mVUQoiQtoBvDtPW+XFJG4Hi4UIGcJIm8zaBqpq4fsXB5R3WrT9M9GXx3QIdjn7xJhxO2z++q5H9+NrGqXO92/kaV27vVe5FBzf2fhe3bp0JPP5/eWdjQ7V6rNCt69+oquPkF</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="0" y="0" width="130" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(11.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 107px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDevelopment</div></div></foreignObject><text x="53" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDevelopment</text></switch></g><path d="M 180 71 C 180 63 250 63 250 71 L 250 89 C 250 97 180 97 180 89 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><path d="M 180 71 C 180 77 250 77 250 71" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(189.5,77.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="50" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 51px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDB</div></div></foreignObject><text x="25" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDB</text></switch></g><path d="M 215 65 L 65 30" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="220" y="0" width="135" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(231.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="111" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdministration</div></div></foreignObject><text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdministration</text></switch></g><path d="M 215 65 L 288 30" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="420" y="0" width="140" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(446.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="87" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 88px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyExecution</div></div></foreignObject><text x="44" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyExecution</text></switch></g><path d="M 355 15 L 420 15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="338" y="62" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(377.5,61.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="164" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 165px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Policy Framework Component</div></div></foreignObject><text x="82" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Policy Framework Component</text></switch></g><rect x="338" y="79" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(375.5,78.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="97" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 98px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Other Component</div></div></foreignObject><text x="49" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Other Component</text></switch></g></g></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="561px" height="96px" viewBox="-0.5 -0.5 561 96" content="<mxfile modified="2022-03-08T09:53:41.169Z" host="Electron" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="-MMCIzmDuD7ZIAt-ZNkB" version="16.5.1" type="device"><diagram name="Page-1" id="c4acf3e9-155e-7222-9cf6-157b1a14988f">5VjLcpswFP0ath0exsbLxHm0M+0kM1k0WcpIAU0E8shybPr1vYAEkgWJm8RtPLUXls6VBDrnnouwFy2K3bVAq/wHx4R5oY93XnThhWHgz0P4qZGqReZJ1AKZoFgN6oE7+ovomQrdUEzW1kDJOZN0ZYMpL0uSSgtDQvCtPeyRM/uqK5QRB7hLEXPRnxTLvEWT2O/xr4Rmub5y4KvIEqVPmeCbUl3PC6PH5tOGC6TXUuPXOcJ8a0DRpRctBOeybRW7BWE1t5q2dt7VSLS7b0FKecgEJcszYhu19VvOaFqd3X5TNygrTUqzLVJP9L3ofJtTSe5WKK2jW0gDwHJZMOgF0HykjC0446KZW5MQpingayn4EzEieLqcxlOIuLeudvNMhCQ7A1JbuSa8IFJUMERFtT6V3d32EgaRwnJDPo0hlTVZt3DPHDQUecNETkaIvDh3eATNV3UzrRgFQsXrZC5b5r8vO6BLs5uNhFXICOtx/R1ifdp8IJIJhCkwbsSWzfdjFOm4rbRTYkeT2ZEkmTmSOFKQEp/V5QJ6Ja9ZNFmHXYvqvk73L7HuPujYjkojBL0H5YtR0tZ8I1JiZYtEIiN6xy1EsFWZXGIN4uIB4jQmCEOSPtv1bIhNdYVbTuF+O92CJLZ1C2N7iXY3apZZYPYXCu0EmO8J21LgrNNo2+36ILmTsVKGC1pScADwwcsTrGqdQV4qa/FxPDQ/KQ8ln8pD4ezkPBSMnQcudyTdnKh/Jgf4Z3KkZ1DgngveaiDTPr1l7g0z9ZGDDJS4Bgo+11NoYgvXnZr/1EDzvUPI7HgGil/X+/M7JkoSm7AgdCwzdJDW6fMux0xHShBgVwIVZMvFE7QXvFiBW5RiJr+wSWmTaJOlTGYyqyDEaFZCN4Vlm3N5TRmF18IzFSgoxvVlBlWzdf2IwhXs5a2fODKE/oAO+z55kw4HHJ/flcn//N3EyXJ92vkbWe6eVm9kDjn3fyZ26L4VBvr59M7Ehm7/d0pb0fv/rKLL3w==</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient></defs><g><rect x="0" y="0" width="130" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 15px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyAPI</div></div></div></foreignObject><text x="65" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAPI</text></switch></g><path d="M 180 71 C 180 63 250 63 250 71 L 250 89 C 250 97 180 97 180 89 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 180 71 C 180 77 250 77 250 71" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 85px; margin-left: 181px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyDB</div></div></div></foreignObject><text x="215" y="88" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDB</text></switch></g><path d="M 215 65 L 65 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="220" y="0" width="135" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 133px; height: 1px; padding-top: 15px; margin-left: 221px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyAdministration</div></div></div></foreignObject><text x="288" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdministration</text></switch></g><path d="M 215 65 L 287.5 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="420" y="0" width="140" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 15px; margin-left: 421px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyExecution</div></div></div></foreignObject><text x="490" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyExecution</text></switch></g><path d="M 355 15 L 420 15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="338" y="62" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><rect x="360" y="58" width="200" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 68px; margin-left: 361px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Policy Framework Component</div></div></div></foreignObject><text x="460" y="72" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Policy Framework Component</text></switch></g><rect x="338" y="79" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><rect x="360" y="75" width="128" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 85px; margin-left: 361px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Other Component</div></div></div></foreignObject><text x="424" y="89" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Other Component</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file |