From aa1379e16f25de408489c9588f5d9c1924f84e37 Mon Sep 17 00:00:00 2001 From: FrancescoFioraEst Date: Tue, 18 Apr 2023 11:06:49 +0100 Subject: Restructure of devtools folder for smoke tests Move smoke tests docs to smoke folder Issue-ID: POLICY-4627 Change-Id: Ica496db009c5e15b531fc0d6c3d93596f0425b28 Signed-off-by: FrancescoFioraEst --- docs/development/devtools/apex-smoke.rst | 108 -- docs/development/devtools/api-smoke.rst | 47 - docs/development/devtools/db-migrator-smoke.rst | 422 ------- docs/development/devtools/devtools.rst | 16 +- docs/development/devtools/distribution-smoke.rst | 137 --- docs/development/devtools/drools-smoke.rst | 61 - .../devtools/images/gui/ChangeState.png | Bin 46354 -> 0 bytes .../gui/CommissioningMessageOnParticipant.png | Bin 262986 -> 0 bytes .../devtools/images/gui/CommissioningModal.png | Bin 32450 -> 0 bytes .../devtools/images/gui/CommissioningUpload.png | Bin 178005 -> 0 bytes .../devtools/images/gui/CommonPropertiesModal.png | Bin 85152 -> 0 bytes .../images/gui/CreateInstancePropsModal.png | Bin 171771 -> 0 bytes .../devtools/images/gui/InstanceUninitialised.png | Bin 141431 -> 0 bytes .../devtools/images/gui/ManageInstancesModal.png | Bin 102277 -> 0 bytes .../devtools/images/gui/PassiveState.png | Bin 129266 -> 0 bytes .../devtools/images/gui/PolicySuccess.png | Bin 53489 -> 0 bytes .../devtools/images/gui/PolicyTypeNotPresent.png | Bin 26727 -> 0 bytes .../devtools/images/gui/PolicyTypeSuccess.png | Bin 39730 -> 0 bytes .../images/gui/ViewEditedCommonProperties.png | Bin 163809 -> 0 bytes .../images/message-commissioning-participant.png | Bin 101491 -> 0 bytes docs/development/devtools/pap-smoke.rst | 69 -- docs/development/devtools/policy-gui-acm-smoke.rst | 277 ----- docs/development/devtools/smoke/apex-smoke.rst | 108 ++ docs/development/devtools/smoke/api-smoke.rst | 47 + .../devtools/smoke/cds-cba/pnf-test-cba.zip | Bin 0 -> 10148 bytes .../devtools/smoke/cds-cba/vnf-test-cba.zip | Bin 0 -> 6036 bytes .../devtools/smoke/db-migrator-smoke.rst | 422 +++++++ .../devtools/smoke/distribution-smoke.rst | 137 +++ docs/development/devtools/smoke/drools-smoke.rst | 61 + .../devtools/smoke/images/gui/ChangeState.png | Bin 0 -> 46354 bytes .../gui/CommissioningMessageOnParticipant.png | Bin 0 -> 262986 bytes .../smoke/images/gui/CommissioningModal.png | Bin 0 -> 32450 bytes .../smoke/images/gui/CommissioningUpload.png | Bin 0 -> 178005 bytes .../smoke/images/gui/CommonPropertiesModal.png | Bin 0 -> 85152 bytes .../smoke/images/gui/CreateInstancePropsModal.png | Bin 0 -> 171771 bytes .../smoke/images/gui/InstanceUninitialised.png | Bin 0 -> 141431 bytes .../smoke/images/gui/ManageInstancesModal.png | Bin 0 -> 102277 bytes .../devtools/smoke/images/gui/PassiveState.png | Bin 0 -> 129266 bytes .../devtools/smoke/images/gui/PolicySuccess.png | Bin 0 -> 53489 bytes .../smoke/images/gui/PolicyTypeNotPresent.png | Bin 0 -> 26727 bytes .../smoke/images/gui/PolicyTypeSuccess.png | Bin 0 -> 39730 bytes .../images/gui/ViewEditedCommonProperties.png | Bin 0 -> 163809 bytes .../images/message-commissioning-participant.png | Bin 0 -> 101491 bytes docs/development/devtools/smoke/pap-smoke.rst | 69 ++ .../devtools/smoke/policy-gui-acm-smoke.rst | 277 +++++ ...pex-pdp-vnf-pnf-testing.postman_collection.json | 1244 ++++++++++++++++++++ .../create-vnf-pnf-aai.postman_collection.json | 788 +++++++++++++ .../publish-cba-CDS.postman_collection.json | 598 ++++++++++ docs/development/devtools/smoke/xacml-smoke.rst | 60 + docs/development/devtools/xacml-smoke.rst | 60 - 50 files changed, 3819 insertions(+), 1189 deletions(-) delete mode 100644 docs/development/devtools/apex-smoke.rst delete mode 100644 docs/development/devtools/api-smoke.rst delete mode 100644 docs/development/devtools/db-migrator-smoke.rst delete mode 100644 docs/development/devtools/distribution-smoke.rst delete mode 100644 docs/development/devtools/drools-smoke.rst delete mode 100644 docs/development/devtools/images/gui/ChangeState.png delete mode 100644 docs/development/devtools/images/gui/CommissioningMessageOnParticipant.png delete mode 100644 docs/development/devtools/images/gui/CommissioningModal.png delete mode 100644 docs/development/devtools/images/gui/CommissioningUpload.png delete mode 100644 docs/development/devtools/images/gui/CommonPropertiesModal.png delete mode 100644 docs/development/devtools/images/gui/CreateInstancePropsModal.png delete mode 100644 docs/development/devtools/images/gui/InstanceUninitialised.png delete mode 100644 docs/development/devtools/images/gui/ManageInstancesModal.png delete mode 100644 docs/development/devtools/images/gui/PassiveState.png delete mode 100644 docs/development/devtools/images/gui/PolicySuccess.png delete mode 100644 docs/development/devtools/images/gui/PolicyTypeNotPresent.png delete mode 100644 docs/development/devtools/images/gui/PolicyTypeSuccess.png delete mode 100644 docs/development/devtools/images/gui/ViewEditedCommonProperties.png delete mode 100644 docs/development/devtools/images/message-commissioning-participant.png delete mode 100644 docs/development/devtools/pap-smoke.rst delete mode 100644 docs/development/devtools/policy-gui-acm-smoke.rst create mode 100644 docs/development/devtools/smoke/apex-smoke.rst create mode 100644 docs/development/devtools/smoke/api-smoke.rst create mode 100644 docs/development/devtools/smoke/cds-cba/pnf-test-cba.zip create mode 100644 docs/development/devtools/smoke/cds-cba/vnf-test-cba.zip create mode 100644 docs/development/devtools/smoke/db-migrator-smoke.rst create mode 100644 docs/development/devtools/smoke/distribution-smoke.rst create mode 100644 docs/development/devtools/smoke/drools-smoke.rst create mode 100644 docs/development/devtools/smoke/images/gui/ChangeState.png create mode 100644 docs/development/devtools/smoke/images/gui/CommissioningMessageOnParticipant.png create mode 100644 docs/development/devtools/smoke/images/gui/CommissioningModal.png create mode 100644 docs/development/devtools/smoke/images/gui/CommissioningUpload.png create mode 100644 docs/development/devtools/smoke/images/gui/CommonPropertiesModal.png create mode 100644 docs/development/devtools/smoke/images/gui/CreateInstancePropsModal.png create mode 100644 docs/development/devtools/smoke/images/gui/InstanceUninitialised.png create mode 100644 docs/development/devtools/smoke/images/gui/ManageInstancesModal.png create mode 100644 docs/development/devtools/smoke/images/gui/PassiveState.png create mode 100644 docs/development/devtools/smoke/images/gui/PolicySuccess.png create mode 100644 docs/development/devtools/smoke/images/gui/PolicyTypeNotPresent.png create mode 100644 docs/development/devtools/smoke/images/gui/PolicyTypeSuccess.png create mode 100644 docs/development/devtools/smoke/images/gui/ViewEditedCommonProperties.png create mode 100644 docs/development/devtools/smoke/images/message-commissioning-participant.png create mode 100644 docs/development/devtools/smoke/pap-smoke.rst create mode 100644 docs/development/devtools/smoke/policy-gui-acm-smoke.rst create mode 100644 docs/development/devtools/smoke/postman/apex-pdp-vnf-pnf-testing.postman_collection.json create mode 100644 docs/development/devtools/smoke/postman/create-vnf-pnf-aai.postman_collection.json create mode 100644 docs/development/devtools/smoke/postman/publish-cba-CDS.postman_collection.json create mode 100644 docs/development/devtools/smoke/xacml-smoke.rst delete mode 100644 docs/development/devtools/xacml-smoke.rst (limited to 'docs/development/devtools') diff --git a/docs/development/devtools/apex-smoke.rst b/docs/development/devtools/apex-smoke.rst deleted file mode 100644 index 3ad44fdd..00000000 --- a/docs/development/devtools/apex-smoke.rst +++ /dev/null @@ -1,108 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-apex-smoke-testing-label: - -.. toctree:: - :maxdepth: 2 - -Apex-PDP Smoke Test -~~~~~~~~~~~~~~~~~~~ - -The apex-pdp smoke testing is executed against a default ONAP installation as per OOM charts. -This test verifies the functionalities supported by apex-pdp to make sure they are working as expected. - -General Setup -************* - -The kubernetes installation will allocate all onap components across multiple worker node VMs. -The normal worker VM hosting onap components has the following spec: - -- 16GB RAM -- 8 VCPU -- 160GB Ephemeral Disk - - -The ONAP components used during the smoke tests are: - -- AAI for creating dummy VNF & PNF for testing purpose. -- CDS for publishing the blueprints & triggering the actions. -- DMaaP for the communication between components. -- Policy API to perform CRUD of policies. -- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). -- Policy Apex-PDP to execute policies for both VNF & PNF scenarios. - - -Testing procedure -***************** - -The test set is focused on the following use cases: - -- End to end testing of a sample VNF based policy using Apex-PDP. -- End to end testing of a sample PNF based policy using Apex-PDP. - -Creation of VNF & PNF in AAI ----------------------------- -In order for PDP engines to fetch the resource details from AAI during runtime execution, we need to create dummy VNF & PNF entities in AAI. -In a real control loop flow, the entities in AAI will be either created during orchestration phase or provisioned in AAI separately. - -Download & execute the steps in postman collection for creating the entities along with its dependencies. -The steps need to be performed sequentially one after another. And no input is required from user. - -:download:`Create VNF & PNF in AAI ` - -Make sure to skip the delete VNF & PNF steps. - - -Publish Blueprints in CDS -------------------------- -In order for PDP engines to trigger an action in CDS during runtime execution, we need to publish relevant blueprints in CDS. - -Download the zip files containing the blueprint for VNF & PNF specific actions. - -:download:`VNF Test CBA ` -:download:`PNF Test CBA ` - -Download & execute the steps in postman collection for publishing the blueprints in CDS. -In the enrich & publish CBA step, provide the previously downloaded zip file one by one. -The execute steps are provided to verify that the blueprints are working as expected. - -:download:`Publish Blueprints in CDS ` - -Make sure to skip the delete CBA step. - - -Apex-PDP VNF & PNF testing --------------------------- -The below provided postman collection is prepared to have end to end testing experience of apex-pdp engine. -Including both VNF & PNF scenarios. -List of steps covered in the postman collection: - -- Create & Verify VNF & PNF policies as per policy type supported by apex-pdp. -- Deploy both VNF & PNF policies to apex-pdp engine. -- Query PdpGroup at multiple stages to verify current set of policies deployed. -- Fetch policy status at multiple stages to verify policy deployment & undeployment status. -- Fetch policy audit information at multiple stages to verify policy deployment & undeployment operations. -- Fetch PDP Statistics at multiple stages to verify deployment, undeployment & execution counts. -- Send onset events to DMaaP for triggering policies to test both success & failure secnarios. -- Read policy notifications from DMaaP to verify policy execution. -- Undeploy both VNF & PNF policies from apex-pdp engine. -- Delete both VNF & PNF policies at the end. - -Download & execute the steps in postman collection. -The steps need to be performed sequentially one after another. And no input is required from user. - -:download:`Apex-PDP VNF & PNF Testing ` - -Make sure to wait for 2 minutes (the default heartbeat interval) to verify PDP Statistics. - - -Delete Blueprints in CDS ------------------------- -Use the previously downloaded CDS postman collection to delete the blueprints published in CDS for testing. - - -Delete VNF & PNF in AAI ------------------------ -Use the previously downloaded AAI postman collection to delete the VNF & PNF entities created in AAI for testing. diff --git a/docs/development/devtools/api-smoke.rst b/docs/development/devtools/api-smoke.rst deleted file mode 100644 index 8230f33b..00000000 --- a/docs/development/devtools/api-smoke.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-api-smoke-testing-label: - -.. toctree:: - :maxdepth: 2 - -Policy API Smoke Test -~~~~~~~~~~~~~~~~~~~~~ - -The policy-api smoke testing is executed against a default ONAP installation as per OOM charts. -This test verifies the execution of all the REST api's exposed by the component to make sure the contract works as expected. - -General Setup -************* - -The kubernetes installation will allocate all onap components across multiple worker node VMs. -The normal worker VM hosting onap components has the following spec: - -- 16GB RAM -- 8 VCPU -- 160GB Ephemeral Disk - - -The ONAP components used during the smoke tests are: - -- Policy API to perform CRUD of policies. -- Policy DB to store the policies. - - -Testing procedure -***************** - -The test set is focused on the following use cases: - -- Execute all the REST api's exposed by policy-api component. - -Execute policy-api testing --------------------------- -Download & execute the steps in postman collection for verifying policy-api component. -The steps need to be performed sequentially one after another. And no input is required from user. - -`Policy Framework Lifecycle API `_ - -Make sure to execute the delete steps in order to clean the setup after testing. diff --git a/docs/development/devtools/db-migrator-smoke.rst b/docs/development/devtools/db-migrator-smoke.rst deleted file mode 100644 index 74b8eddd..00000000 --- a/docs/development/devtools/db-migrator-smoke.rst +++ /dev/null @@ -1,422 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution -.. 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Policy DB Migrator Smoke Tests -############################## - -Prerequisites -************* - -Check number of files in each release - -.. code:: - :number-lines: - - ls 0800/upgrade/*.sql | wc -l = 96 - ls 0900/upgrade/*.sql | wc -l = 13 - ls 1000/upgrade/*.sql | wc -l = 9 - ls 0800/downgrade/*.sql | wc -l = 96 - ls 0900/downgrade/*.sql | wc -l = 13 - ls 1000/downgrade/*.sql | wc -l = 9 - -Upgrade scripts -=============== - -.. code:: - :number-lines: - - /opt/app/policy/bin/prepare_upgrade.sh policyadmin - /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade # upgrade to Jakarta version (latest) - /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade -t 0900 # upgrade to Istanbul - /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade -t 0800 # upgrade to Honolulu - -.. note:: - You can also run db-migrator upgrade with the -t and -f options - -Downgrade scripts -================= - -.. code:: - :number-lines: - - /opt/app/policy/bin/prepare_downgrade.sh policyadmin - /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0900 # downgrade to Istanbul - /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0800 # downgrade to Honolulu - /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0 # delete all tables - -Db migrator initialization script -================================= - -Update /oom/kubernetes/policy/resources/config/db_migrator_policy_init.sh with the appropriate upgrade/downgrade calls. - -The policy version you are deploying should either be an upgrade or downgrade from the current db migrator schema version. - -Every time you modify db_migrator_policy_init.sh you will have to undeploy, make and redeploy before updates are applied. - -1. Fresh Install -**************** - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 118 - * - Tables in policyadmin - - 70 - * - Records Added - - 118 - * - schema_version - - 1000 - -2. Downgrade to Honolulu (0800) -******************************* - -Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" tagged as Honolulu - -Make/Redeploy to run downgrade. - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 13 - * - Tables in policyadmin - - 73 - * - Records Added - - 13 - * - schema_version - - 0800 - -3. Upgrade to Istanbul (0900) -***************************** - -Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts". - -Make/Redeploy to run upgrade. - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 13 - * - Tables in policyadmin - - 75 - * - Records Added - - 13 - * - schema_version - - 0900 - -4. Upgrade to Istanbul (0900) without any information in the migration schema -***************************************************************************** - -Ensure you are on release 0800. (This may require running a downgrade before starting the test) - -Drop db-migrator tables in migration schema: - -.. code:: - :number-lines: - - DROP TABLE schema_versions; - DROP TABLE policyadmin_schema_changelog; - -Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts". - -Make/Redeploy to run upgrade. - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 13 - * - Tables in policyadmin - - 75 - * - Records Added - - 13 - * - schema_version - - 0900 - -5. Upgrade to Istanbul (0900) after failed downgrade -**************************************************** - -Ensure you are on release 0900. - -Rename pdpstatistics table in policyadmin schema: - -.. code:: - - RENAME TABLE pdpstatistics TO backup_pdpstatistics; - -Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" - -Make/Redeploy to run downgrade - -This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) - -Rename backup_pdpstatistic table in policyadmin schema: - -.. code:: - - RENAME TABLE backup_pdpstatistics TO pdpstatistics; - -Modify db_migrator_policy_init.sh - Remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" - -Make/Redeploy to run upgrade - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 11 - * - Tables in policyadmin - - 75 - * - Records Added - - 11 - * - schema_version - - 0900 - -6. Downgrade to Honolulu (0800) after failed downgrade -****************************************************** - -Ensure you are on release 0900. - -Add timeStamp column to papdpstatistics_enginestats: - -.. code:: - - ALTER TABLE jpapdpstatistics_enginestats ADD COLUMN timeStamp datetime DEFAULT NULL NULL AFTER UPTIME; - -Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" - -Make/Redeploy to run downgrade - -This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) - -Remove timeStamp column from jpapdpstatistics_enginestats: - -.. code:: - - ALTER TABLE jpapdpstatistics_enginestats DROP COLUMN timeStamp; - -The config job will retry 5 times. If you make your fix before this limit is reached you won't need to redeploy. - -Redeploy to run downgrade - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 14 - * - Tables in policyadmin - - 73 - * - Records Added - - 14 - * - schema_version - - 0800 - -7. Downgrade to Honolulu (0800) after failed upgrade -**************************************************** - -Ensure you are on release 0800. - -Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" - -Update pdpstatistics: - -.. code:: - - ALTER TABLE pdpstatistics ADD COLUMN POLICYUNDEPLOYCOUNT BIGINT DEFAULT NULL NULL AFTER POLICYEXECUTEDSUCCESSCOUNT; - -Make/Redeploy to run upgrade - -This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) - -Once the retry count has been reached, update pdpstatistics: - -.. code:: - - ALTER TABLE pdpstatistics DROP COLUMN POLICYUNDEPLOYCOUNT; - -Modify db_migrator_policy_init.sh - Remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" - -Make/Redeploy to run downgrade - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 7 - * - Tables in policyadmin - - 73 - * - Records Added - - 7 - * - schema_version - - 0800 - -8. Upgrade to Istanbul (0900) after failed upgrade -************************************************** - -Ensure you are on release 0800. - -Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" - -Update PDP table: - -.. code:: - - ALTER TABLE pdp ADD COLUMN LASTUPDATE datetime NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER HEALTHY; - -Make/Redeploy to run upgrade - -This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) - -Update PDP table: - -.. code:: - - ALTER TABLE pdp DROP COLUMN LASTUPDATE; - -The config job will retry 5 times. If you make your fix before this limit is reached you won't need to redeploy. - -Redeploy to run upgrade - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 14 - * - Tables in policyadmin - - 75 - * - Records Added - - 14 - * - schema_version - - 0900 - -9. Downgrade to Honolulu (0800) with data in pdpstatistics and jpapdpstatistics_enginestats -******************************************************************************************* - -Ensure you are on release 0900. - -Check pdpstatistics and jpapdpstatistics_enginestats are populated with data. - -.. code:: - :number-lines: - - SELECT count(*) FROM pdpstatistics; - SELECT count(*) FROM jpapdpstatistics_enginestats; - -Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" - -Make/Redeploy to run downgrade - -Check the tables to ensure the number of records is the same. - -.. code:: - :number-lines: - - SELECT count(*) FROM pdpstatistics; - SELECT count(*) FROM jpapdpstatistics_enginestats; - -Check pdpstatistics to ensure the primary key has changed: - -.. code:: - - SELECT column_name, constraint_name FROM information_schema.key_column_usage WHERE table_name='pdpstatistics'; - -Check jpapdpstatistics_enginestats to ensure id column has been dropped and timestamp column added. - -.. code:: - - SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'jpapdpstatistics_enginestats'; - -Check the pdp table to ensure the LASTUPDATE column has been dropped. - -.. code:: - - SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'pdp'; - - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 13 - * - Tables in policyadmin - - 73 - * - Records Added - - 13 - * - schema_version - - 0800 - -10. Upgrade to Istanbul (0900) with data in pdpstatistics and jpapdpstatistics_enginestats -****************************************************************************************** - -Ensure you are on release 0800. - -Check pdpstatistics and jpapdpstatistics_enginestats are populated with data. - -.. code:: - :number-lines: - - SELECT count(*) FROM pdpstatistics; - SELECT count(*) FROM jpapdpstatistics_enginestats; - -Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" - -Make/Redeploy to run upgrade - -Check the tables to ensure the number of records is the same. - -.. code:: - :number-lines: - - SELECT count(*) FROM pdpstatistics; - SELECT count(*) FROM jpapdpstatistics_enginestats; - -Check pdpstatistics to ensure the primary key has changed: - -.. code:: - - SELECT column_name, constraint_name FROM information_schema.key_column_usage WHERE table_name='pdpstatistics'; - -Check jpapdpstatistics_enginestats to ensure timestamp column has been dropped and id column added. - -.. code:: - - SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'jpapdpstatistics_enginestats'; - -Check the pdp table to ensure the LASTUPDATE column has been added and the value has defaulted to the CURRENT_TIMESTAMP. - -.. code:: - - SELECT table_name, column_name, data_type, column_default FROM information_schema.columns WHERE table_name = 'pdp'; - -.. list-table:: - :widths: 60 20 - :header-rows: 0 - - * - Number of files run - - 13 - * - Tables in policyadmin - - 75 - * - Records Added - - 13 - * - schema_version - - 0900 - -.. note:: - The number of records added may vary depending on the number of retries. - -With addition of Postgres support to db-migrator, these tests can be also performed on a Postgres version of database. -In addition, scripts running the aforementioned scenarios can be found under `smoke-tests` folder on db-migrator code base. - -End of Document diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst index f52a8c3f..a9caf9a8 100644 --- a/docs/development/devtools/devtools.rst +++ b/docs/development/devtools/devtools.rst @@ -302,18 +302,18 @@ familiar with the Policy Framework components and test any local changes. .. toctree:: :maxdepth: 1 - policy-gui-acm-smoke.rst - db-migrator-smoke.rst + smoke/policy-gui-acm-smoke.rst + smoke/db-migrator-smoke.rst smoke/acm-participants-smoke.rst smoke/clamp-smoke.rst smoke/clamp-ac-participant-protocol-smoke.rst smoke/policy-participant-smoke.rst - api-smoke.rst - pap-smoke.rst - apex-smoke.rst - drools-smoke.rst - xacml-smoke.rst - distribution-smoke.rst + smoke/api-smoke.rst + smoke/pap-smoke.rst + smoke/apex-smoke.rst + smoke/drools-smoke.rst + smoke/xacml-smoke.rst + smoke/distribution-smoke.rst Running the Stability/Performance Tests diff --git a/docs/development/devtools/distribution-smoke.rst b/docs/development/devtools/distribution-smoke.rst deleted file mode 100644 index c0e3cb1d..00000000 --- a/docs/development/devtools/distribution-smoke.rst +++ /dev/null @@ -1,137 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-distribution-smoke-testing-label: - -Policy Distribution Smoke Test -################################ - -The policy-distribution smoke testing is executed against a custom ONAP docker installation as defined in the docker compose file in "policy/docker/csit/". -The policy-distribution configuration file is located in "docker/csit/config/distribution/". -This test verifies the execution of the REST api's exposed by the component to make sure the CSAR Decoding and Forwarding works as expected. - -General Setup -***************** -In policy/docker/csit/ - -.. code-block:: bash - - ./start-grafana.sh distribution - -This script will compose the ONAP components used during the smoke tests are: - -- Policy API to perform CRUD of policies. -- Policy DB to store the policies, and DB Migrator to start the db. -- DMAAP Simulator for the communication between components. -- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). -- Policy Apex-PDP to deploy & undeploy policies. And send heartbeats to PAP. -- Policy Drools-PDP to deploy & undeploy policies. And send heartbeats to PAP. -- Policy Xacml-PDP to deploy & undeploy policies. And send heartbeats to PAP. - -- Policy Distribution to test the Decoding and Forwarding functions. - -Use this script to easily bring down the containers : - -.. code-block:: bash - - ./stop-grafana.sh - -Testing procedure -********************** - -The test set is focused on the following use cases: - -- Wait until Distribution starts and reach the built-in REST endpoints for fetching healthcheck & statistics. -- Execute some of the REST api's exposed by policy-pap component. - -Starting Policy Distribution ------------------------------------- - -Check the docker logs to see when Distribution service is up and running. - -Get the ips of distribution and pap services: - -.. code:: - :number-lines: - - ./get-instance-ip.sh policy-distribution - ./get-instance-ip.sh policy-pap - -Health check status & statistical data of running distribution system. - -.. code-block:: bash - - curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/healthcheck - curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/statistics - -Expected result for healthcheck - -.. code-block:: json - - {"name":"Policy SSD","url":"policy-distribution","healthy":true,"code":200,"message":"alive"} - -Expected result for statistics - -.. code-block:: json - - {"code":200,"totalDistributionCount":0,"distributionSuccessCount":0,"distributionFailureCount":0,"totalDownloadCount":0,"downloadSuccessCount":0,"downloadFailureCount":0} - -Trigger Policy Distribution Core ------------------------------------------- - -In order to test policy-distribution, we need to trigger the decoding copying a .csar in the mapped volume, -defined in the docker-compose-distribution-smoke.yml as : - -.. code-block:: yaml - - volumes: - - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/ - -So now copy the "sample_csar_with_apex_policy.csar" from ./distribution/config/csar/ to ./distribution/config/temp/ - -If the commissioning is successful we should see from the logs this message - -.. image:: images/message-commissioning-participant.png - -So if we check the distribution statistics again - -.. code-block:: bash - - {"code":200,"totalDistributionCount":1,"distributionSuccessCount":1,"distributionFailureCount":0,"totalDownloadCount":1,"downloadSuccessCount":1,"downloadFailureCount":0} - -Execute policy-pap testing ------------------------------------- -.. note:: - The user for pap is different. - -Check the details of policies deployed - -.. code-block:: bash - - curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/status - -Expected SUCCESS result - -.. code-block:: json - - [{"pdpGroup":"defaultGroup","pdpType":"apex","pdpId":"apex-91fa25a1-0456-42fa-9556-6a4d2bd613fc","policy":{"name":"operational.apex.sampledomain","version":"1.0.0"},"policyType":{"name":"onap.policies.native.Apex","version":"1.0.0"},"deploy":true,"state":"SUCCESS"},{"pdpGroup":"defaultGroup","pdpType":"xacml","pdpId":"xacml-83e19452-0854-41dd-9f17-8b0a68f11813","policy":{"name":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","version":"1.0.0"},"policyType":{"name":"onap.policies.Naming","version":"1.0.0"},"deploy":true,"state":"SUCCESS"}] - -Check number of policies deployed - -.. code-block:: bash - - curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/deployed - -Expected success-count result - -.. code-block:: json - - [{"policy-type":"onap.policies.native.Apex","policy-type-version":"1.0.0","policy-id":"operational.apex.sampledomain","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0},{"policy-type":"onap.policies.Naming","policy-type-version":"1.0.0","policy-id":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0}] - -Or download & execute the steps in postman collection for verifying policy-pap component. -The steps need to be performed sequentially one after another. And no input is required from user. - -`Policy Framework Administration API `_ - -Make sure to execute the delete steps in order to clean the setup after testing. diff --git a/docs/development/devtools/drools-smoke.rst b/docs/development/devtools/drools-smoke.rst deleted file mode 100644 index 363bb503..00000000 --- a/docs/development/devtools/drools-smoke.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-api-smoke-testing-label: - -.. toctree:: - :maxdepth: 2 - -Policy Drools PDP and Applications Smoke Test -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The policy-drools-pdp smoke testing can be executed against a kubernetes based ONAP installation, -and/or a docker-compose set up similar to the one executed by CSIT tests. - -General Setup -************* - -ONAP OOM kubernetes -------------------- - -For installation instructions, please refer to the following documentation: - -`OOM Documentation `_ - -At a minimum policy needs the following components installed: - -- onap base charts -- AAF for certificate generation -- DMaaP message-router for communication among policy components. - -AAI, SO and other components can be simulated by installing the simulator charts: - -`Policy Simulator Helm Chart `_ - -docker-compose based --------------------- - -A smaller testing environment can be put together by replicating the CSIT test environment: - -`Policy CSIT Test infrastructure `_ - -Testing procedures -****************** - -The smoke tests should be focused on verifying the proper workings of drools -and dependent components. The following scenarios should be considered: - -- PDP-D registration with PAP. -- PDP-D restarts and re-registration with PAP. -- Proper workings of telemetry tool. -- Exploration of correct PDP-D states with the telemetry tool. -- Statistics and prometheus metrics. -- Verify correct states of API, PAP, and controllers using the PDP-D healthchecks. -- Verify distributed locking capability and proper use of the database. -- Verify vCPE, vDNS, and vFirewall use cases and recorded metrics. - -The following testsuites contain everything necessary for the previous verifications: -- `CSIT Robot framework `_ -- `JMeter S3P `_ - diff --git a/docs/development/devtools/images/gui/ChangeState.png b/docs/development/devtools/images/gui/ChangeState.png deleted file mode 100644 index 9e40b30a..00000000 Binary files a/docs/development/devtools/images/gui/ChangeState.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/CommissioningMessageOnParticipant.png b/docs/development/devtools/images/gui/CommissioningMessageOnParticipant.png deleted file mode 100644 index 5fbe37f6..00000000 Binary files a/docs/development/devtools/images/gui/CommissioningMessageOnParticipant.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/CommissioningModal.png b/docs/development/devtools/images/gui/CommissioningModal.png deleted file mode 100644 index 6e54ec7b..00000000 Binary files a/docs/development/devtools/images/gui/CommissioningModal.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/CommissioningUpload.png b/docs/development/devtools/images/gui/CommissioningUpload.png deleted file mode 100644 index a047019b..00000000 Binary files a/docs/development/devtools/images/gui/CommissioningUpload.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/CommonPropertiesModal.png b/docs/development/devtools/images/gui/CommonPropertiesModal.png deleted file mode 100644 index 9e270b81..00000000 Binary files a/docs/development/devtools/images/gui/CommonPropertiesModal.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/CreateInstancePropsModal.png b/docs/development/devtools/images/gui/CreateInstancePropsModal.png deleted file mode 100644 index d0039486..00000000 Binary files a/docs/development/devtools/images/gui/CreateInstancePropsModal.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/InstanceUninitialised.png b/docs/development/devtools/images/gui/InstanceUninitialised.png deleted file mode 100644 index e2fbe49b..00000000 Binary files a/docs/development/devtools/images/gui/InstanceUninitialised.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/ManageInstancesModal.png b/docs/development/devtools/images/gui/ManageInstancesModal.png deleted file mode 100644 index 2e6e9d2c..00000000 Binary files a/docs/development/devtools/images/gui/ManageInstancesModal.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/PassiveState.png b/docs/development/devtools/images/gui/PassiveState.png deleted file mode 100644 index abc7ed22..00000000 Binary files a/docs/development/devtools/images/gui/PassiveState.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/PolicySuccess.png b/docs/development/devtools/images/gui/PolicySuccess.png deleted file mode 100644 index 345bc933..00000000 Binary files a/docs/development/devtools/images/gui/PolicySuccess.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/PolicyTypeNotPresent.png b/docs/development/devtools/images/gui/PolicyTypeNotPresent.png deleted file mode 100644 index 8085b0a3..00000000 Binary files a/docs/development/devtools/images/gui/PolicyTypeNotPresent.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/PolicyTypeSuccess.png b/docs/development/devtools/images/gui/PolicyTypeSuccess.png deleted file mode 100644 index 81004579..00000000 Binary files a/docs/development/devtools/images/gui/PolicyTypeSuccess.png and /dev/null differ diff --git a/docs/development/devtools/images/gui/ViewEditedCommonProperties.png b/docs/development/devtools/images/gui/ViewEditedCommonProperties.png deleted file mode 100644 index b546569d..00000000 Binary files a/docs/development/devtools/images/gui/ViewEditedCommonProperties.png and /dev/null differ diff --git a/docs/development/devtools/images/message-commissioning-participant.png b/docs/development/devtools/images/message-commissioning-participant.png deleted file mode 100644 index 82957848..00000000 Binary files a/docs/development/devtools/images/message-commissioning-participant.png and /dev/null differ diff --git a/docs/development/devtools/pap-smoke.rst b/docs/development/devtools/pap-smoke.rst deleted file mode 100644 index a5f54c06..00000000 --- a/docs/development/devtools/pap-smoke.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-pap-smoke-testing-label: - -.. toctree:: - :maxdepth: 2 - -Policy PAP Smoke Test -~~~~~~~~~~~~~~~~~~~~~ - -The policy-pap smoke testing is executed against a default ONAP installation as per OOM charts. -This test verifies the execution of all the REST api's exposed by the component to make sure the contract works as expected. - -General Setup -************* - -The kubernetes installation will allocate all onap components across multiple worker node VMs. -The normal worker VM hosting onap components has the following spec: - -- 16GB RAM -- 8 VCPU -- 160GB Ephemeral Disk - - -The ONAP components used during the smoke tests are: - -- Policy API to perform CRUD of policies. -- Policy DB to store the policies. -- DMaaP for the communication between components. -- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). -- Policy Apex-PDP to deploy & undeploy policies. And send heartbeats to PAP. -- Policy Drools-PDP to deploy & undeploy policies. And send heartbeats to PAP. -- Policy Xacml-PDP to deploy & undeploy policies. And send heartbeats to PAP. - - -Testing procedure -***************** - -The test set is focused on the following use cases: - -- Execute all the REST api's exposed by policy-pap component. - -Create policies using policy-api --------------------------------- -In order to test policy-pap, we need to use policy-api component to create the policies. - -Download & execute the steps in postman collection for creating policies. -The steps need to be performed sequentially one after another. And no input is required from user. - -`Policy Framework Lifecycle API `_ - -Make sure to skip the delete policy steps. - - -Execute policy-pap testing --------------------------- -Download & execute the steps in postman collection for verifying policy-pap component. -The steps need to be performed sequentially one after another. And no input is required from user. - -`Policy Framework Administration API `_ - -Make sure to execute the delete steps in order to clean the setup after testing. - - -Delete policies using policy-api --------------------------------- -Use the previously downloaded policy-api postman collection to delete the policies created for testing. diff --git a/docs/development/devtools/policy-gui-acm-smoke.rst b/docs/development/devtools/policy-gui-acm-smoke.rst deleted file mode 100644 index cd600199..00000000 --- a/docs/development/devtools/policy-gui-acm-smoke.rst +++ /dev/null @@ -1,277 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -.. _clamp-gui-acm-smoke-tests: - -CLAMP GUI Smoke Tests ---------------------- -1. Introduction -*************** -The CLAMP GUI for Automation Compositions is designed to provide a user the ability to interact -with the Automation Composition Runtime to perform several actions. - -- Commission new Tosca Service Templates. -- Editing Common Properties. -- Decommission existing Tosca Service Templates. -- Create new instances of Automation Compositions. -- Change the state of the Automation Compositions. -- Delete Automation Compositions. - -This document will serve as a guide to do smoke tests on the different components that are involved when working with the GUI and outline how they operate. It will also show a developer how to set up their environment for carrying out smoke tests on the GUI. - -2. Setup Guide -************** -This section will show the developer how to set up their environment to start testing in GUI with some instruction on how to carry out the tests. There are several prerequisites. Note that this guide is written by a Linux user - although the majority of the steps show will be exactly the same in Windows or other systems. The IDE used in the examples here is Intellij but most or all of what is described should be the same across IDEs. - -2.1 Prerequisites -================= -- Java 11 -- node -- npm -- Docker -- Maven 3 -- Git -- Refer to this guide for basic environment setup `Setting up dev environment `_ - -2.2 Assumptions -=============== -- You are accessing the policy repositories through gerrit -- You are using "git review". - -The following repositories are required for development in this project. These repositories should be present on your machine and you should run "mvn clean install" on all of them so that the packages are present in your .m2 repository. - -- policy/parent -- policy/common -- policy/models -- policy/clamp -- policy/docker -- policy/gui -- policy/api - -In this setup guide, we will be setting up all the components technically required for a working convenient dev environment. We will not be setting up all of the participants - we will setup only the policy participant as an example. - -2.3 Setting up the components -============================= - -2.3.3 MariaDB Setup -^^^^^^^^^^^^^^^^^^^ -We will be using Docker to run our mariadb instance. It will have a total of three databases running in it. - -- acm: the clampacm db -- cldsdb4: the clamp backend db -- policyadmin: the policy-api db - -The easiest way to do this is to perform a small alteration on an SQL script provided by the clamp backend in the file "runtime/extra/sql/bulkload/create-db.sql" - -.. code-block:: mysql - - CREATE DATABASE `cldsdb4`; - USE `cldsdb4`; - DROP USER 'clds'; - CREATE USER 'clds'; - GRANT ALL on cldsdb4.* to 'clds' identified by 'sidnnd83K' with GRANT OPTION; - CREATE DATABASE `clampacm`; - USE `clampacm`; - DROP USER 'policy'; - CREATE USER 'policy'; - GRANT ALL on clampacm.* to 'policy' identified by 'P01icY' with GRANT OPTION; - CREATE DATABASE `policyadmin`; - USE `policyadmin`; - DROP USER 'policy_user'; - CREATE USER 'policy_user'; - GRANT ALL on clampacm.* to 'policy_user' identified by 'policy_user' with GRANT OPTION; - FLUSH PRIVILEGES; - -Once this has been done, we can run the bash script provided here: "runtime/extra/bin-for-dev/start-db.sh" - -.. code-block:: bash - - ./start-db.sh - -This will setup all three databases. It will also ensure that the tables in cldsdb4 are created. The database will be exposed locally on port 3306 and will be backed by an anonymous docker volume. - -2.3.4 DMAAP Simulator -^^^^^^^^^^^^^^^^^^^^^ -For convenience, a dmaap simulator has been provided in the policy/models repository. To start the simulator, you can do the following: - -1. Navigate to /models-sim/policy-models-simulators in the policy/models repository. -2. Add a configuration file to src/test/resources with the following contents: - -.. code-block:: json - - { - "dmaapProvider":{ - "name":"DMaaP simulator", - "topicSweepSec":900 - }, - "restServers":[ - { - "name":"DMaaP simulator", - "providerClass":"org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", - "host":"localhost", - "port":3904, - "https":false - } - ] - } - -3. You can then start dmaap with: - -.. code-block:: bash - - mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/YOUR_CONF_FILE.json" - -At this stage the dmaap simulator should be running on your local machine on port 3904. - -2.3.5 Policy API -^^^^^^^^^^^^^^^^ -In the policy-api repo, you should fine the file "src/main/resources/etc/defaultConfig.json". This file must be altered slightly - as below with the restServerParameters and databaseProviderParameters shown. Note how the database parameters match-up with what you setup in Mariadb: - -.. code-block:: json - - { - "restServerParameters": { - "host": "0.0.0.0", - "port": 6970, - "userName": "healthcheck", - "password": "zb!XztG34", - "prometheus": true, - "https": false, - "aaf": false - }, - "databaseProviderParameters": { - "name": "PolicyProviderParameterGroup", - "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl", - "databaseDriver": "org.mariadb.jdbc.Driver", - "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin", - "databaseUser": "policy_user", - "databasePassword": "policy_user", - "persistenceUnit": "PolicyMariaDb" - }, - } - -Next, navigate to the "/main" directory. You can then run the following command to start the policy api: - -.. code-block:: bash - - mvn exec:java -Dexec.mainClass=org.onap.policy.api.main.startstop.Main -Dexec.args=" -c ../packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json" - -2.3.6 Clamp Backend -^^^^^^^^^^^^^^^^^^^ -The Clamp Backend can potentially make calls to policy pap, policy api, cds, sdc and others. For acm development purposes, we only need to connect with the acm runtime api. For convenience, there has been an emulator provided to respond to requests from Clamp to all those services that we do not care about. This emulator can be run by running the following bash script "runtime/extra/bin-for-dev/start-emulator.sh" - -.. code-block:: bash - - ./start-emulator.sh - -Once the emulator is running, we can then run the clamp backend. Before doing this, we need to make sure that all of the calls from the clamp backend are directed towards the correct places. We can do this by editing the application-noaaf.properties file: "src/main/resources/application-noaaf.properties". For development purposes and because we are running the components in a non-https way, this file will not need to be altered currently. The clamp backend can then be run with the script "runtime/extra/bin-for-dev/start-backend.sh". - -.. code-block:: bash - - ./start-backend.sh - -Once the clamp backend is running, we can start the acm runtime. - -2.3.7 Automation Composition Runtime -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To start the acm runtime we need to go the "runtime-acm" directory in the clamp repo. There is a config file that is used, by default, for the acm runtime. That config file is here: "src/main/resources/application.yaml". For development in your local environment, it shouldn't need any adjustment and we can just run the acm runtime with: - -.. code-block:: bash - - mvn spring-boot:run - -2.3.8 Automation Composition GUI -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -At this point, all of the components required to test out the acm gui are running. We can start to make changes, and have those changes reflected in the UI for immediate feedback on our changes. But first, we must run the GUI. - -Firstly, go to the GUI repo and navigate to "gui-clamp/ui-react". To setup for development, we must install the dependencies of the GUI. We can do this using the npm package manager. In the directory, simply run: - -.. code-block:: bash - - npm install - -This will trigger installation of the required packages. The application is configured to proxy all relevant calls to the clamp backend. The application can be started with a simple: - -.. code-block:: bash - - npm start - -This uses nodes internal test dev web server to server the GUI. Once started, you can navigate to the server at "localhost:3000" and login with "admin/password". - -That completes the development setup of the environment. - -3. Running Tests -**************** -In this section, we will run through the functionalities mentioned at the start of this document is section 1. Each functionality will be tested and we will confirm that they were carried out successfully. There is a tosca service template that can be used for this test - -:download:`Tosca Service Template ` - - -3.1 Commissioning -================= -We can carry out commissioning using the GUI. To do so, from the main page, we can select "Upload Tosca to Commissioning" as shown in the image below: - -.. image:: images/gui/CommissioningUpload.png - -Clicking this will take us to a screen where we can upload a file. Select a file to upload and click on the upload button. - -.. image:: images/gui/CommissioningModal.png - -After clicking upload, you should get a message on the modal to tell you that the upload was successful. You can then look in the logs of the policy-participant to see that the message has been received from the runtime: - -.. image:: images/gui/CommissioningMessageOnParticipant.png - -This confirms that commissioning has been complete. - -3.2 Edit Common Properties -========================== -At this stage we can edit the common properties. These properties will be common to all instances of the automation composition definitions we uploaded with the tosca service template. Once an instance is created, we will not be able to alter these common properties again. We can simply click on "Edit Common Properties" in the dropdown menu and we will be taken to the modal shown below. - -.. image:: images/gui/CommonPropertiesModal.png - -The arrows to the left of the modal can be used to expand and contract the elements. If we expand one of the elements, we can see that the provider is one of the properties that we can edit. Edit this property to be "Ericsson Software Technologies". Press "Save" and then press "Commission". You should get a success message. Once you do, you can look at the full tosca service template to confirm the change in provider has been recorder. Click on "Manage Commissioned Tosca Template". Then click on "Pull Tosca Service Template". You should receive the full template on the screen. You should find your change as shown below. - -.. image:: images/gui/ViewEditedCommonProperties.png - -3.3 Create New Instances of Automation Compositions -=================================================== -Once the template is commissioned, we can start to create instances. In the dropdown, click on "Instantiation Management". In the modal, you will see an empty table, as shown. - -.. image:: images/gui/ManageInstancesModal.png - -Then we will click on "Create Instance". That takes us to a page where we can edit the properties of the instance. Not the common properties, but the instance properties. The last element has Provider set as an instance property. In the same way as we did for the common properties, change the provider to "Some Other Company" - then click save. You should get a success message if all went ok. You can then go back to the instantiation management table and you should now see an instance there. - -.. image:: images/gui/InstanceUninitialised.png - -Since the instance is uninitialised, the policies and policy types are not being deployed to the policy api. We can confirm this by looking at the policy-apis database. See the image below. - -.. image:: images/gui/PolicyTypeNotPresent.png - -3.3 Change the State of the Instance -==================================== -Now we will change the instance state to PASSIVE. This should trigger the deployment of the policy types onto the policy-api. To trigger the change of state, click on the "change" button on the instance in the instance management table. This will bring up another modal to allow you to change the state. - -.. image:: images/gui/ChangeState.png - -Pick PASSIVE and then click save. If we once again navigate to the Instance Management table, we can see that our actual state has become passive. - -.. image:: images/gui/PassiveState.png - -This should also mean that our policies and policy types should be written to the policy-api database. We can query that DB again. In the images below, we can see that the policies and the policy types have been written successfully. - -.. image:: images/gui/PolicyTypeSuccess.png - -and - -.. image:: images/gui/PolicySuccess.png - -Following the same procedure as changing the state to PASSIVE, we can then change to UNINITIALISED. This deletes the policies and policy types through the policy api and changes the overall state of the loop. we can then delete it from the Manage Instances table by clicking on Delete. - -Decommissioning -=============== -Finally, we can decommission the template. On the dropdown menu, click "Manage Commissioned Tosca Template" and then pull it. Clicking the "Delete Tosca Service Template" button will fully decommission the template. You will receive a success message if the deletion was successful. - -.. image:: images/gui/ViewEditedCommonProperties.png - -This concluded the required smoke tests - - diff --git a/docs/development/devtools/smoke/apex-smoke.rst b/docs/development/devtools/smoke/apex-smoke.rst new file mode 100644 index 00000000..3ad44fdd --- /dev/null +++ b/docs/development/devtools/smoke/apex-smoke.rst @@ -0,0 +1,108 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-apex-smoke-testing-label: + +.. toctree:: + :maxdepth: 2 + +Apex-PDP Smoke Test +~~~~~~~~~~~~~~~~~~~ + +The apex-pdp smoke testing is executed against a default ONAP installation as per OOM charts. +This test verifies the functionalities supported by apex-pdp to make sure they are working as expected. + +General Setup +************* + +The kubernetes installation will allocate all onap components across multiple worker node VMs. +The normal worker VM hosting onap components has the following spec: + +- 16GB RAM +- 8 VCPU +- 160GB Ephemeral Disk + + +The ONAP components used during the smoke tests are: + +- AAI for creating dummy VNF & PNF for testing purpose. +- CDS for publishing the blueprints & triggering the actions. +- DMaaP for the communication between components. +- Policy API to perform CRUD of policies. +- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). +- Policy Apex-PDP to execute policies for both VNF & PNF scenarios. + + +Testing procedure +***************** + +The test set is focused on the following use cases: + +- End to end testing of a sample VNF based policy using Apex-PDP. +- End to end testing of a sample PNF based policy using Apex-PDP. + +Creation of VNF & PNF in AAI +---------------------------- +In order for PDP engines to fetch the resource details from AAI during runtime execution, we need to create dummy VNF & PNF entities in AAI. +In a real control loop flow, the entities in AAI will be either created during orchestration phase or provisioned in AAI separately. + +Download & execute the steps in postman collection for creating the entities along with its dependencies. +The steps need to be performed sequentially one after another. And no input is required from user. + +:download:`Create VNF & PNF in AAI ` + +Make sure to skip the delete VNF & PNF steps. + + +Publish Blueprints in CDS +------------------------- +In order for PDP engines to trigger an action in CDS during runtime execution, we need to publish relevant blueprints in CDS. + +Download the zip files containing the blueprint for VNF & PNF specific actions. + +:download:`VNF Test CBA ` +:download:`PNF Test CBA ` + +Download & execute the steps in postman collection for publishing the blueprints in CDS. +In the enrich & publish CBA step, provide the previously downloaded zip file one by one. +The execute steps are provided to verify that the blueprints are working as expected. + +:download:`Publish Blueprints in CDS ` + +Make sure to skip the delete CBA step. + + +Apex-PDP VNF & PNF testing +-------------------------- +The below provided postman collection is prepared to have end to end testing experience of apex-pdp engine. +Including both VNF & PNF scenarios. +List of steps covered in the postman collection: + +- Create & Verify VNF & PNF policies as per policy type supported by apex-pdp. +- Deploy both VNF & PNF policies to apex-pdp engine. +- Query PdpGroup at multiple stages to verify current set of policies deployed. +- Fetch policy status at multiple stages to verify policy deployment & undeployment status. +- Fetch policy audit information at multiple stages to verify policy deployment & undeployment operations. +- Fetch PDP Statistics at multiple stages to verify deployment, undeployment & execution counts. +- Send onset events to DMaaP for triggering policies to test both success & failure secnarios. +- Read policy notifications from DMaaP to verify policy execution. +- Undeploy both VNF & PNF policies from apex-pdp engine. +- Delete both VNF & PNF policies at the end. + +Download & execute the steps in postman collection. +The steps need to be performed sequentially one after another. And no input is required from user. + +:download:`Apex-PDP VNF & PNF Testing ` + +Make sure to wait for 2 minutes (the default heartbeat interval) to verify PDP Statistics. + + +Delete Blueprints in CDS +------------------------ +Use the previously downloaded CDS postman collection to delete the blueprints published in CDS for testing. + + +Delete VNF & PNF in AAI +----------------------- +Use the previously downloaded AAI postman collection to delete the VNF & PNF entities created in AAI for testing. diff --git a/docs/development/devtools/smoke/api-smoke.rst b/docs/development/devtools/smoke/api-smoke.rst new file mode 100644 index 00000000..8230f33b --- /dev/null +++ b/docs/development/devtools/smoke/api-smoke.rst @@ -0,0 +1,47 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-api-smoke-testing-label: + +.. toctree:: + :maxdepth: 2 + +Policy API Smoke Test +~~~~~~~~~~~~~~~~~~~~~ + +The policy-api smoke testing is executed against a default ONAP installation as per OOM charts. +This test verifies the execution of all the REST api's exposed by the component to make sure the contract works as expected. + +General Setup +************* + +The kubernetes installation will allocate all onap components across multiple worker node VMs. +The normal worker VM hosting onap components has the following spec: + +- 16GB RAM +- 8 VCPU +- 160GB Ephemeral Disk + + +The ONAP components used during the smoke tests are: + +- Policy API to perform CRUD of policies. +- Policy DB to store the policies. + + +Testing procedure +***************** + +The test set is focused on the following use cases: + +- Execute all the REST api's exposed by policy-api component. + +Execute policy-api testing +-------------------------- +Download & execute the steps in postman collection for verifying policy-api component. +The steps need to be performed sequentially one after another. And no input is required from user. + +`Policy Framework Lifecycle API `_ + +Make sure to execute the delete steps in order to clean the setup after testing. diff --git a/docs/development/devtools/smoke/cds-cba/pnf-test-cba.zip b/docs/development/devtools/smoke/cds-cba/pnf-test-cba.zip new file mode 100644 index 00000000..393d4c5d Binary files /dev/null and b/docs/development/devtools/smoke/cds-cba/pnf-test-cba.zip differ diff --git a/docs/development/devtools/smoke/cds-cba/vnf-test-cba.zip b/docs/development/devtools/smoke/cds-cba/vnf-test-cba.zip new file mode 100644 index 00000000..3c0a689b Binary files /dev/null and b/docs/development/devtools/smoke/cds-cba/vnf-test-cba.zip differ diff --git a/docs/development/devtools/smoke/db-migrator-smoke.rst b/docs/development/devtools/smoke/db-migrator-smoke.rst new file mode 100644 index 00000000..74b8eddd --- /dev/null +++ b/docs/development/devtools/smoke/db-migrator-smoke.rst @@ -0,0 +1,422 @@ +.. This work is licensed under a Creative Commons Attribution +.. 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Policy DB Migrator Smoke Tests +############################## + +Prerequisites +************* + +Check number of files in each release + +.. code:: + :number-lines: + + ls 0800/upgrade/*.sql | wc -l = 96 + ls 0900/upgrade/*.sql | wc -l = 13 + ls 1000/upgrade/*.sql | wc -l = 9 + ls 0800/downgrade/*.sql | wc -l = 96 + ls 0900/downgrade/*.sql | wc -l = 13 + ls 1000/downgrade/*.sql | wc -l = 9 + +Upgrade scripts +=============== + +.. code:: + :number-lines: + + /opt/app/policy/bin/prepare_upgrade.sh policyadmin + /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade # upgrade to Jakarta version (latest) + /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade -t 0900 # upgrade to Istanbul + /opt/app/policy/bin/db-migrator -s policyadmin -o upgrade -t 0800 # upgrade to Honolulu + +.. note:: + You can also run db-migrator upgrade with the -t and -f options + +Downgrade scripts +================= + +.. code:: + :number-lines: + + /opt/app/policy/bin/prepare_downgrade.sh policyadmin + /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0900 # downgrade to Istanbul + /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0800 # downgrade to Honolulu + /opt/app/policy/bin/db-migrator -s policyadmin -o downgrade -t 0 # delete all tables + +Db migrator initialization script +================================= + +Update /oom/kubernetes/policy/resources/config/db_migrator_policy_init.sh with the appropriate upgrade/downgrade calls. + +The policy version you are deploying should either be an upgrade or downgrade from the current db migrator schema version. + +Every time you modify db_migrator_policy_init.sh you will have to undeploy, make and redeploy before updates are applied. + +1. Fresh Install +**************** + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 118 + * - Tables in policyadmin + - 70 + * - Records Added + - 118 + * - schema_version + - 1000 + +2. Downgrade to Honolulu (0800) +******************************* + +Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" tagged as Honolulu + +Make/Redeploy to run downgrade. + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 13 + * - Tables in policyadmin + - 73 + * - Records Added + - 13 + * - schema_version + - 0800 + +3. Upgrade to Istanbul (0900) +***************************** + +Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts". + +Make/Redeploy to run upgrade. + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 13 + * - Tables in policyadmin + - 75 + * - Records Added + - 13 + * - schema_version + - 0900 + +4. Upgrade to Istanbul (0900) without any information in the migration schema +***************************************************************************** + +Ensure you are on release 0800. (This may require running a downgrade before starting the test) + +Drop db-migrator tables in migration schema: + +.. code:: + :number-lines: + + DROP TABLE schema_versions; + DROP TABLE policyadmin_schema_changelog; + +Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts". + +Make/Redeploy to run upgrade. + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 13 + * - Tables in policyadmin + - 75 + * - Records Added + - 13 + * - schema_version + - 0900 + +5. Upgrade to Istanbul (0900) after failed downgrade +**************************************************** + +Ensure you are on release 0900. + +Rename pdpstatistics table in policyadmin schema: + +.. code:: + + RENAME TABLE pdpstatistics TO backup_pdpstatistics; + +Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" + +Make/Redeploy to run downgrade + +This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) + +Rename backup_pdpstatistic table in policyadmin schema: + +.. code:: + + RENAME TABLE backup_pdpstatistics TO pdpstatistics; + +Modify db_migrator_policy_init.sh - Remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" + +Make/Redeploy to run upgrade + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 11 + * - Tables in policyadmin + - 75 + * - Records Added + - 11 + * - schema_version + - 0900 + +6. Downgrade to Honolulu (0800) after failed downgrade +****************************************************** + +Ensure you are on release 0900. + +Add timeStamp column to papdpstatistics_enginestats: + +.. code:: + + ALTER TABLE jpapdpstatistics_enginestats ADD COLUMN timeStamp datetime DEFAULT NULL NULL AFTER UPTIME; + +Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" + +Make/Redeploy to run downgrade + +This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) + +Remove timeStamp column from jpapdpstatistics_enginestats: + +.. code:: + + ALTER TABLE jpapdpstatistics_enginestats DROP COLUMN timeStamp; + +The config job will retry 5 times. If you make your fix before this limit is reached you won't need to redeploy. + +Redeploy to run downgrade + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 14 + * - Tables in policyadmin + - 73 + * - Records Added + - 14 + * - schema_version + - 0800 + +7. Downgrade to Honolulu (0800) after failed upgrade +**************************************************** + +Ensure you are on release 0800. + +Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" + +Update pdpstatistics: + +.. code:: + + ALTER TABLE pdpstatistics ADD COLUMN POLICYUNDEPLOYCOUNT BIGINT DEFAULT NULL NULL AFTER POLICYEXECUTEDSUCCESSCOUNT; + +Make/Redeploy to run upgrade + +This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) + +Once the retry count has been reached, update pdpstatistics: + +.. code:: + + ALTER TABLE pdpstatistics DROP COLUMN POLICYUNDEPLOYCOUNT; + +Modify db_migrator_policy_init.sh - Remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" + +Make/Redeploy to run downgrade + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 7 + * - Tables in policyadmin + - 73 + * - Records Added + - 7 + * - schema_version + - 0800 + +8. Upgrade to Istanbul (0900) after failed upgrade +************************************************** + +Ensure you are on release 0800. + +Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" + +Update PDP table: + +.. code:: + + ALTER TABLE pdp ADD COLUMN LASTUPDATE datetime NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER HEALTHY; + +Make/Redeploy to run upgrade + +This should result in an error (last row in policyadmin_schema_changelog will have a success value of 0) + +Update PDP table: + +.. code:: + + ALTER TABLE pdp DROP COLUMN LASTUPDATE; + +The config job will retry 5 times. If you make your fix before this limit is reached you won't need to redeploy. + +Redeploy to run upgrade + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 14 + * - Tables in policyadmin + - 75 + * - Records Added + - 14 + * - schema_version + - 0900 + +9. Downgrade to Honolulu (0800) with data in pdpstatistics and jpapdpstatistics_enginestats +******************************************************************************************* + +Ensure you are on release 0900. + +Check pdpstatistics and jpapdpstatistics_enginestats are populated with data. + +.. code:: + :number-lines: + + SELECT count(*) FROM pdpstatistics; + SELECT count(*) FROM jpapdpstatistics_enginestats; + +Modify db_migrator_policy_init.sh - remove any lines referencing upgrade and add the 2 lines under "Downgrade scripts" + +Make/Redeploy to run downgrade + +Check the tables to ensure the number of records is the same. + +.. code:: + :number-lines: + + SELECT count(*) FROM pdpstatistics; + SELECT count(*) FROM jpapdpstatistics_enginestats; + +Check pdpstatistics to ensure the primary key has changed: + +.. code:: + + SELECT column_name, constraint_name FROM information_schema.key_column_usage WHERE table_name='pdpstatistics'; + +Check jpapdpstatistics_enginestats to ensure id column has been dropped and timestamp column added. + +.. code:: + + SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'jpapdpstatistics_enginestats'; + +Check the pdp table to ensure the LASTUPDATE column has been dropped. + +.. code:: + + SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'pdp'; + + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 13 + * - Tables in policyadmin + - 73 + * - Records Added + - 13 + * - schema_version + - 0800 + +10. Upgrade to Istanbul (0900) with data in pdpstatistics and jpapdpstatistics_enginestats +****************************************************************************************** + +Ensure you are on release 0800. + +Check pdpstatistics and jpapdpstatistics_enginestats are populated with data. + +.. code:: + :number-lines: + + SELECT count(*) FROM pdpstatistics; + SELECT count(*) FROM jpapdpstatistics_enginestats; + +Modify db_migrator_policy_init.sh - remove any lines referencing downgrade and add the 2 lines under "Upgrade scripts" + +Make/Redeploy to run upgrade + +Check the tables to ensure the number of records is the same. + +.. code:: + :number-lines: + + SELECT count(*) FROM pdpstatistics; + SELECT count(*) FROM jpapdpstatistics_enginestats; + +Check pdpstatistics to ensure the primary key has changed: + +.. code:: + + SELECT column_name, constraint_name FROM information_schema.key_column_usage WHERE table_name='pdpstatistics'; + +Check jpapdpstatistics_enginestats to ensure timestamp column has been dropped and id column added. + +.. code:: + + SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'jpapdpstatistics_enginestats'; + +Check the pdp table to ensure the LASTUPDATE column has been added and the value has defaulted to the CURRENT_TIMESTAMP. + +.. code:: + + SELECT table_name, column_name, data_type, column_default FROM information_schema.columns WHERE table_name = 'pdp'; + +.. list-table:: + :widths: 60 20 + :header-rows: 0 + + * - Number of files run + - 13 + * - Tables in policyadmin + - 75 + * - Records Added + - 13 + * - schema_version + - 0900 + +.. note:: + The number of records added may vary depending on the number of retries. + +With addition of Postgres support to db-migrator, these tests can be also performed on a Postgres version of database. +In addition, scripts running the aforementioned scenarios can be found under `smoke-tests` folder on db-migrator code base. + +End of Document diff --git a/docs/development/devtools/smoke/distribution-smoke.rst b/docs/development/devtools/smoke/distribution-smoke.rst new file mode 100644 index 00000000..c0e3cb1d --- /dev/null +++ b/docs/development/devtools/smoke/distribution-smoke.rst @@ -0,0 +1,137 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-distribution-smoke-testing-label: + +Policy Distribution Smoke Test +################################ + +The policy-distribution smoke testing is executed against a custom ONAP docker installation as defined in the docker compose file in "policy/docker/csit/". +The policy-distribution configuration file is located in "docker/csit/config/distribution/". +This test verifies the execution of the REST api's exposed by the component to make sure the CSAR Decoding and Forwarding works as expected. + +General Setup +***************** +In policy/docker/csit/ + +.. code-block:: bash + + ./start-grafana.sh distribution + +This script will compose the ONAP components used during the smoke tests are: + +- Policy API to perform CRUD of policies. +- Policy DB to store the policies, and DB Migrator to start the db. +- DMAAP Simulator for the communication between components. +- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). +- Policy Apex-PDP to deploy & undeploy policies. And send heartbeats to PAP. +- Policy Drools-PDP to deploy & undeploy policies. And send heartbeats to PAP. +- Policy Xacml-PDP to deploy & undeploy policies. And send heartbeats to PAP. + +- Policy Distribution to test the Decoding and Forwarding functions. + +Use this script to easily bring down the containers : + +.. code-block:: bash + + ./stop-grafana.sh + +Testing procedure +********************** + +The test set is focused on the following use cases: + +- Wait until Distribution starts and reach the built-in REST endpoints for fetching healthcheck & statistics. +- Execute some of the REST api's exposed by policy-pap component. + +Starting Policy Distribution +------------------------------------ + +Check the docker logs to see when Distribution service is up and running. + +Get the ips of distribution and pap services: + +.. code:: + :number-lines: + + ./get-instance-ip.sh policy-distribution + ./get-instance-ip.sh policy-pap + +Health check status & statistical data of running distribution system. + +.. code-block:: bash + + curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/healthcheck + curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/statistics + +Expected result for healthcheck + +.. code-block:: json + + {"name":"Policy SSD","url":"policy-distribution","healthy":true,"code":200,"message":"alive"} + +Expected result for statistics + +.. code-block:: json + + {"code":200,"totalDistributionCount":0,"distributionSuccessCount":0,"distributionFailureCount":0,"totalDownloadCount":0,"downloadSuccessCount":0,"downloadFailureCount":0} + +Trigger Policy Distribution Core +------------------------------------------ + +In order to test policy-distribution, we need to trigger the decoding copying a .csar in the mapped volume, +defined in the docker-compose-distribution-smoke.yml as : + +.. code-block:: yaml + + volumes: + - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/ + +So now copy the "sample_csar_with_apex_policy.csar" from ./distribution/config/csar/ to ./distribution/config/temp/ + +If the commissioning is successful we should see from the logs this message + +.. image:: images/message-commissioning-participant.png + +So if we check the distribution statistics again + +.. code-block:: bash + + {"code":200,"totalDistributionCount":1,"distributionSuccessCount":1,"distributionFailureCount":0,"totalDownloadCount":1,"downloadSuccessCount":1,"downloadFailureCount":0} + +Execute policy-pap testing +------------------------------------ +.. note:: + The user for pap is different. + +Check the details of policies deployed + +.. code-block:: bash + + curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/status + +Expected SUCCESS result + +.. code-block:: json + + [{"pdpGroup":"defaultGroup","pdpType":"apex","pdpId":"apex-91fa25a1-0456-42fa-9556-6a4d2bd613fc","policy":{"name":"operational.apex.sampledomain","version":"1.0.0"},"policyType":{"name":"onap.policies.native.Apex","version":"1.0.0"},"deploy":true,"state":"SUCCESS"},{"pdpGroup":"defaultGroup","pdpType":"xacml","pdpId":"xacml-83e19452-0854-41dd-9f17-8b0a68f11813","policy":{"name":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","version":"1.0.0"},"policyType":{"name":"onap.policies.Naming","version":"1.0.0"},"deploy":true,"state":"SUCCESS"}] + +Check number of policies deployed + +.. code-block:: bash + + curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/deployed + +Expected success-count result + +.. code-block:: json + + [{"policy-type":"onap.policies.native.Apex","policy-type-version":"1.0.0","policy-id":"operational.apex.sampledomain","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0},{"policy-type":"onap.policies.Naming","policy-type-version":"1.0.0","policy-id":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0}] + +Or download & execute the steps in postman collection for verifying policy-pap component. +The steps need to be performed sequentially one after another. And no input is required from user. + +`Policy Framework Administration API `_ + +Make sure to execute the delete steps in order to clean the setup after testing. diff --git a/docs/development/devtools/smoke/drools-smoke.rst b/docs/development/devtools/smoke/drools-smoke.rst new file mode 100644 index 00000000..363bb503 --- /dev/null +++ b/docs/development/devtools/smoke/drools-smoke.rst @@ -0,0 +1,61 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-api-smoke-testing-label: + +.. toctree:: + :maxdepth: 2 + +Policy Drools PDP and Applications Smoke Test +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The policy-drools-pdp smoke testing can be executed against a kubernetes based ONAP installation, +and/or a docker-compose set up similar to the one executed by CSIT tests. + +General Setup +************* + +ONAP OOM kubernetes +------------------- + +For installation instructions, please refer to the following documentation: + +`OOM Documentation `_ + +At a minimum policy needs the following components installed: + +- onap base charts +- AAF for certificate generation +- DMaaP message-router for communication among policy components. + +AAI, SO and other components can be simulated by installing the simulator charts: + +`Policy Simulator Helm Chart `_ + +docker-compose based +-------------------- + +A smaller testing environment can be put together by replicating the CSIT test environment: + +`Policy CSIT Test infrastructure `_ + +Testing procedures +****************** + +The smoke tests should be focused on verifying the proper workings of drools +and dependent components. The following scenarios should be considered: + +- PDP-D registration with PAP. +- PDP-D restarts and re-registration with PAP. +- Proper workings of telemetry tool. +- Exploration of correct PDP-D states with the telemetry tool. +- Statistics and prometheus metrics. +- Verify correct states of API, PAP, and controllers using the PDP-D healthchecks. +- Verify distributed locking capability and proper use of the database. +- Verify vCPE, vDNS, and vFirewall use cases and recorded metrics. + +The following testsuites contain everything necessary for the previous verifications: +- `CSIT Robot framework `_ +- `JMeter S3P `_ + diff --git a/docs/development/devtools/smoke/images/gui/ChangeState.png b/docs/development/devtools/smoke/images/gui/ChangeState.png new file mode 100644 index 00000000..9e40b30a Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/ChangeState.png differ diff --git a/docs/development/devtools/smoke/images/gui/CommissioningMessageOnParticipant.png b/docs/development/devtools/smoke/images/gui/CommissioningMessageOnParticipant.png new file mode 100644 index 00000000..5fbe37f6 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/CommissioningMessageOnParticipant.png differ diff --git a/docs/development/devtools/smoke/images/gui/CommissioningModal.png b/docs/development/devtools/smoke/images/gui/CommissioningModal.png new file mode 100644 index 00000000..6e54ec7b Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/CommissioningModal.png differ diff --git a/docs/development/devtools/smoke/images/gui/CommissioningUpload.png b/docs/development/devtools/smoke/images/gui/CommissioningUpload.png new file mode 100644 index 00000000..a047019b Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/CommissioningUpload.png differ diff --git a/docs/development/devtools/smoke/images/gui/CommonPropertiesModal.png b/docs/development/devtools/smoke/images/gui/CommonPropertiesModal.png new file mode 100644 index 00000000..9e270b81 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/CommonPropertiesModal.png differ diff --git a/docs/development/devtools/smoke/images/gui/CreateInstancePropsModal.png b/docs/development/devtools/smoke/images/gui/CreateInstancePropsModal.png new file mode 100644 index 00000000..d0039486 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/CreateInstancePropsModal.png differ diff --git a/docs/development/devtools/smoke/images/gui/InstanceUninitialised.png b/docs/development/devtools/smoke/images/gui/InstanceUninitialised.png new file mode 100644 index 00000000..e2fbe49b Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/InstanceUninitialised.png differ diff --git a/docs/development/devtools/smoke/images/gui/ManageInstancesModal.png b/docs/development/devtools/smoke/images/gui/ManageInstancesModal.png new file mode 100644 index 00000000..2e6e9d2c Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/ManageInstancesModal.png differ diff --git a/docs/development/devtools/smoke/images/gui/PassiveState.png b/docs/development/devtools/smoke/images/gui/PassiveState.png new file mode 100644 index 00000000..abc7ed22 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/PassiveState.png differ diff --git a/docs/development/devtools/smoke/images/gui/PolicySuccess.png b/docs/development/devtools/smoke/images/gui/PolicySuccess.png new file mode 100644 index 00000000..345bc933 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/PolicySuccess.png differ diff --git a/docs/development/devtools/smoke/images/gui/PolicyTypeNotPresent.png b/docs/development/devtools/smoke/images/gui/PolicyTypeNotPresent.png new file mode 100644 index 00000000..8085b0a3 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/PolicyTypeNotPresent.png differ diff --git a/docs/development/devtools/smoke/images/gui/PolicyTypeSuccess.png b/docs/development/devtools/smoke/images/gui/PolicyTypeSuccess.png new file mode 100644 index 00000000..81004579 Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/PolicyTypeSuccess.png differ diff --git a/docs/development/devtools/smoke/images/gui/ViewEditedCommonProperties.png b/docs/development/devtools/smoke/images/gui/ViewEditedCommonProperties.png new file mode 100644 index 00000000..b546569d Binary files /dev/null and b/docs/development/devtools/smoke/images/gui/ViewEditedCommonProperties.png differ diff --git a/docs/development/devtools/smoke/images/message-commissioning-participant.png b/docs/development/devtools/smoke/images/message-commissioning-participant.png new file mode 100644 index 00000000..82957848 Binary files /dev/null and b/docs/development/devtools/smoke/images/message-commissioning-participant.png differ diff --git a/docs/development/devtools/smoke/pap-smoke.rst b/docs/development/devtools/smoke/pap-smoke.rst new file mode 100644 index 00000000..a5f54c06 --- /dev/null +++ b/docs/development/devtools/smoke/pap-smoke.rst @@ -0,0 +1,69 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-pap-smoke-testing-label: + +.. toctree:: + :maxdepth: 2 + +Policy PAP Smoke Test +~~~~~~~~~~~~~~~~~~~~~ + +The policy-pap smoke testing is executed against a default ONAP installation as per OOM charts. +This test verifies the execution of all the REST api's exposed by the component to make sure the contract works as expected. + +General Setup +************* + +The kubernetes installation will allocate all onap components across multiple worker node VMs. +The normal worker VM hosting onap components has the following spec: + +- 16GB RAM +- 8 VCPU +- 160GB Ephemeral Disk + + +The ONAP components used during the smoke tests are: + +- Policy API to perform CRUD of policies. +- Policy DB to store the policies. +- DMaaP for the communication between components. +- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc). +- Policy Apex-PDP to deploy & undeploy policies. And send heartbeats to PAP. +- Policy Drools-PDP to deploy & undeploy policies. And send heartbeats to PAP. +- Policy Xacml-PDP to deploy & undeploy policies. And send heartbeats to PAP. + + +Testing procedure +***************** + +The test set is focused on the following use cases: + +- Execute all the REST api's exposed by policy-pap component. + +Create policies using policy-api +-------------------------------- +In order to test policy-pap, we need to use policy-api component to create the policies. + +Download & execute the steps in postman collection for creating policies. +The steps need to be performed sequentially one after another. And no input is required from user. + +`Policy Framework Lifecycle API `_ + +Make sure to skip the delete policy steps. + + +Execute policy-pap testing +-------------------------- +Download & execute the steps in postman collection for verifying policy-pap component. +The steps need to be performed sequentially one after another. And no input is required from user. + +`Policy Framework Administration API `_ + +Make sure to execute the delete steps in order to clean the setup after testing. + + +Delete policies using policy-api +-------------------------------- +Use the previously downloaded policy-api postman collection to delete the policies created for testing. diff --git a/docs/development/devtools/smoke/policy-gui-acm-smoke.rst b/docs/development/devtools/smoke/policy-gui-acm-smoke.rst new file mode 100644 index 00000000..cd600199 --- /dev/null +++ b/docs/development/devtools/smoke/policy-gui-acm-smoke.rst @@ -0,0 +1,277 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +.. _clamp-gui-acm-smoke-tests: + +CLAMP GUI Smoke Tests +--------------------- +1. Introduction +*************** +The CLAMP GUI for Automation Compositions is designed to provide a user the ability to interact +with the Automation Composition Runtime to perform several actions. + +- Commission new Tosca Service Templates. +- Editing Common Properties. +- Decommission existing Tosca Service Templates. +- Create new instances of Automation Compositions. +- Change the state of the Automation Compositions. +- Delete Automation Compositions. + +This document will serve as a guide to do smoke tests on the different components that are involved when working with the GUI and outline how they operate. It will also show a developer how to set up their environment for carrying out smoke tests on the GUI. + +2. Setup Guide +************** +This section will show the developer how to set up their environment to start testing in GUI with some instruction on how to carry out the tests. There are several prerequisites. Note that this guide is written by a Linux user - although the majority of the steps show will be exactly the same in Windows or other systems. The IDE used in the examples here is Intellij but most or all of what is described should be the same across IDEs. + +2.1 Prerequisites +================= +- Java 11 +- node +- npm +- Docker +- Maven 3 +- Git +- Refer to this guide for basic environment setup `Setting up dev environment `_ + +2.2 Assumptions +=============== +- You are accessing the policy repositories through gerrit +- You are using "git review". + +The following repositories are required for development in this project. These repositories should be present on your machine and you should run "mvn clean install" on all of them so that the packages are present in your .m2 repository. + +- policy/parent +- policy/common +- policy/models +- policy/clamp +- policy/docker +- policy/gui +- policy/api + +In this setup guide, we will be setting up all the components technically required for a working convenient dev environment. We will not be setting up all of the participants - we will setup only the policy participant as an example. + +2.3 Setting up the components +============================= + +2.3.3 MariaDB Setup +^^^^^^^^^^^^^^^^^^^ +We will be using Docker to run our mariadb instance. It will have a total of three databases running in it. + +- acm: the clampacm db +- cldsdb4: the clamp backend db +- policyadmin: the policy-api db + +The easiest way to do this is to perform a small alteration on an SQL script provided by the clamp backend in the file "runtime/extra/sql/bulkload/create-db.sql" + +.. code-block:: mysql + + CREATE DATABASE `cldsdb4`; + USE `cldsdb4`; + DROP USER 'clds'; + CREATE USER 'clds'; + GRANT ALL on cldsdb4.* to 'clds' identified by 'sidnnd83K' with GRANT OPTION; + CREATE DATABASE `clampacm`; + USE `clampacm`; + DROP USER 'policy'; + CREATE USER 'policy'; + GRANT ALL on clampacm.* to 'policy' identified by 'P01icY' with GRANT OPTION; + CREATE DATABASE `policyadmin`; + USE `policyadmin`; + DROP USER 'policy_user'; + CREATE USER 'policy_user'; + GRANT ALL on clampacm.* to 'policy_user' identified by 'policy_user' with GRANT OPTION; + FLUSH PRIVILEGES; + +Once this has been done, we can run the bash script provided here: "runtime/extra/bin-for-dev/start-db.sh" + +.. code-block:: bash + + ./start-db.sh + +This will setup all three databases. It will also ensure that the tables in cldsdb4 are created. The database will be exposed locally on port 3306 and will be backed by an anonymous docker volume. + +2.3.4 DMAAP Simulator +^^^^^^^^^^^^^^^^^^^^^ +For convenience, a dmaap simulator has been provided in the policy/models repository. To start the simulator, you can do the following: + +1. Navigate to /models-sim/policy-models-simulators in the policy/models repository. +2. Add a configuration file to src/test/resources with the following contents: + +.. code-block:: json + + { + "dmaapProvider":{ + "name":"DMaaP simulator", + "topicSweepSec":900 + }, + "restServers":[ + { + "name":"DMaaP simulator", + "providerClass":"org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", + "host":"localhost", + "port":3904, + "https":false + } + ] + } + +3. You can then start dmaap with: + +.. code-block:: bash + + mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/YOUR_CONF_FILE.json" + +At this stage the dmaap simulator should be running on your local machine on port 3904. + +2.3.5 Policy API +^^^^^^^^^^^^^^^^ +In the policy-api repo, you should fine the file "src/main/resources/etc/defaultConfig.json". This file must be altered slightly - as below with the restServerParameters and databaseProviderParameters shown. Note how the database parameters match-up with what you setup in Mariadb: + +.. code-block:: json + + { + "restServerParameters": { + "host": "0.0.0.0", + "port": 6970, + "userName": "healthcheck", + "password": "zb!XztG34", + "prometheus": true, + "https": false, + "aaf": false + }, + "databaseProviderParameters": { + "name": "PolicyProviderParameterGroup", + "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl", + "databaseDriver": "org.mariadb.jdbc.Driver", + "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin", + "databaseUser": "policy_user", + "databasePassword": "policy_user", + "persistenceUnit": "PolicyMariaDb" + }, + } + +Next, navigate to the "/main" directory. You can then run the following command to start the policy api: + +.. code-block:: bash + + mvn exec:java -Dexec.mainClass=org.onap.policy.api.main.startstop.Main -Dexec.args=" -c ../packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json" + +2.3.6 Clamp Backend +^^^^^^^^^^^^^^^^^^^ +The Clamp Backend can potentially make calls to policy pap, policy api, cds, sdc and others. For acm development purposes, we only need to connect with the acm runtime api. For convenience, there has been an emulator provided to respond to requests from Clamp to all those services that we do not care about. This emulator can be run by running the following bash script "runtime/extra/bin-for-dev/start-emulator.sh" + +.. code-block:: bash + + ./start-emulator.sh + +Once the emulator is running, we can then run the clamp backend. Before doing this, we need to make sure that all of the calls from the clamp backend are directed towards the correct places. We can do this by editing the application-noaaf.properties file: "src/main/resources/application-noaaf.properties". For development purposes and because we are running the components in a non-https way, this file will not need to be altered currently. The clamp backend can then be run with the script "runtime/extra/bin-for-dev/start-backend.sh". + +.. code-block:: bash + + ./start-backend.sh + +Once the clamp backend is running, we can start the acm runtime. + +2.3.7 Automation Composition Runtime +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +To start the acm runtime we need to go the "runtime-acm" directory in the clamp repo. There is a config file that is used, by default, for the acm runtime. That config file is here: "src/main/resources/application.yaml". For development in your local environment, it shouldn't need any adjustment and we can just run the acm runtime with: + +.. code-block:: bash + + mvn spring-boot:run + +2.3.8 Automation Composition GUI +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +At this point, all of the components required to test out the acm gui are running. We can start to make changes, and have those changes reflected in the UI for immediate feedback on our changes. But first, we must run the GUI. + +Firstly, go to the GUI repo and navigate to "gui-clamp/ui-react". To setup for development, we must install the dependencies of the GUI. We can do this using the npm package manager. In the directory, simply run: + +.. code-block:: bash + + npm install + +This will trigger installation of the required packages. The application is configured to proxy all relevant calls to the clamp backend. The application can be started with a simple: + +.. code-block:: bash + + npm start + +This uses nodes internal test dev web server to server the GUI. Once started, you can navigate to the server at "localhost:3000" and login with "admin/password". + +That completes the development setup of the environment. + +3. Running Tests +**************** +In this section, we will run through the functionalities mentioned at the start of this document is section 1. Each functionality will be tested and we will confirm that they were carried out successfully. There is a tosca service template that can be used for this test + +:download:`Tosca Service Template ` + + +3.1 Commissioning +================= +We can carry out commissioning using the GUI. To do so, from the main page, we can select "Upload Tosca to Commissioning" as shown in the image below: + +.. image:: images/gui/CommissioningUpload.png + +Clicking this will take us to a screen where we can upload a file. Select a file to upload and click on the upload button. + +.. image:: images/gui/CommissioningModal.png + +After clicking upload, you should get a message on the modal to tell you that the upload was successful. You can then look in the logs of the policy-participant to see that the message has been received from the runtime: + +.. image:: images/gui/CommissioningMessageOnParticipant.png + +This confirms that commissioning has been complete. + +3.2 Edit Common Properties +========================== +At this stage we can edit the common properties. These properties will be common to all instances of the automation composition definitions we uploaded with the tosca service template. Once an instance is created, we will not be able to alter these common properties again. We can simply click on "Edit Common Properties" in the dropdown menu and we will be taken to the modal shown below. + +.. image:: images/gui/CommonPropertiesModal.png + +The arrows to the left of the modal can be used to expand and contract the elements. If we expand one of the elements, we can see that the provider is one of the properties that we can edit. Edit this property to be "Ericsson Software Technologies". Press "Save" and then press "Commission". You should get a success message. Once you do, you can look at the full tosca service template to confirm the change in provider has been recorder. Click on "Manage Commissioned Tosca Template". Then click on "Pull Tosca Service Template". You should receive the full template on the screen. You should find your change as shown below. + +.. image:: images/gui/ViewEditedCommonProperties.png + +3.3 Create New Instances of Automation Compositions +=================================================== +Once the template is commissioned, we can start to create instances. In the dropdown, click on "Instantiation Management". In the modal, you will see an empty table, as shown. + +.. image:: images/gui/ManageInstancesModal.png + +Then we will click on "Create Instance". That takes us to a page where we can edit the properties of the instance. Not the common properties, but the instance properties. The last element has Provider set as an instance property. In the same way as we did for the common properties, change the provider to "Some Other Company" - then click save. You should get a success message if all went ok. You can then go back to the instantiation management table and you should now see an instance there. + +.. image:: images/gui/InstanceUninitialised.png + +Since the instance is uninitialised, the policies and policy types are not being deployed to the policy api. We can confirm this by looking at the policy-apis database. See the image below. + +.. image:: images/gui/PolicyTypeNotPresent.png + +3.3 Change the State of the Instance +==================================== +Now we will change the instance state to PASSIVE. This should trigger the deployment of the policy types onto the policy-api. To trigger the change of state, click on the "change" button on the instance in the instance management table. This will bring up another modal to allow you to change the state. + +.. image:: images/gui/ChangeState.png + +Pick PASSIVE and then click save. If we once again navigate to the Instance Management table, we can see that our actual state has become passive. + +.. image:: images/gui/PassiveState.png + +This should also mean that our policies and policy types should be written to the policy-api database. We can query that DB again. In the images below, we can see that the policies and the policy types have been written successfully. + +.. image:: images/gui/PolicyTypeSuccess.png + +and + +.. image:: images/gui/PolicySuccess.png + +Following the same procedure as changing the state to PASSIVE, we can then change to UNINITIALISED. This deletes the policies and policy types through the policy api and changes the overall state of the loop. we can then delete it from the Manage Instances table by clicking on Delete. + +Decommissioning +=============== +Finally, we can decommission the template. On the dropdown menu, click "Manage Commissioned Tosca Template" and then pull it. Clicking the "Delete Tosca Service Template" button will fully decommission the template. You will receive a success message if the deletion was successful. + +.. image:: images/gui/ViewEditedCommonProperties.png + +This concluded the required smoke tests + + diff --git a/docs/development/devtools/smoke/postman/apex-pdp-vnf-pnf-testing.postman_collection.json b/docs/development/devtools/smoke/postman/apex-pdp-vnf-pnf-testing.postman_collection.json new file mode 100644 index 00000000..a5a2cff8 --- /dev/null +++ b/docs/development/devtools/smoke/postman/apex-pdp-vnf-pnf-testing.postman_collection.json @@ -0,0 +1,1244 @@ +{ + "info": { + "_postman_id": "1b22468c-e177-4ac2-8854-c246c35420a7", + "name": "Apex-PDP VNF & PNF Testing", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Create VNF Policy", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"tosca_definitions_version\": \"tosca_simple_yaml_1_1_0\",\n \"topology_template\": {\n \"policies\": [\n {\n \"onap.policies.apex.vnf.Example\": {\n \"type\": \"onap.policies.native.Apex\",\n \"type_version\": \"1.0.0\",\n \"name\": \"onap.policies.apex.vnf.Example\",\n \"version\": \"1.0.0\",\n \"properties\": {\n \"engineServiceParameters\": {\n \"name\": \"TestApexEngine\",\n \"version\": \"0.0.1\",\n \"id\": 45,\n \"instanceCount\": 1,\n \"deploymentPort\": 12561,\n \"engineParameters\": {\n \"executorParameters\": {\n \"JAVASCRIPT\": {\n \"parameterClassName\": \"org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters\"\n }\n },\n \"contextParameters\": {\n \"parameterClassName\": \"org.onap.policy.apex.context.parameters.ContextParameters\",\n \"schemaParameters\": {\n \"Avro\": {\n \"parameterClassName\": \"org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters\"\n }\n }\n },\n \"taskParameters\": [\n {\n \"key\": \"logUrl\",\n \"value\": \"http://message-router:3904/events/APEX-CL-MGT\"\n }\n ]\n },\n \"policy_type_impl\": {\n \"apexPolicyModel\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy\",\n \"version\": \"0.0.1\"\n },\n \"keyInformation\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"keyInfoMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"f99c27f7-24bf-3634-ac7a-1b3880b14bfc\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Albums\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Albums\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"c5a78c12-64b7-3a10-a253-c5bf632933de\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_Albums:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Events\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Events\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b7146854-a0b4-3771-9c67-155cc8bf011a\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_Events:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"77c36041-d09f-3299-bea5-daa1ba859b64\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_KeyInfo:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Policies\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Policies\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"72a336b7-8093-32a2-9f77-cdb50fcd96d5\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_Policies:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"d4a51349-3b55-35be-a7e2-a9df3db2bab4\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_Schemas:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"dcf945e6-8191-3b1f-ad79-a456c287a5ab\",\n \"description\": \"Generated description for concept referred to by key \\\"APEXExamplePolicy_Tasks:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"fc0c1892-a2ae-3678-818f-b9b23939b241\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAIFailureResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ba931e7e-aee9-3af8-98d8-16b92a909e8a\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAIFailureResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b4dd59c5-0169-3810-800c-1396c2206de4\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAIRequestErrorType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"599c297e-96c8-3b21-ad1c-e643bddeacbf\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAIRequestEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b5e3f122-2dcd-3cdf-a0ec-8210b3f80478\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAISuccessResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"15504e23-78c5-305e-9fce-cf1f50e75013\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_AAISuccessResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"e2715e7d-835e-32c7-b433-a2e92bcad6ee\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSActionIdentifiersType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b492e841-2c03-36a9-9ec2-dda5852152c3\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifyFailureResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ef4e45f4-1181-3121-a3b6-507126df25e7\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"91cb711a-0c73-3f51-83e6-fca9c547c71d\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifyFailureResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"dda3c648-dc8b-38e0-855d-9cb72397f957\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifyRequestEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"96b306bd-6dee-3d47-981c-eaac316d5ae1\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifyResponsePayloadType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"1b65abfb-ce35-3765-9b9c-d2ee02bef28b\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifySuccessResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"4dac3de7-3817-396f-91d6-ce701d162877\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"92dc9e6b-2082-3d90-ba5e-f2dba18b72b6\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSConfigModifySuccessResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"a6801c93-f15b-3158-ba33-7760197d3609\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSFailureResponseCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"e2da0a15-c542-3e77-874d-4512e9b4162e\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSFailureResponseStatusType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"f54edff0-532f-3142-8e65-a5c9d67888ef\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRequestCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b967dc44-a156-32d3-a796-f03dbf74316c\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRequestPayloadType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"f2aa4552-069d-3db8-8638-2d1f59124e7a\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartFailureResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"c2e3b07f-2c09-3195-9527-6b3ab0666d61\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartFailureResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"a7c28cc1-9fe5-30b7-9dd8-5a4f7f7d811e\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartFailureResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"d01d1022-48ac-391d-904d-282ccb063f8a\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartRequestEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ad8cbd94-6eb5-3743-8a7d-42cbe49a5320\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartResponsePayloadType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"bbb06330-9161-392e-a0ca-a6bb5e3376af\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartSuccessResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"70c6c6e5-00da-30cb-8ec0-14437d657f39\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartSuccessResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"77f16151-80b5-304c-a448-19d8528feed1\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSRestartSuccessResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"2f17aee2-fbdf-3c41-a779-f9c17b5bda5b\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSSuccessResponseCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"8c554852-3ed6-3027-a0d3-fccd2db19875\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_CDSSuccessResponseStatusType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b402baca-915b-3952-97fc-d9899f9ca81c\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_EventDetailsAlbum:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"3626f32a-eee6-3254-b3d4-e4829518c381\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_EventDetailsAlbumType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"87abb453-a919-3131-8ffb-3e5c910c6049\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_HandleAAIFailureResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"8881e644-3cca-3aec-8201-312ca6f719e0\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_HandleAAISuccessResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"057f6ddd-d6aa-3ce2-a060-d344de16d7f3\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_HandleVesEventTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"4867b1e7-a819-3b9f-be2b-a97fe6019827\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_LogStatusEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"975b3071-b775-3617-a888-f831fe5a31db\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_VesEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ad9efe17-a03e-3b64-8e8a-51e144f57d2c\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_VesEventHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"0054393c-10df-3214-af86-cb04a23325bf\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_VesEventType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"865a5903-201b-34ff-918b-2bfdde743576\",\n \"description\": \"Generated description for concept referred to by key \\\"ApexExample_VnfRelationShipListType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"7218fb2f-59e3-321d-9ae1-bc97b19eb4ae\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleBooleanType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"2dfcd9ec-a6f9-3f9f-958f-9b36cf4ac574\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleLongType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"8a4957cf-9493-3a76-8c22-a208e23259af\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleStringType:0.0.1\\\"\"\n }\n }\n ]\n }\n },\n \"policies\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Policies\",\n \"version\": \"0.0.1\"\n },\n \"policyMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_ReceiveAAIFailureResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_ReceiveAAIFailureResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_AAIFailureStateOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAIFailureResponseState\",\n \"localName\": \"ApexExample_AAIFailureStateOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAIFailureResponseState\",\n \"localName\": \"ApexExample_AAIFailureResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAIFailureResponseState\",\n \"localName\": \"ApexExample_AAIFailureStateOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_ReceiveAAIFailureResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_ReceiveAAISuccessResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_ReceiveAAISuccessResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_AAISuccessStateOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAISuccessResponseState\",\n \"localName\": \"ApexExample_AAISuccessStateOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAISuccessResponseState\",\n \"localName\": \"ApexExample_AAISuccessResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveAAISuccessResponseState\",\n \"localName\": \"ApexExample_AAISuccessStateOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_ReceiveAAISuccessResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_CDSConfigModifyFailureResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_CDSConfigModifyFailureResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_ConfigModifyFailureResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifyFailureResponseState\",\n \"localName\": \"ApexExample_ConfigModifyFailureResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifyFailureResponseState\",\n \"localName\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifyFailureResponseState\",\n \"localName\": \"ApexExample_ConfigModifyFailureResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_CDSConfigModifyFailureResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_CDSConfigModifySuccessResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_CDSConfigModifySuccessResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_ConfigModifySuccessResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifySuccessResponseState\",\n \"localName\": \"ApexExample_ConfigModifySuccessResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_CDSRestartRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifySuccessResponseState\",\n \"localName\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSConfigModifySuccessResponseState\",\n \"localName\": \"ApexExample_ConfigModifySuccessResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_CDSConfigModifySuccessResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_CDSRestartFailureResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_CDSRestartFailureResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_RestartFailureResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartFailureResponseState\",\n \"localName\": \"ApexExample_RestartFailureResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartFailureResponseState\",\n \"localName\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_CDSRestartFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartFailureResponseState\",\n \"localName\": \"ApexExample_RestartFailureResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_CDSRestartFailureResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_CDSRestartSuccessResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_CDSRestartSuccessResponseState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_RestartSuccessResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartSuccessResponseState\",\n \"localName\": \"ApexExample_RestartSuccessResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartSuccessResponseState\",\n \"localName\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_CDSRestartSuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_CDSRestartSuccessResponseState\",\n \"localName\": \"ApexExample_RestartSuccessResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_CDSRestartSuccessResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"ApexExample_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_ReceiveVesState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"ApexExample_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"ApexExample_ReceiveVesState\"\n },\n \"trigger\": {\n \"name\": \"ApexExample_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ApexExample_VesOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveVesState\",\n \"localName\": \"ApexExample_VesOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"ApexExample_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"ApexExample_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveVesState\",\n \"localName\": \"ApexExample_VesEventHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"ApexExample_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"ApexExample_ReceiveVesState\",\n \"localName\": \"ApexExample_VesOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"ApexExample_ReceiveVesState\"\n }\n }\n ]\n }\n },\n \"tasks\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"taskMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"eventId\",\n \"value\": {\n \"key\": \"eventId\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingEnd\",\n \"value\": {\n \"key\": \"eventProcessingEnd\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingStart\",\n \"value\": {\n \"key\": \"eventProcessingStart\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"from\",\n \"value\": {\n \"key\": \"from\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\n\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\nexecutor.outFields.put(\\\"eventProcessingStart\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"startEpochMicrosec\\\"));\\nexecutor.outFields.put(\\\"eventProcessingEnd\\\", longType(new Date().getTime()));\\nexecutor.outFields.put(\\\"eventId\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"));\\nexecutor.outFields.put(\\\"from\\\", \\\"APEX\\\");\\nexecutor.outFields.put(\\\"status\\\", \\\"FAILURE\\\");\\nexecutor.outFields.put(\\\"message\\\", \\\"ConfigModify operation failed. \\\"+executor.inFields.get(\\\"status\\\").get(\\\"errorMessage\\\"));\\nexecutor.logger.info(executor.outFields);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\nvar commonEventHeader = eventDetailsAlbum.get(\\\"commonEventHeader\\\");\\nvar faultFields = eventDetailsAlbum.get(\\\"faultFields\\\");\\nvar vnfDetails = eventDetailsAlbum.get(\\\"vnfDetails\\\");\\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\\\"commonHeader\\\").createNewInstance();\\ncommonHeader.put(\\\"subRequestId\\\", commonEventHeader.get(\\\"eventId\\\"));\\ncommonHeader.put(\\\"requestId\\\", uuidType.randomUUID().toString());\\ncommonHeader.put(\\\"originatorId\\\", \\\"POLICY\\\");\\n\\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\\\"actionIdentifiers\\\").createNewInstance();\\nactionIdentifiers.put(\\\"mode\\\", \\\"sync\\\");\\nactionIdentifiers.put(\\\"blueprintName\\\", \\\"vnf-test-cba\\\");\\nactionIdentifiers.put(\\\"blueprintVersion\\\", \\\"1.0.0\\\");\\nactionIdentifiers.put(\\\"actionName\\\", \\\"restart\\\");\\n\\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"update_DasH_properties_record\\\");\\npayloadProperties.put(\\\"service_DasH_instance_DoT_service_DasH_instance_DasH_id\\\", vnfDetails.get(\\\"service-id\\\").toString())\\npayloadProperties.put(\\\"generic_DasH_vnf_DoT_vnf_DasH_id\\\", vnfDetails.get(\\\"vnf-name\\\").toString())\\nvar dataRecord = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"update_DasH_data_record\\\");\\ndataRecord.put(\\\"active_DasH_streams\\\",\\\"7\\\")\\npayloadProperties.put(\\\"data\\\", dataRecord)\\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"CDSRequestPayloadEntry\\\");\\npayloadEntry.put(\\\"update_DasH_properties\\\", payloadProperties)\\npayloadEntry.put(\\\"vfStatus\\\", faultFields.get(\\\"vfStatus\\\"))\\nvar payload = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewInstance();\\npayload.put(\\\"restart_DasH_request\\\", payloadEntry);\\n\\nexecutor.outFields.put(\\\"commonHeader\\\", commonHeader);\\nexecutor.outFields.put(\\\"actionIdentifiers\\\", actionIdentifiers);\\nexecutor.outFields.put(\\\"payload\\\", payload);\\n\\nexecutor.logger.info(+executor.outFields);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"eventId\",\n \"value\": {\n \"key\": \"eventId\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingEnd\",\n \"value\": {\n \"key\": \"eventProcessingEnd\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingStart\",\n \"value\": {\n \"key\": \"eventProcessingStart\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"from\",\n \"value\": {\n \"key\": \"from\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\nexecutor.outFields.put(\\\"eventProcessingStart\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"startEpochMicrosec\\\"));\\nexecutor.outFields.put(\\\"eventProcessingEnd\\\", longType(new Date().getTime()));\\nexecutor.outFields.put(\\\"eventId\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"));\\nexecutor.outFields.put(\\\"from\\\", \\\"APEX\\\");\\nexecutor.outFields.put(\\\"status\\\", \\\"FAILURE\\\");\\nexecutor.outFields.put(\\\"message\\\", \\\"Restart operation failed. \\\" + executor.inFields.get(\\\"status\\\").get(\\\"errorMessage\\\"));\\nexecutor.logger.info(executor.outFields);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"eventId\",\n \"value\": {\n \"key\": \"eventId\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingEnd\",\n \"value\": {\n \"key\": \"eventProcessingEnd\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingStart\",\n \"value\": {\n \"key\": \"eventProcessingStart\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"from\",\n \"value\": {\n \"key\": \"from\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\n\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\nexecutor.outFields.put(\\\"eventProcessingStart\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"startEpochMicrosec\\\"));\\nexecutor.outFields.put(\\\"eventProcessingEnd\\\", longType(new Date().getTime()));\\nexecutor.outFields.put(\\\"eventId\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"));\\nexecutor.outFields.put(\\\"from\\\", \\\"APEX\\\");\\nexecutor.outFields.put(\\\"status\\\", \\\"SUCCESS\\\");\\nexecutor.outFields.put(\\\"message\\\", \\\"Action Completed.\\\");\\nexecutor.logger.info(executor.outFields);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"requestError\",\n \"value\": {\n \"key\": \"requestError\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"eventId\",\n \"value\": {\n \"key\": \"eventId\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingEnd\",\n \"value\": {\n \"key\": \"eventProcessingEnd\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingStart\",\n \"value\": {\n \"key\": \"eventProcessingStart\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"from\",\n \"value\": {\n \"key\": \"from\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\n\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\nvar aaiErrorMessage = executor.inFields.get(\\\"requestError\\\").get(\\\"serviceException\\\").get(\\\"text\\\");\\nexecutor.outFields.put(\\\"eventProcessingStart\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"startEpochMicrosec\\\"));\\nexecutor.outFields.put(\\\"eventProcessingEnd\\\", longType(new Date().getTime()));\\nexecutor.outFields.put(\\\"eventId\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"));\\nexecutor.outFields.put(\\\"from\\\", \\\"APEX\\\");\\nexecutor.outFields.put(\\\"status\\\", \\\"FAILURE\\\");\\nexecutor.outFields.put(\\\"message\\\", aaiErrorMessage);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"in-maint\",\n \"value\": {\n \"key\": \"in-maint\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"is-closed-loop-disabled\",\n \"value\": {\n \"key\": \"is-closed-loop-disabled\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-customization-id\",\n \"value\": {\n \"key\": \"model-customization-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-invariant-id\",\n \"value\": {\n \"key\": \"model-invariant-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-version-id\",\n \"value\": {\n \"key\": \"model-version-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"orchestration-status\",\n \"value\": {\n \"key\": \"orchestration-status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"prov-status\",\n \"value\": {\n \"key\": \"prov-status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"relationship-list\",\n \"value\": {\n \"key\": \"relationship-list\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"resource-version\",\n \"value\": {\n \"key\": \"resource-version\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"service-id\",\n \"value\": {\n \"key\": \"service-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-id\",\n \"value\": {\n \"key\": \"vnf-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-name\",\n \"value\": {\n \"key\": \"vnf-name\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-type\",\n \"value\": {\n \"key\": \"vnf-type\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar HashMapType = java.util.HashMap;\\n\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").get(albumID.toString());\\n\\nvar vnfDetails = executor.inFields;\\nexecutor.logger.info(\\\"ApexExample_HandleAAISuccessResponseTask processing event - \\\" + vnfDetails);\\neventDetailsAlbum.put(\\\"vnfDetails\\\", vnfDetails);\\nvar commonEventHeader = eventDetailsAlbum.get(\\\"commonEventHeader\\\");\\nvar faultFields = eventDetailsAlbum.get(\\\"faultFields\\\");\\n\\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\\\"commonHeader\\\").createNewInstance();\\ncommonHeader.put(\\\"subRequestId\\\", commonEventHeader.get(\\\"eventId\\\"));\\ncommonHeader.put(\\\"requestId\\\", uuidType.randomUUID().toString());\\ncommonHeader.put(\\\"originatorId\\\", \\\"POLICY\\\");\\n\\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\\\"actionIdentifiers\\\").createNewInstance();\\nactionIdentifiers.put(\\\"mode\\\", \\\"sync\\\");\\nactionIdentifiers.put(\\\"blueprintName\\\", \\\"vnf-test-cba\\\");\\nactionIdentifiers.put(\\\"blueprintVersion\\\", \\\"1.0.0\\\");\\nactionIdentifiers.put(\\\"actionName\\\", \\\"modify-config\\\");\\n\\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"update_DasH_properties_record\\\");\\npayloadProperties.put(\\\"service_DasH_instance_DoT_service_DasH_instance_DasH_id\\\", vnfDetails.get(\\\"service-id\\\").toString())\\npayloadProperties.put(\\\"generic_DasH_vnf_DoT_vnf_DasH_id\\\", vnfDetails.get(\\\"vnf-id\\\").toString())\\nvar dataRecord = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"update_DasH_data_record\\\");\\ndataRecord.put(\\\"active_DasH_streams\\\",\\\"7\\\")\\npayloadProperties.put(\\\"data\\\", dataRecord)\\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"CDSRequestPayloadEntry\\\");\\npayloadEntry.put(\\\"update_DasH_properties\\\", payloadProperties)\\npayloadEntry.put(\\\"vfStatus\\\", faultFields.get(\\\"vfStatus\\\"))\\nvar payload = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewInstance();\\nvar payloadSchemaHelper = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\");\\npayload.put(\\\"modify_DasH_config_DasH_request\\\", payloadEntry);\\n\\n//always use the executor.stringify2json method instead of JSON.strngify\\nexecutor.logger.info(\\\"CDS modify config request payload - \\\" + executor.stringify2Json(payload, payloadSchemaHelper));\\n\\nexecutor.outFields.put(\\\"commonHeader\\\", commonHeader);\\nexecutor.outFields.put(\\\"actionIdentifiers\\\", actionIdentifiers);\\nexecutor.outFields.put(\\\"payload\\\", payload);\\ntrue;\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"event\",\n \"value\": {\n \"key\": \"event\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"aaifield\",\n \"value\": {\n \"key\": \"aaifield\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar HashMapType = java.util.HashMap;\\nvar longType = java.lang.Long;\\n\\n//albumID will be used to fetch info from our album later\\nvar albumID = uuidType.fromString(\\\"d0050623-18e5-46c9-9298-9a567990cd7c\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").getSchemaHelper().createNewInstance();\\nvar returnValue = true;\\n\\nvar event = executor.inFields.get(\\\"event\\\");\\nexecutor.logger.info(\\\"ApexExample_HandleVesEventTask processing VesEvent - \\\" + event);\\n\\nvar commonEventHeader = event.get(\\\"commonEventHeader\\\");\\nvar faultFields = event.get(\\\"faultFields\\\");\\n// save the event processing start time in apex\\ncommonEventHeader.put(\\\"startEpochMicrosec\\\", longType(new Date().getTime()));\\n//save the incoming fault event details to album\\neventDetailsAlbum.put(\\\"commonEventHeader\\\", commonEventHeader)\\neventDetailsAlbum.put(\\\"faultFields\\\", faultFields)\\nexecutor.getContextAlbum(\\\"ApexExample_EventDetailsAlbum\\\").put(albumID.toString(), eventDetailsAlbum);\\n\\nexecutor.getExecutionProperties().setProperty(\\\"vnf-name\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"sourceName\\\"));\\n\\nexecutor.logger.info(executor.outFields);\\nexecutor.logger.info(\\\"sending the status to log.\\\");\\n\\nvar logData = new HashMapType();\\nlogData.put(\\\"eventProcessingStart\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"startEpochMicrosec\\\"));\\nlogData.put(\\\"eventProcessingEnd\\\", longType(new Date().getTime()));\\nlogData.put(\\\"eventId\\\", eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"));\\nlogData.put(\\\"from\\\", \\\"Apex-PDP\\\");\\nlogData.put(\\\"status\\\", \\\"ACTIVE\\\");\\nlogData.put(\\\"message\\\", \\\"VES Event received\\\");\\n\\n//always use the executor.stringify2json method instead of JSON.strngify\\nfireLogEvent(executor.stringify2Json(logData));\\nreturnValue;\\n\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n }\n ]\n }\n },\n \"events\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Events\",\n \"version\": \"0.0.1\"\n },\n \"eventMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"AAI\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"requestError\",\n \"value\": {\n \"key\": \"requestError\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"APEX\",\n \"target\": \"AAI\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"aaifield\",\n \"value\": {\n \"key\": \"aaifield\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"AAI\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"in-maint\",\n \"value\": {\n \"key\": \"in-maint\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"is-closed-loop-disabled\",\n \"value\": {\n \"key\": \"is-closed-loop-disabled\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-customization-id\",\n \"value\": {\n \"key\": \"model-customization-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-invariant-id\",\n \"value\": {\n \"key\": \"model-invariant-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"model-version-id\",\n \"value\": {\n \"key\": \"model-version-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"orchestration-status\",\n \"value\": {\n \"key\": \"orchestration-status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"prov-status\",\n \"value\": {\n \"key\": \"prov-status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"relationship-list\",\n \"value\": {\n \"key\": \"relationship-list\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"resource-version\",\n \"value\": {\n \"key\": \"resource-version\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"service-id\",\n \"value\": {\n \"key\": \"service-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-id\",\n \"value\": {\n \"key\": \"vnf-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-name\",\n \"value\": {\n \"key\": \"vnf-name\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"vnf-type\",\n \"value\": {\n \"key\": \"vnf-type\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"APEX\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"APEX\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartSuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"APEX\",\n \"target\": \"DCAE\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"eventId\",\n \"value\": {\n \"key\": \"eventId\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingEnd\",\n \"value\": {\n \"key\": \"eventProcessingEnd\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"eventProcessingStart\",\n \"value\": {\n \"key\": \"eventProcessingStart\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"from\",\n \"value\": {\n \"key\": \"from\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.example\",\n \"source\": \"DCAE\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"event\",\n \"value\": {\n \"key\": \"event\",\n \"fieldSchemaKey\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n }\n ]\n }\n },\n \"albums\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Albums\",\n \"version\": \"0.0.1\"\n },\n \"albums\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"scope\": \"policy\",\n \"isWritable\": true,\n \"itemSchema\": {\n \"name\": \"ApexExample_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n }\n }\n }\n ]\n }\n },\n \"schemas\": {\n \"key\": {\n \"name\": \"APEXExamplePolicy_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"schemas\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"AAIRequestErrorType\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"serviceException\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"serviceException\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"messageId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"text\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"variables\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSActionIdentifiers_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"actionName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"blueprintName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"blueprintVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"mode\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"CDSConfigResponsePayloadEntry\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"modify_DasH_config_DasH_response\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"modify_DasH_config_DasH_response\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"execute_DasH_command_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n },\\n {\\n \\\"name\\\": \\\"prepare_DasH_environment_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseCommonHeader_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseStatus_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"code\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"message\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"errorMessage\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSRequestCommonHeader_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"map\\\",\\n \\\"values\\\": {\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSRequestPayloadEntry\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"vfStatus\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"update_DasH_properties\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"update_DasH_properties_record\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"service_DasH_instance_DoT_service_DasH_instance_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"generic_DasH_vnf_DoT_vnf_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"data\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"update_DasH_data_record\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"active_DasH_streams\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSRestartResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"CDSRestartResponsePayloadEntry\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"restart_DasH_response\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"restart_DasH_response\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"execute_DasH_command_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n },\\n {\\n \\\"name\\\": \\\"prepare_DasH_environment_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseCommonHeader_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseStatus_Type\\\",\\n \\\"namespace\\\": \\\"org.onap.policy.apex.onap.helloworld\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"code\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventType\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"eventDetails\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"namespace\\\": \\\"com.acme.avro\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"domain\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"lastEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"priority\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"reportingEntityName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sequence\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"startEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"timeZoneOffset\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"version\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vesEventListenerVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"faultFields\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"faultFields\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"alarmAdditionalInformation\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"alarmAdditionalInformation\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"PilotNumberPoolSize\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"alarmCondition\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventSeverity\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventSourceType\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"faultFieldsVersion\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"specificProblem\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vfStatus\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"vnfDetails\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"vnfDetails\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"vnf_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vnf_DasH_name\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vnf_DasH_type\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"service_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"prov_DasH_status\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"orchestration_DasH_status\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"in_DasH_maint\\\",\\n \\\"type\\\": \\\"boolean\\\"\\n },\\n {\\n \\\"name\\\": \\\"is_DasH_closed_DasH_loop_DasH_disabled\\\",\\n \\\"type\\\": \\\"boolean\\\"\\n },\\n {\\n \\\"name\\\": \\\"resource_DasH_version\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"model_DasH_invariant_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"model_DasH_version_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"model_DasH_customization_DasH_id\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"event\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"namespace\\\": \\\"com.acme.avro\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"domain\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"lastEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"priority\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"reportingEntityName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sequence\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"startEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"timeZoneOffset\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"version\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vesEventListenerVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"faultFields\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"faultFields\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"alarmAdditionalInformation\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"alarmAdditionalInformation\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"PilotNumberPoolSize\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"alarmCondition\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventSeverity\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventSourceType\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"faultFieldsVersion\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"specificProblem\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"vfStatus\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"ApexExample_VnfRelationShipListType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"VnfRelationShipListType\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"relationship\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"name\\\": \\\"relationship_record\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"related_DasH_to\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"relationship_DasH_label\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"related_DasH_link\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"relationship_DasH_data\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"name\\\": \\\"relationship_DasH_data_record\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"relationship_DasH_key\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"relationship_DasH_value\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"related_DasH_to_DasH_property\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"name\\\": \\\"related_DasH_to_DasH_property_record\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"property_DasH_key\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"property_DasH_value\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.Boolean\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.Long\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.String\"\n }\n }\n ]\n }\n }\n }\n }\n },\n \"eventInputParameters\": {\n \"ApexExample_DCAEConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTCLIENT\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters\",\n \"parameters\": {\n \"url\": \"http://message-router:3904/events/apex-vnf-input/cl1/apex1?timeout=30000\"\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"ApexExample_VesEvent\"\n },\n \"ApexExample_AAIResponseConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTREQUESTOR\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\",\n \"parameters\": {\n \"url\": \"https://aai:8443/aai/v14/network/generic-vnfs/generic-vnf?vnf-name={vnf-name}\",\n \"httpMethod\": \"GET\",\n \"httpCodeFilter\": \"[245][0-9][0-9]\",\n \"httpHeaders\": [\n [\n \"Accept\",\n \"application/json\"\n ],\n [\n \"Content-Type\",\n \"application/json\"\n ],\n [\n \"X-FromAppId\",\n \"dcae-curl\"\n ],\n [\n \"x-transactionId\",\n \"9998\"\n ],\n [\n \"Authorization\",\n \"Basic QUFJOkFBSQ==\"\n ]\n ]\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"ApexExample_AAISuccessResponseEvent|ApexExample_AAIFailureResponseEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_AAIProducer\",\n \"requestorTimeout\": 2000\n },\n \"ApexExample_CDSConfigModifyResponseConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\"\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"ApexExample_CDSConfigModifySuccessResponseEvent|ApexExample_CDSConfigModifyFailureResponseEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_CDSConfigModifyRequestProducer\",\n \"requestorTimeout\": 500\n },\n \"ApexExample_CDSRestartResponseConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\"\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"ApexExample_CDSRestartSuccessResponseEvent|ApexExample_CDSRestartFailureResponseEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_CDSRestartRequestProducer\",\n \"requestorTimeout\": 500\n }\n },\n \"eventOutputParameters\": {\n \"ApexExample_AAIProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTREQUESTOR\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\"\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"ApexExample_AAIRequestEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_AAIResponseConsumer\",\n \"requestorTimeout\": 2000\n },\n \"ApexExample_CDSConfigModifyRequestProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\",\n \"parameters\": {\n \"host\": \"cds-blueprints-processor-grpc\",\n \"port\": 9111,\n \"username\": \"ccsdkapps\",\n \"password\": \"ccsdkapps\",\n \"timeout\": 60\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"ApexExample_CDSConfigModifyRequestEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_CDSConfigModifyResponseConsumer\",\n \"requestorTimeout\": 500\n },\n \"ApexExample_CDSRestartRequestProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\",\n \"parameters\": {\n \"host\": \"cds-blueprints-processor-grpc\",\n \"port\": 9111,\n \"username\": \"ccsdkapps\",\n \"password\": \"ccsdkapps\",\n \"timeout\": 60\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"ApexExample_CDSRestartRequestEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"ApexExample_CDSRestartResponseConsumer\",\n \"requestorTimeout\": 500\n },\n \"ApexExample_NotificationProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTCLIENT\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters\",\n \"parameters\": {\n \"url\": \"http://message-router:3904/events/APEX-CL-MGT\"\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"ApexExample_LogStatusEvent\"\n },\n \"ApexExample_logOutputter\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"FILE\",\n \"parameters\": {\n \"fileName\": \"outputevents.log\"\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n }\n }\n }\n }\n }\n }\n ]\n }\n}" + }, + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies" + ] + } + }, + "response": [] + }, + { + "name": "Verify VNF Policy", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/onap.policies.apex.vnf.Example/versions/1.0.0", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies", + "onap.policies.apex.vnf.Example", + "versions", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "Create PNF Policy", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"tosca_definitions_version\": \"tosca_simple_yaml_1_1_0\",\n \"topology_template\": {\n \"policies\": [\n {\n \"onap.policies.apex.pnf.Example\": {\n \"type\": \"onap.policies.native.Apex\",\n \"type_version\": \"1.0.0\",\n \"name\": \"onap.policies.apex.pnf.Example\",\n \"version\": \"1.0.0\",\n \"properties\": {\n \"engineServiceParameters\": {\n \"name\": \"TestApexEngine\",\n \"version\": \"0.0.1\",\n \"id\": 45,\n \"instanceCount\": 4,\n \"deploymentPort\": 12561,\n \"engineParameters\": {\n \"executorParameters\": {\n \"JAVASCRIPT\": {\n \"parameterClassName\": \"org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters\"\n }\n },\n \"contextParameters\": {\n \"parameterClassName\": \"org.onap.policy.apex.context.parameters.ContextParameters\",\n \"schemaParameters\": {\n \"Avro\": {\n \"parameterClassName\": \"org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters\"\n }\n }\n },\n \"taskParameters\": [\n {\n \"key\": \"logUrl\",\n \"value\": \"http://message-router:3904/events/APEX-CL-MGT\"\n }\n ]\n },\n \"policy_type_impl\": {\n \"apexPolicyModel\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop\",\n \"version\": \"0.0.1\"\n },\n \"keyInformation\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"keyInfoMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"7218fb2f-59e3-321d-9ae1-bc97b19eb4ae\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleBooleanType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"c8a29e27-0a15-354a-84f9-4c7f207e5c81\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAIFailureResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"5e843cee-0180-39b9-8989-180b2ffe11c0\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAIFailureResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"90291c92-9b27-3cd9-8720-db572419c048\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAIRequestErrorType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"7b7e6751-4e0b-389d-98c0-5567bbc0294c\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAIRequestEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"63d5680c-14ef-3505-8d34-ebb646bba07b\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAISuccessResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"a84ca97d-6e94-39a2-91f9-59a6c9aa435e\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_AAISuccessResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"0e2ee622-7fd3-3e49-82e2-539c4f5e9624\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSActionIdentifiersType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"e84f8682-ea33-3ad0-8626-8bc4634581fc\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyFailureResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"a252f835-2479-38ef-9ef4-20af62725752\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"cfc46ea9-b8c1-38dd-ac9c-304c916daf34\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyFailureResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"1e7095d6-a455-3f89-acae-486e35d7e311\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyRequestEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"d22ea83b-695d-3da9-b9f5-41f16ca433bf\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyRequestPayloadType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"e9fe2e40-1f0d-30dd-8b9e-885695878693\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifyResponsePayloadType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"5e04fa76-0a17-38a9-8524-23b2d1a23fa5\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifySuccessResponseEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"15866380-40f5-3f8e-87d9-13747a36d352\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"2c3d76ce-dd42-32ac-a397-ab418534e1cf\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSConfigModifySuccessResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"b99c44da-dae7-3c96-b528-58852537d063\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSFailureResponseCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"1db688e2-3afe-3b03-9795-fdbfa80fa240\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSFailureResponseStatusType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"31022456-e85b-3a9b-9ecb-a09691792d3e\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSRequestCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"d6075720-622e-3a0d-827a-aa4580a2f5d7\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSSuccessResponseCommonHeaderType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"948359ff-3308-3ac5-a5ec-6e3c1b9cd4d5\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_CDSSuccessResponseStatusType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"63a6fd26-2fd6-3a0e-8a27-49a5d2ea4644\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_EventDetailsAlbum:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"a0407d0b-5719-38bf-9529-25ad62ace8c4\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_EventDetailsAlbumType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"28e894dc-4ab8-3469-aab7-d81bd05bb4c9\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_HandleAAIFailureResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"073f1433-999e-3506-98ad-ef820d2fa7f0\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_HandleAAISuccessResponseTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"afc6ed46-6801-3c85-bb4c-0ab5b0dd4a74\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_HandleVesEventTask:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"98e1ddd7-3bd9-30c1-b877-4b9b4d3bff15\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_LogStatusEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"0f57665a-f0a9-314e-ad0a-04c1f5758174\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_VesEvent:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ba5d9a46-8cb4-3fbe-84fd-eabba5b7dd4b\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_VesEventHandlerPolicy:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"9fd7a967-57d4-36ef-81e9-c3396f3aa8d1\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleCL_VesEventType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"2dfcd9ec-a6f9-3f9f-958f-9b36cf4ac574\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleLongType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"8a4957cf-9493-3a76-8c22-a208e23259af\",\n \"description\": \"Generated description for concept referred to by key \\\"SimpleStringType:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ecc97b87-f30b-344c-a476-d36501bf5cbd\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Albums\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Albums\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"1469671a-56dd-3a68-bf6c-77a5cf7a9487\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_Albums:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Events\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Events\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"23c4eee4-aba5-36f6-96d6-46f40061bfed\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_Events:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_KeyInfo\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"ea9e73ff-483c-3827-896c-6eaa9d69bc6e\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_KeyInfo:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Policies\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Policies\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"38c068e5-bb9a-3997-9e50-ec77c66825c8\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_Policies:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"38514b27-8b9b-3d06-844a-3aced27deb0a\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_Schemas:0.0.1\\\"\"\n }\n },\n {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"UUID\": \"0e0387b5-07fa-30e4-8554-eb51d2e18939\",\n \"description\": \"Generated description for concept referred to by key \\\"onap.policies.apex.Simplecontrolloop_Tasks:0.0.1\\\"\"\n }\n }\n ]\n }\n },\n \"policies\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Policies\",\n \"version\": \"0.0.1\"\n },\n \"policyMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"SimpleCL_ReceiveAAIFailureResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"SimpleCL_ReceiveAAIFailureResponseState\"\n },\n \"trigger\": {\n \"name\": \"SimpleCL_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"AAIFailureStateOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAIFailureResponseState\",\n \"localName\": \"AAIFailureStateOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAIFailureResponseState\",\n \"localName\": \"SimpleCL_AAIFailureResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"SimpleCL_AAIFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAIFailureResponseState\",\n \"localName\": \"AAIFailureStateOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"SimpleCL_ReceiveAAIFailureResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"SimpleCL_ReceiveAAISuccessResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"SimpleCL_ReceiveAAISuccessResponseState\"\n },\n \"trigger\": {\n \"name\": \"SimpleCL_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"AAISuccessStateOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAISuccessResponseState\",\n \"localName\": \"AAISuccessStateOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAISuccessResponseState\",\n \"localName\": \"SimpleCL_AAISuccessResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"SimpleCL_AAISuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveAAISuccessResponseState\",\n \"localName\": \"AAISuccessStateOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"SimpleCL_ReceiveAAISuccessResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"SimpleCL_CDSConfigModifyFailureResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"SimpleCL_CDSConfigModifyFailureResponseState\"\n },\n \"trigger\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ConfigModifyFailureResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifyFailureResponseState\",\n \"localName\": \"ConfigModifyFailureResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifyFailureResponseState\",\n \"localName\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifyFailureResponseState\",\n \"localName\": \"ConfigModifyFailureResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"SimpleCL_CDSConfigModifyFailureResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"SimpleCL_CDSConfigModifySuccessResponseState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"SimpleCL_CDSConfigModifySuccessResponseState\"\n },\n \"trigger\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"ConfigModifySuccessResponseOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifySuccessResponseState\",\n \"localName\": \"ConfigModifySuccessResponseOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifySuccessResponseState\",\n \"localName\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_CDSConfigModifySuccessResponseState\",\n \"localName\": \"ConfigModifySuccessResponseOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"SimpleCL_CDSConfigModifySuccessResponseState\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"policyKey\": {\n \"name\": \"SimpleCL_VesEventHandlerPolicy\",\n \"version\": \"0.0.1\"\n },\n \"template\": \"Freestyle\",\n \"state\": {\n \"entry\": [\n {\n \"key\": \"SimpleCL_ReceiveVesState\",\n \"value\": {\n \"stateKey\": {\n \"parentKeyName\": \"SimpleCL_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"SimpleCL_ReceiveVesState\"\n },\n \"trigger\": {\n \"name\": \"SimpleCL_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"stateOutputs\": {\n \"entry\": [\n {\n \"key\": \"VesOutput\",\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveVesState\",\n \"localName\": \"VesOutput\"\n },\n \"outgoingEvent\": {\n \"name\": \"SimpleCL_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nextState\": {\n \"parentKeyName\": \"NULL\",\n \"parentKeyVersion\": \"0.0.0\",\n \"parentLocalName\": \"NULL\",\n \"localName\": \"NULL\"\n }\n }\n }\n ]\n },\n \"contextAlbumReference\": [],\n \"taskSelectionLogic\": {\n \"key\": \"NULL\",\n \"logicFlavour\": \"UNDEFINED\",\n \"logic\": \"\"\n },\n \"stateFinalizerLogicMap\": {\n \"entry\": []\n },\n \"defaultTask\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"taskReferences\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"parentKeyName\": \"SimpleCL_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveVesState\",\n \"localName\": \"SimpleCL_VesEventHandlerPolicy\"\n },\n \"outputType\": \"DIRECT\",\n \"output\": {\n \"parentKeyName\": \"SimpleCL_VesEventHandlerPolicy\",\n \"parentKeyVersion\": \"0.0.1\",\n \"parentLocalName\": \"SimpleCL_ReceiveVesState\",\n \"localName\": \"VesOutput\"\n }\n }\n }\n ]\n }\n }\n }\n ]\n },\n \"firstState\": \"SimpleCL_ReceiveVesState\"\n }\n }\n ]\n }\n },\n \"tasks\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Tasks\",\n \"version\": \"0.0.1\"\n },\n \"taskMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\nvar HashMapType = java.util.HashMap;\\n\\nvar cdsResponse = executor.inFields;\\nvar albumID = cdsResponse.get(\\\"commonHeader\\\").get(\\\"subRequestId\\\");\\n\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").get(albumID.toString());\\nvar commonEventHeader = eventDetailsAlbum.get(\\\"commonEventHeader\\\");\\nvar timestamp = longType(new Date().getTime())\\nvar errorMessage = \\\"CDS operation failed. Error message from CDS - \\\" + executor.inFields.get(\\\"status\\\").get(\\\"errorMessage\\\");\\nsend(commonEventHeader.get(\\\"eventId\\\"), \\\"PNF\\\", eventDetailsAlbum.get(\\\"otherFields\\\").get(\\\"hashMap\\\").get(\\\"pnfName\\\"), timestamp, \\\"FINAL_FAILURE\\\", \\\"Failed to process VES event. Reason: \\\" + errorMessage);\\ntrue;\\n\\nfunction send(id, targetType, targetId, timestamp, status, message) {\\n var logData = '{'\\n +'\\\"id\\\" : \\\"' + id + '\\\",'\\n +'\\\"target\\\" : {'\\n +'\\\"targetType\\\" : \\\"' + targetType + '\\\",'\\n +'\\\"entityInfo\\\" : {'\\n +'\\\"pnf-name\\\" : \\\"' + targetId + '\\\"'\\n +'}'\\n +'},'\\n +'\\\"component\\\" : {'\\n +'\\\"name\\\" : \\\"Policy\\\",'\\n +'\\\"flavour\\\" : \\\"Apex-PDP\\\",'\\n +'\\\"timestamp\\\" : ' + timestamp + ','\\n +'\\\"status\\\" : \\\"' + status + '\\\",'\\n +'\\\"message\\\" : \\\"' + message + '\\\",'\\n +'\\\"artifacts\\\" : {'\\n +'\\\"policyName\\\" : \\\"onap.policies.apex.Simplecontrolloop\\\",'\\n +'\\\"policyVersion\\\" : \\\"1.0.0\\\"'\\n +'}'\\n +'},'\\n +'\\\"otherFields\\\" : {'\\n +'\\\"useCaseName\\\" : \\\"simple-controlloop-usecase\\\"'\\n +'}'\\n +'}';\\n\\n executor.logger.info(\\\"sending the status to log.\\\");\\n fireLogEvent(logData);\\n}\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\nvar HashMapType = java.util.HashMap;\\n\\nvar cdsResponse = executor.inFields;\\nvar albumID = cdsResponse.get(\\\"commonHeader\\\").get(\\\"subRequestId\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").get(albumID.toString());\\nvar commonEventHeader = eventDetailsAlbum.get(\\\"commonEventHeader\\\");\\nvar timestamp = longType(new Date().getTime());\\n\\nsend(commonEventHeader.get(\\\"eventId\\\"), \\\"PNF\\\", eventDetailsAlbum.get(\\\"otherFields\\\").get(\\\"hashMap\\\").get(\\\"pnfName\\\"), timestamp, \\\"FINAL_SUCCESS\\\", \\\"Successfully processed the VES event. Hostname is updated.\\\")\\ntrue;\\n\\nfunction send(id, targetType, targetId, timestamp, status, message) {\\n var logData = '{'\\n +'\\\"id\\\" : \\\"' + id + '\\\",'\\n +'\\\"target\\\" : {'\\n +'\\\"targetType\\\" : \\\"' + targetType + '\\\",'\\n +'\\\"entityInfo\\\" : {'\\n +'\\\"pnf-name\\\" : \\\"' + targetId + '\\\"'\\n +'}'\\n +'},'\\n +'\\\"component\\\" : {'\\n +'\\\"name\\\" : \\\"Policy\\\",'\\n +'\\\"flavour\\\" : \\\"Apex-PDP\\\",'\\n +'\\\"timestamp\\\" : ' + timestamp + ','\\n +'\\\"status\\\" : \\\"' + status + '\\\",'\\n +'\\\"message\\\" : \\\"' + message + '\\\",'\\n +'\\\"artifacts\\\" : {'\\n +'\\\"policyName\\\" : \\\"onap.policies.apex.Simplecontrolloop\\\",'\\n +'\\\"policyVersion\\\" : \\\"1.0.0\\\"'\\n +'}'\\n +'},'\\n +'\\\"otherFields\\\" : {'\\n +'\\\"useCaseName\\\" : \\\"simple-controlloop-usecase\\\"'\\n +'}'\\n +'}';\\n\\n executor.logger.info(\\\"sending the status to log.\\\");\\n fireLogEvent(logData);\\n}\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAIFailureResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"requestError\",\n \"value\": {\n \"key\": \"requestError\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar longType = java.lang.Long;\\nvar HashMapType = java.util.HashMap;\\n\\nvar aaiErrorMessage = \\\"AAI operation failed. Error message from AAI - \\\" + executor.inFields.get(\\\"requestError\\\").get(\\\"serviceException\\\").get(\\\"text\\\");\\nvar timestamp = longType(new Date().getTime());\\n\\n//Sending messageId received from AAI error message since eventId is not available in this task logic\\nsend(executor.inFields.get(\\\"requestError\\\").get(\\\"serviceException\\\").get(\\\"messageId\\\"), \\\"PNF\\\", \\\"N/A\\\", timestamp, \\\"FINAL_FAILURE\\\", \\\"Failed to process VES event. Reason: \\\" + aaiErrorMessage)\\ntrue;\\n\\nfunction send(id, targetType, targetId, timestamp, status, message) {\\n var logData = '{'\\n +'\\\"id\\\" : \\\"' + id + '\\\",'\\n +'\\\"target\\\" : {'\\n +'\\\"targetType\\\" : \\\"' + targetType + '\\\",'\\n +'\\\"entityInfo\\\" : {'\\n +'\\\"pnf-name\\\" : \\\"' + targetId + '\\\"'\\n +'}'\\n +'},'\\n +'\\\"component\\\" : {'\\n +'\\\"name\\\" : \\\"Policy\\\",'\\n +'\\\"flavour\\\" : \\\"Apex-PDP\\\",'\\n +'\\\"timestamp\\\" : ' + timestamp + ','\\n +'\\\"status\\\" : \\\"' + status + '\\\",'\\n +'\\\"message\\\" : \\\"' + message + '\\\",'\\n +'\\\"artifacts\\\" : {'\\n +'\\\"policyName\\\" : \\\"onap.policies.apex.Simplecontrolloop\\\",'\\n +'\\\"policyVersion\\\" : \\\"1.0.0\\\"'\\n +'}'\\n +'},'\\n +'\\\"otherFields\\\" : {'\\n +'\\\"useCaseName\\\" : \\\"simple-controlloop-usecase\\\"'\\n +'}'\\n +'}';\\n\\n executor.logger.info(\\\"sending the status to log.\\\");\\n fireLogEvent(logData);\\n}\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleAAISuccessResponseTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"equip-model\",\n \"value\": {\n \"key\": \"equip-model\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"equip-type\",\n \"value\": {\n \"key\": \"equip-type\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"equip-vendor\",\n \"value\": {\n \"key\": \"equip-vendor\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"in-maint\",\n \"value\": {\n \"key\": \"in-maint\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"ipaddress-v4-oam\",\n \"value\": {\n \"key\": \"ipaddress-v4-oam\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"ipaddress-v6-oam\",\n \"value\": {\n \"key\": \"ipaddress-v6-oam\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"management-option\",\n \"value\": {\n \"key\": \"management-option\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-id\",\n \"value\": {\n \"key\": \"pnf-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-name\",\n \"value\": {\n \"key\": \"pnf-name\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-name2\",\n \"value\": {\n \"key\": \"pnf-name2\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"resource-version\",\n \"value\": {\n \"key\": \"resource-version\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar HashMapType = java.util.HashMap;\\nvar longType = java.lang.Long;\\n\\nvar pnfDetails = executor.inFields;\\nvar albumID = pnfDetails.get(\\\"pnf-id\\\");\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").get(albumID.toString());\\nexecutor.logger.info(\\\"HandleAAISuccessResponseTask extracted context album - \\\" + albumID.toString() + \\\"::\\\" + eventDetailsAlbum);\\n\\nvar commonEventHeader = eventDetailsAlbum.get(\\\"commonEventHeader\\\");\\nvar otherFieldsMap = eventDetailsAlbum.get(\\\"otherFields\\\").get(\\\"hashMap\\\");\\n\\nvar targetEntityName = executor.inFields.get(\\\"pnf-name\\\")\\nvar logMessage = \\\"\\\";\\nvar existingHostname = executor.inFields.get(\\\"pnf-name2\\\");\\nvar hostnameInVesEvent = otherFieldsMap.get(\\\"hostname\\\");\\n\\nvar albumSchemaHelper = executor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").getSchemaHelper();\\nvar target = albumSchemaHelper.createNewSubInstance(\\\"target\\\");\\ntarget.put(\\\"targetType\\\", \\\"PNF\\\")\\nvar entityInfo = albumSchemaHelper.createNewSubInstance(\\\"entityInfo\\\");\\nentityInfo.put(\\\"name\\\",targetEntityName);\\ntarget.put(\\\"entityInfo\\\", entityInfo);\\neventDetailsAlbum.put(\\\"target\\\", target);\\n\\nvar returnVal = true;\\nvar timestamp = longType(new Date().getTime());\\nif ((String(hostnameInVesEvent) != \\\"UNDEFINED\\\") && (String(existingHostname) != String(hostnameInVesEvent))) {\\n logMessage = \\\"Hostname available in AAI does not match with the hostname received in the VES Event.\\\";\\n returnVal = false\\n send(commonEventHeader.get(\\\"eventId\\\"), \\\"PNF\\\", otherFieldsMap.get(\\\"pnfName\\\"), timestamp, \\\"FINAL_FAILURE\\\", \\\"Failed to process VES event. Reason: \\\" + logMessage)\\n} else {\\n logMessage = \\\"Received response from AAI successfully. Hostname in AAI matches with the one in Ves event. Going to make the update-config request to CDS.\\\";\\n\\n var commonHeader = executor.subject.getOutFieldSchemaHelper(\\\"commonHeader\\\").createNewInstance();\\n commonHeader.put(\\\"subRequestId\\\", albumID.toString());\\n commonHeader.put(\\\"requestId\\\", commonEventHeader.get(\\\"eventId\\\"));\\n commonHeader.put(\\\"originatorId\\\", \\\"POLICY\\\");\\n\\n var blueprintName = \\\"pnf-test-cba\\\";\\n var blueprintVersion = \\\"1.0.0\\\";\\n var newHostname = \\\"host\\\" + Math.random().toString(36).substring(7);\\n eventDetailsAlbum.put(\\\"generatedHostname\\\", newHostname);\\n\\n var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\\\"actionIdentifiers\\\").createNewInstance();\\n actionIdentifiers.put(\\\"mode\\\", \\\"sync\\\");\\n actionIdentifiers.put(\\\"blueprintName\\\", blueprintName);\\n actionIdentifiers.put(\\\"blueprintVersion\\\", blueprintVersion);\\n actionIdentifiers.put(\\\"actionName\\\", \\\"update-config\\\");\\n\\n var payloadEntry = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewSubInstance(\\\"CDSConfigModifyRequestPayloadEntry\\\");\\n payloadEntry.put(\\\"hostname\\\", newHostname)\\n payloadEntry.put(\\\"IP\\\", executor.inFields.get(\\\"ipaddress-v4-oam\\\"));\\n payloadEntry.put(\\\"pnfName\\\", otherFieldsMap.get(\\\"pnfName\\\"));\\n\\n var payload = executor.subject.getOutFieldSchemaHelper(\\\"payload\\\").createNewInstance();\\n payload.put(\\\"update_DasH_config_DasH_request\\\", payloadEntry);\\n\\n executor.outFields.put(\\\"commonHeader\\\", commonHeader);\\n executor.outFields.put(\\\"actionIdentifiers\\\", actionIdentifiers);\\n executor.outFields.put(\\\"payload\\\", payload);\\n\\n send(commonEventHeader.get(\\\"eventId\\\"), \\\"PNF\\\", otherFieldsMap.get(\\\"pnfName\\\"), timestamp, \\\"SUCCESS\\\", logMessage)\\n}\\n\\nreturnVal;\\n\\nfunction send(id, targetType, targetId, timestamp, status, message) {\\n var logData = '{'\\n +'\\\"id\\\" : \\\"' + id + '\\\",'\\n +'\\\"target\\\" : {'\\n +'\\\"targetType\\\" : \\\"' + targetType + '\\\",'\\n +'\\\"entityInfo\\\" : {'\\n +'\\\"pnf-name\\\" : \\\"' + targetId + '\\\"'\\n +'}'\\n +'},'\\n +'\\\"component\\\" : {'\\n +'\\\"name\\\" : \\\"Policy\\\",'\\n +'\\\"flavour\\\" : \\\"Apex-PDP\\\",'\\n +'\\\"timestamp\\\" : ' + timestamp + ','\\n +'\\\"status\\\" : \\\"' + status + '\\\",'\\n +'\\\"message\\\" : \\\"' + message + '\\\",'\\n +'\\\"artifacts\\\" : {'\\n +'\\\"policyName\\\" : \\\"onap.policies.apex.Simplecontrolloop\\\",'\\n +'\\\"policyVersion\\\" : \\\"1.0.0\\\"'\\n +'}'\\n +'},'\\n +'\\\"otherFields\\\" : {'\\n +'\\\"useCaseName\\\" : \\\"simple-controlloop-usecase\\\"'\\n +'}'\\n +'}';\\n\\n executor.logger.info(\\\"sending the status to log.\\\");\\n fireLogEvent(logData);\\n}\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_HandleVesEventTask\",\n \"version\": \"0.0.1\"\n },\n \"inputFields\": {\n \"entry\": [\n {\n \"key\": \"event\",\n \"value\": {\n \"key\": \"event\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"outputFields\": {\n \"entry\": [\n {\n \"key\": \"aaifield\",\n \"value\": {\n \"key\": \"aaifield\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n },\n \"taskParameters\": {\n \"entry\": []\n },\n \"contextAlbumReference\": [\n {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n }\n ],\n \"taskLogic\": {\n \"key\": \"TaskLogic\",\n \"logicFlavour\": \"JAVASCRIPT\",\n \"logic\": \"var uuidType = java.util.UUID;\\nvar HashMapType = java.util.HashMap;\\nvar longType = java.lang.Long;\\n\\nvar eventDetailsAlbum = executor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").getSchemaHelper().createNewInstance();\\nvar returnValue = true;\\n\\nvar event = executor.inFields.get(\\\"event\\\");\\nexecutor.logger.info(\\\"HandleVesEventTask processing VES event - \\\" + event);\\n\\nvar commonEventHeader = event.get(\\\"commonEventHeader\\\");\\nvar otherFields = event.get(\\\"otherFields\\\");\\n// albumID will be used to fetch info from our album later. Storing event data in album by sourceId / AAI pnf-id, the same will be sent to CDS request payload as subRequestId\\nvar albumID = commonEventHeader.get(\\\"sourceId\\\");\\n// save the event processing start time in apex\\ncommonEventHeader.put(\\\"startEpochMicrosec\\\", longType(new Date().getTime()));\\n//save the incoming event details to album\\neventDetailsAlbum.put(\\\"commonEventHeader\\\", commonEventHeader);\\neventDetailsAlbum.put(\\\"otherFields\\\", otherFields);\\nexecutor.getContextAlbum(\\\"SimpleCL_EventDetailsAlbum\\\").put(albumID.toString(), eventDetailsAlbum);\\nexecutor.logger.info(\\\"HandleVesEventTask storing context album - \\\" + albumID.toString() + \\\"::\\\" + eventDetailsAlbum);\\n\\nexecutor.getExecutionProperties().setProperty(\\\"pnfName\\\", otherFields.get(\\\"hashMap\\\").get(\\\"pnfName\\\"));\\n\\nvar timestamp = longType(new Date().getTime());\\nsend(eventDetailsAlbum.get(\\\"commonEventHeader\\\").get(\\\"eventId\\\"), \\\"PNF\\\", otherFields.get(\\\"hashMap\\\").get(\\\"pnfName\\\"), timestamp, \\\"ACTIVE\\\", \\\"VES event has been received. Going to fetch details from AAI.\\\")\\nexecutor.logger.info(executor.outFields);\\nreturnValue;\\n\\nfunction send(id, targetType, targetId, timestamp, status, message) {\\n var logData = '{'\\n +'\\\"id\\\" : \\\"' + id + '\\\",'\\n +'\\\"target\\\" : {'\\n +'\\\"targetType\\\" : \\\"' + targetType + '\\\",'\\n +'\\\"entityInfo\\\" : {'\\n +'\\\"pnf-name\\\" : \\\"' + targetId + '\\\"'\\n +'}'\\n +'},'\\n +'\\\"component\\\" : {'\\n +'\\\"name\\\" : \\\"Policy\\\",'\\n +'\\\"flavour\\\" : \\\"Apex-PDP\\\",'\\n +'\\\"timestamp\\\" : ' + timestamp + ','\\n +'\\\"status\\\" : \\\"' + status + '\\\",'\\n +'\\\"message\\\" : \\\"' + message + '\\\",'\\n +'\\\"artifacts\\\" : {'\\n +'\\\"policyName\\\" : \\\"onap.policies.apex.Simplecontrolloop\\\",'\\n +'\\\"policyVersion\\\" : \\\"1.0.0\\\"'\\n +'}'\\n +'},'\\n +'\\\"otherFields\\\" : {'\\n +'\\\"useCaseName\\\" : \\\"simple-controlloop-usecase\\\"'\\n +'}'\\n +'}';\\n\\n executor.logger.info(\\\"sending the status to log.\\\");\\n fireLogEvent(logData);\\n}\\n\\nfunction fireLogEvent(logEvent){\\n var headers = new HashMapType();\\n //headers.put(\\\"Authorization\\\" , \\\"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\\\");\\n executor.logger.info(\\\"LogEvent:\\\"+logEvent);\\n var response = new org.onap.policy.rest.RestManager().post(\\n executor.getParameters().get(\\\"logUrl\\\"),\\n \\\"\\\",\\n \\\"\\\",\\n headers,\\n \\\"application/json\\\",\\n logEvent\\n );\\n executor.logger.info(\\\"DMaaP Response after sending LogEvent: \\\" + response);\\n return response;\\n}\"\n }\n }\n }\n ]\n }\n },\n \"events\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Events\",\n \"version\": \"0.0.1\"\n },\n \"eventMap\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"AAI\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"requestError\",\n \"value\": {\n \"key\": \"requestError\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"APEX\",\n \"target\": \"AAI\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"aaifield\",\n \"value\": {\n \"key\": \"aaifield\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAISuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"AAI\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"equip-model\",\n \"value\": {\n \"key\": \"equip-model\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"equip-type\",\n \"value\": {\n \"key\": \"equip-type\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"equip-vendor\",\n \"value\": {\n \"key\": \"equip-vendor\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"in-maint\",\n \"value\": {\n \"key\": \"in-maint\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"ipaddress-v4-oam\",\n \"value\": {\n \"key\": \"ipaddress-v4-oam\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"ipaddress-v6-oam\",\n \"value\": {\n \"key\": \"ipaddress-v6-oam\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"management-option\",\n \"value\": {\n \"key\": \"management-option\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-id\",\n \"value\": {\n \"key\": \"pnf-id\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-name\",\n \"value\": {\n \"key\": \"pnf-name\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"pnf-name2\",\n \"value\": {\n \"key\": \"pnf-name2\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"resource-version\",\n \"value\": {\n \"key\": \"resource-version\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"APEX\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifySuccessResponseEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"CDS\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"actionIdentifiers\",\n \"value\": {\n \"key\": \"actionIdentifiers\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"commonHeader\",\n \"value\": {\n \"key\": \"commonHeader\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"payload\",\n \"value\": {\n \"key\": \"payload\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n },\n {\n \"key\": \"status\",\n \"value\": {\n \"key\": \"status\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_LogStatusEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"APEX\",\n \"target\": \"DCAE\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"message\",\n \"value\": {\n \"key\": \"message\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_VesEvent\",\n \"version\": \"0.0.1\"\n },\n \"nameSpace\": \"org.onap.policy.apex.simplecontrolloop\",\n \"source\": \"DCAE\",\n \"target\": \"APEX\",\n \"parameter\": {\n \"entry\": [\n {\n \"key\": \"event\",\n \"value\": {\n \"key\": \"event\",\n \"fieldSchemaKey\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"optional\": false\n }\n }\n ]\n }\n }\n }\n ]\n }\n },\n \"albums\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Albums\",\n \"version\": \"0.0.1\"\n },\n \"albums\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbum\",\n \"version\": \"0.0.1\"\n },\n \"scope\": \"policy\",\n \"isWritable\": true,\n \"itemSchema\": {\n \"name\": \"SimpleCL_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n }\n }\n }\n ]\n }\n },\n \"schemas\": {\n \"key\": {\n \"name\": \"onap.policies.apex.Simplecontrolloop_Schemas\",\n \"version\": \"0.0.1\"\n },\n \"schemas\": {\n \"entry\": [\n {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleBooleanType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.Boolean\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_AAIRequestErrorType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"AAIRequestErrorType\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"serviceException\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"serviceException\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"messageId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"text\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"variables\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSActionIdentifiersType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSActionIdentifiers_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"actionName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"blueprintName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"blueprintVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"mode\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyRequestPayloadType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"map\\\",\\n \\\"values\\\": {\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSConfigModifyRequestPayloadEntry\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"hostname\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"IP\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"pnfName\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSConfigModifyResponsePayloadType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"CDSConfigResponsePayloadEntry\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"update_DasH_config_DasH_response\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"update_DasH_config_DasH_response\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"execute_DasH_command_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n },\\n {\\n \\\"name\\\": \\\"prepare_DasH_environment_DasH_logs\\\",\\n \\\"type\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": \\\"string\\\"\\n }\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseCommonHeader_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSFailureResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseStatus_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"code\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"message\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"errorMessage\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSRequestCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSRequestCommonHeader_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseCommonHeaderType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseCommonHeader_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"originatorId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"requestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"subRequestId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_CDSSuccessResponseStatusType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"type\\\": \\\"record\\\",\\n \\\"name\\\": \\\"CDSResponseStatus_Type\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"code\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventType\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"timestamp\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_EventDetailsAlbumType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\": \\\"eventDetails\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"commonEventHeader\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"domain\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"eventName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"lastEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"priority\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"reportingEntityName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sequence\\\",\\n \\\"type\\\": \\\"int\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"sourceName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"startEpochMicrosec\\\",\\n \\\"type\\\": \\\"long\\\"\\n },\\n {\\n \\\"name\\\": \\\"timeZoneOffset\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"version\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"internalHeaderFields\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"internalHeaderFields\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": []\\n }\\n },\\n {\\n \\\"name\\\": \\\"vesEventListenerVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"otherFields\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"otherFields\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"hashMap\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"hashMap\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"hostname\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"pnfName\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"pnfId\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"ip\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"otherFieldsVersion\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"target\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"target\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"targetType\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n {\\n \\\"name\\\": \\\"entityInfo\\\",\\n \\\"type\\\": {\\n \\\"name\\\": \\\"entityInfo\\\",\\n \\\"type\\\": \\\"record\\\",\\n \\\"fields\\\": [\\n {\\n \\\"name\\\": \\\"name\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\": \\\"generatedHostname\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleCL_VesEventType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Avro\",\n \"schemaDefinition\": \"{\\n \\\"name\\\":\\\"event\\\",\\n \\\"type\\\":\\\"record\\\",\\n \\\"fields\\\":[\\n {\\n \\\"name\\\":\\\"commonEventHeader\\\",\\n \\\"type\\\":{\\n \\\"name\\\":\\\"commonEventHeader\\\",\\n \\\"type\\\":\\\"record\\\",\\n \\\"fields\\\":[\\n {\\n \\\"name\\\":\\\"domain\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"eventId\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"eventName\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"lastEpochMicrosec\\\",\\n \\\"type\\\":\\\"long\\\"\\n },\\n {\\n \\\"name\\\":\\\"priority\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"reportingEntityName\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"sequence\\\",\\n \\\"type\\\":\\\"int\\\"\\n },\\n {\\n \\\"name\\\":\\\"sourceId\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"sourceName\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"startEpochMicrosec\\\",\\n \\\"type\\\":\\\"long\\\"\\n },\\n {\\n \\\"name\\\":\\\"version\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"internalHeaderFields\\\",\\n \\\"type\\\":{\\n \\\"name\\\":\\\"internalHeaderFields\\\",\\n \\\"type\\\":\\\"record\\\",\\n \\\"fields\\\":[\\n\\n ]\\n }\\n },\\n {\\n \\\"name\\\":\\\"vesEventListenerVersion\\\",\\n \\\"type\\\":\\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\":\\\"otherFields\\\",\\n \\\"type\\\":{\\n \\\"name\\\":\\\"otherFields\\\",\\n \\\"type\\\":\\\"record\\\",\\n \\\"fields\\\":[\\n {\\n \\\"name\\\":\\\"hashMap\\\",\\n \\\"type\\\":{\\n \\\"name\\\":\\\"hashMap\\\",\\n \\\"type\\\":\\\"record\\\",\\n \\\"fields\\\":[\\n {\\n \\\"name\\\":\\\"hostname\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"pnfName\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"pnfId\\\",\\n \\\"type\\\":\\\"string\\\"\\n },\\n {\\n \\\"name\\\":\\\"ip\\\",\\n \\\"type\\\":\\\"string\\\"\\n }\\n ]\\n }\\n },\\n {\\n \\\"name\\\":\\\"otherFieldsVersion\\\",\\n \\\"type\\\":\\\"string\\\"\\n }\\n ]\\n }\\n }\\n ]\\n}\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleLongType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.Long\"\n }\n },\n {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"value\": {\n \"key\": {\n \"name\": \"SimpleStringType\",\n \"version\": \"0.0.1\"\n },\n \"schemaFlavour\": \"Java\",\n \"schemaDefinition\": \"java.lang.String\"\n }\n }\n ]\n }\n }\n }\n }\n },\n \"eventInputParameters\": {\n \"SimpleCL_DCAEConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTCLIENT\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters\",\n \"parameters\": {\n \"url\": \"http://message-router:3904/events/apex-pnf-input/cl/apex?timeout=30000\"\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"SimpleCL_VesEvent\"\n },\n \"SimpleCL_AAIResponseConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTREQUESTOR\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\",\n \"parameters\": {\n \"url\": \"https://aai:8443/aai/v14/network/pnfs/pnf/{pnfName}\",\n \"httpMethod\": \"GET\",\n \"httpCodeFilter\": \"[2-5][0-1][0-9]\",\n \"httpHeaders\": [\n [\n \"Accept\",\n \"application/json\"\n ],\n [\n \"Content-Type\",\n \"application/json\"\n ],\n [\n \"X-FromAppId\",\n \"dcae-curl\"\n ],\n [\n \"x-transactionId\",\n \"9998\"\n ],\n [\n \"Authorization\",\n \"Basic QUFJOkFBSQ==\"\n ]\n ]\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"SimpleCL_AAISuccessResponseEvent|SimpleCL_AAIFailureResponseEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"SimpleCL_AAIProducer\",\n \"requestorTimeout\": 2000\n },\n \"SimpleCL_CDSConfigModifyResponseConsumer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\"\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventName\": \"SimpleCL_CDSConfigModifySuccessResponseEvent|SimpleCL_CDSConfigModifyFailureResponseEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"SimpleCL_CDSConfigModifyRequestProducer\",\n \"requestorTimeout\": 500\n }\n },\n \"eventOutputParameters\": {\n \"SimpleCL_AAIProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"RESTREQUESTOR\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\"\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"SimpleCL_AAIRequestEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"SimpleCL_AAIResponseConsumer\",\n \"requestorTimeout\": 2000\n },\n \"SimpleCL_CDSConfigModifyRequestProducer\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"GRPC\",\n \"parameterClassName\": \"org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters\",\n \"parameters\": {\n \"host\": \"cds-blueprints-processor-grpc\",\n \"port\": 9111,\n \"username\": \"ccsdkapps\",\n \"password\": \"ccsdkapps\",\n \"timeout\": 60\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n },\n \"eventNameFilter\": \"SimpleCL_CDSConfigModifyRequestEvent\",\n \"requestorMode\": true,\n \"requestorPeer\": \"SimpleCL_CDSConfigModifyResponseConsumer\",\n \"requestorTimeout\": 500\n },\n \"SimpleCL_logOutputter\": {\n \"carrierTechnologyParameters\": {\n \"carrierTechnology\": \"FILE\",\n \"parameters\": {\n \"fileName\": \"outputevents.log\"\n }\n },\n \"eventProtocolParameters\": {\n \"eventProtocol\": \"JSON\"\n }\n }\n }\n }\n }\n }\n ]\n }\n}" + }, + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies" + ] + } + }, + "response": [] + }, + { + "name": "Verify PNF Policy", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/onap.policies.apex.pnf.Example/versions/1.0.0", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies", + "onap.policies.apex.pnf.Example", + "versions", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "PDP Group Query", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps" + ] + } + }, + "response": [] + }, + { + "name": "Deploy Policy", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"groups\": [\r\n {\r\n \"name\": \"defaultGroup\",\r\n \"deploymentSubgroups\": [\r\n {\r\n \"pdpType\": \"apex\",\r\n \"action\": \"POST\",\r\n \"policies\": [\r\n {\r\n \"name\": \"onap.policies.apex.vnf.Example\",\r\n \"version\": \"1.0.0\"\r\n },\r\n {\r\n \"name\": \"onap.policies.apex.pnf.Example\",\r\n \"version\": \"1.0.0\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n}" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/deployments/batch", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "deployments", + "batch" + ] + } + }, + "response": [] + }, + { + "name": "PDP Group Query", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps" + ] + } + }, + "response": [] + }, + { + "name": "VNF Policy Status", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/status/defaultGroup/onap.policies.apex.vnf.Example/1.0.0", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "status", + "defaultGroup", + "onap.policies.apex.vnf.Example", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "PNF Policy Status", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/status/defaultGroup/onap.policies.apex.pnf.Example/1.0.0", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "status", + "defaultGroup", + "onap.policies.apex.pnf.Example", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "VNF Policy Audit", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/audit/defaultGroup/onap.policies.apex.vnf.Example/1.0.0?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "audit", + "defaultGroup", + "onap.policies.apex.vnf.Example", + "1.0.0" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + } + }, + "response": [] + }, + { + "name": "PNF Policy Audit", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/audit/defaultGroup/onap.policies.apex.pnf.Example/1.0.0?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "audit", + "defaultGroup", + "onap.policies.apex.pnf.Example", + "1.0.0" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Send event to dmaap - VNF Success", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"event\": {\n \"commonEventHeader\": {\n \"domain\": \"fault\",\n \"eventId\": \"fault0000245\",\n \"eventName\": \"Fault_Vscf:PilotNumberPoolExhaustion\",\n \"lastEpochMicrosec\": 1413378172000000,\n \"priority\": \"High\",\n \"reportingEntityName\": \"ibcx0001vm002oam001\",\n \"sequence\": 1,\n \"sourceId\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\n \"sourceName\": \"dummy-vnf\",\n \"startEpochMicrosec\": 1413378172000000,\n \"timeZoneOffset\": \"UTC-05:30\",\n \"version\": \"4.0.1\",\n \"vesEventListenerVersion\": \"7.0.1\"\n },\n \"faultFields\": {\n \"alarmAdditionalInformation\": {\n \"PilotNumberPoolSize\": \"1000\"\n },\n \"alarmCondition\": \"PilotNumberPoolExhaustion\",\n \"eventSeverity\": \"CRITICAL\",\n \"eventSourceType\": \"other\",\n \"faultFieldsVersion\": 4,\n \"specificProblem\": \"Calls cannot complete - pilot numbers are unavailable\",\n \"vfStatus\": \"Active\"\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{DMAAP-URL}}/events/apex-vnf-input", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "apex-vnf-input" + ] + } + }, + "response": [] + }, + { + "name": "Read notifications from DMaaP", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json", + "disabled": true + } + ], + "url": { + "raw": "{{DMAAP-URL}}/events/APEX-CL-MGT/g1/c1?timeout=30000", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "APEX-CL-MGT", + "g1", + "c1" + ], + "query": [ + { + "key": "timeout", + "value": "30000" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Send event to dmaap - VNF Failure", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"event\": {\n \"commonEventHeader\": {\n \"domain\": \"fault\",\n \"eventId\": \"fault0000245\",\n \"eventName\": \"Fault_Vscf:PilotNumberPoolExhaustion\",\n \"lastEpochMicrosec\": 1413378172000000,\n \"priority\": \"High\",\n \"reportingEntityName\": \"ibcx0001vm002oam001\",\n \"sequence\": 1,\n \"sourceId\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\n \"sourceName\": \"dummy-vnf\",\n \"startEpochMicrosec\": 1413378172000000,\n \"timeZoneOffset\": \"UTC-05:30\",\n \"version\": \"4.0.1\",\n \"vesEventListenerVersion\": \"7.0.1\"\n },\n \"faultFields\": {\n \"alarmAdditionalInformation\": {\n \"PilotNumberPoolSize\": \"1000\"\n },\n \"alarmCondition\": \"PilotNumberPoolExhaustion\",\n \"eventSeverity\": \"CRITICAL\",\n \"eventSourceType\": \"other\",\n \"faultFieldsVersion\": 4,\n \"specificProblem\": \"Calls cannot complete - pilot numbers are unavailable\",\n \"vfStatus\": \"Inactive\"\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{DMAAP-URL}}/events/apex-vnf-input", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "apex-vnf-input" + ] + } + }, + "response": [] + }, + { + "name": "Read notifications from DMaaP", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json", + "disabled": true + } + ], + "url": { + "raw": "{{DMAAP-URL}}/events/APEX-CL-MGT/g1/c1?timeout=30000", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "APEX-CL-MGT", + "g1", + "c1" + ], + "query": [ + { + "key": "timeout", + "value": "30000" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Send event to dmaap - PNF Success", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"event\" : {\n \"commonEventHeader\" : {\n \"startEpochMicrosec\" : 1597953057126,\n \"sourceId\" : \"927b2580-36d9-4f13-8421-3c9d43b7a57e\",\n \"eventId\" : \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\n \"lastEpochMicrosec\" : 1597952499468,\n \"eventName\" : \"Report hostname & IP\",\n \"sourceName\" : \"Simulated_Device\",\n \"reportingEntityName\" : \"cepe-nifi-Beefsteak\",\n \"vesEventListenerVersion\" : \"7.1\",\n \"internalHeaderFields\" : { },\n \"version\" : \"4.0.1\",\n \"priority\" : \"Normal\",\n \"sequence\" : 1,\n \"domain\" : \"other\"\n },\n \"otherFields\" : {\n \"hashMap\" : {\n \"hostname\" : \"the-hostname\",\n \"pnfId\": \"927b2580-36d9-4f13-8421-3c9d43b7a57e\",\n \"ip\" : \"10.195.200.40\",\n \"pnfName\": \"simple-cl-pnf\"\n },\n \"otherFieldsVersion\" : \"3.0\"\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{DMAAP-URL}}/events/apex-pnf-input", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "apex-pnf-input" + ] + } + }, + "response": [] + }, + { + "name": "Read notifications from DMaaP", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json", + "disabled": true + } + ], + "url": { + "raw": "{{DMAAP-URL}}/events/APEX-CL-MGT/g1/c1?timeout=30000", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "APEX-CL-MGT", + "g1", + "c1" + ], + "query": [ + { + "key": "timeout", + "value": "30000" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Send event to dmaap - PNF Failure", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"event\" : {\n \"commonEventHeader\" : {\n \"startEpochMicrosec\" : 1597953057126,\n \"sourceId\" : \"927b2580-36d9-4f13-8421-3c9d43b7a57e\",\n \"eventId\" : \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\n \"lastEpochMicrosec\" : 1597952499468,\n \"eventName\" : \"Report hostname & IP\",\n \"sourceName\" : \"Simulated_Device\",\n \"reportingEntityName\" : \"cepe-nifi-Beefsteak\",\n \"vesEventListenerVersion\" : \"7.1\",\n \"internalHeaderFields\" : { },\n \"version\" : \"4.0.1\",\n \"priority\" : \"Normal\",\n \"sequence\" : 1,\n \"domain\" : \"other\"\n },\n \"otherFields\" : {\n \"hashMap\" : {\n \"hostname\" : \"the-hostname\",\n \"pnfId\": \"927b2580-36d9-4f13-8421-3c9d43b7a77e\",\n \"ip\" : \"10.195.200.40\",\n \"pnfName\": \"simple-cl-pnf-failure\"\n },\n \"otherFieldsVersion\" : \"3.0\"\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{DMAAP-URL}}/events/apex-pnf-input", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "apex-pnf-input" + ] + } + }, + "response": [] + }, + { + "name": "Read notifications from DMaaP", + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json", + "disabled": true + } + ], + "url": { + "raw": "{{DMAAP-URL}}/events/APEX-CL-MGT/g1/c1?timeout=30000", + "host": [ + "{{DMAAP-URL}}" + ], + "path": [ + "events", + "APEX-CL-MGT", + "g1", + "c1" + ], + "query": [ + { + "key": "timeout", + "value": "30000" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Undeploy Policy", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "healthcheck", + "type": "string" + }, + { + "key": "password", + "value": "{{HEALTHCHECK-PASSWORD}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"groups\": [\n {\n \"name\": \"defaultGroup\",\n \"deploymentSubgroups\": [\n {\n \"pdpType\": \"apex\",\n \"action\": \"DELETE\",\n \"policies\": [\n {\n \"name\": \"onap.policies.apex.vnf.Example\",\n \"version\": \"1.0.0\"\n },\n {\n \"name\": \"onap.policies.apex.pnf.Example\",\n \"version\": \"1.0.0\"\n }\n ]\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/deployments/batch", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "deployments", + "batch" + ] + } + }, + "response": [] + }, + { + "name": "PDP Group Query", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"groups\": [\r\n {\r\n \"name\": \"defaultGroup\",\r\n \"deploymentSubgroups\": [\r\n {\r\n \"pdpType\": \"apex\",\r\n \"action\": \"POST\",\r\n \"policies\": [{\r\n \"name\": \"onap.policies.controlloop.operational.apex.Sampledomain\",\r\n \"version\": \"1.0.0\"\r\n }]\r\n }\r\n ]\r\n }\r\n ]\r\n}" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps" + ] + } + }, + "response": [] + }, + { + "name": "VNF Policy Status", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/status/defaultGroup/onap.policies.apex.vnf.Example/1.0.0", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "status", + "defaultGroup", + "onap.policies.apex.vnf.Example", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "PNF Policy Status", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/status/defaultGroup/onap.policies.apex.pnf.Example/1.0.0", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "status", + "defaultGroup", + "onap.policies.apex.pnf.Example", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "VNF Policy Audit", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/audit/defaultGroup/onap.policies.apex.vnf.Example/1.0.0?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "audit", + "defaultGroup", + "onap.policies.apex.vnf.Example", + "1.0.0" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + } + }, + "response": [] + }, + { + "name": "PNF Policy Audit", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/policies/audit/defaultGroup/onap.policies.apex.pnf.Example/1.0.0?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "policies", + "audit", + "defaultGroup", + "onap.policies.apex.pnf.Example", + "1.0.0" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + } + }, + "response": [] + }, + { + "name": "Fetch PDP Statistics", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{POLICY-PAP-URL}}/policy/pap/v1/pdps/statistics/defaultGroup/apex?recordCount=5", + "host": [ + "{{POLICY-PAP-URL}}" + ], + "path": [ + "policy", + "pap", + "v1", + "pdps", + "statistics", + "defaultGroup", + "apex" + ], + "query": [ + { + "key": "recordCount", + "value": "5" + } + ] + }, + "description": "This is an API to fetch current statistics information for the specified PDP instance (example - \"fireantsdev-policy-apex-pdp-0\") of the specified PdpGroup (example - \"defaultGroup\") & PdpSubgroup (example - \"apex\"). You can filter by the number of entries using recordCount attribute" + }, + "response": [] + }, + { + "name": "Delete VNF Policy", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/onap.policies.apex.vnf.Example/versions/1.0.0", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies", + "onap.policies.apex.vnf.Example", + "versions", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "Delete PNF Policy", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + } + ], + "url": { + "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/onap.policies.apex.pnf.Example/versions/1.0.0", + "host": [ + "{{POLICY-API-URL}}" + ], + "path": [ + "policy", + "api", + "v1", + "policies", + "onap.policies.apex.pnf.Example", + "versions", + "1.0.0" + ] + } + }, + "response": [] + } + ], + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "{{HEALTHCHECK-PASSWORD}}", + "type": "string" + }, + { + "key": "username", + "value": "healthcheck", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] +} \ No newline at end of file diff --git a/docs/development/devtools/smoke/postman/create-vnf-pnf-aai.postman_collection.json b/docs/development/devtools/smoke/postman/create-vnf-pnf-aai.postman_collection.json new file mode 100644 index 00000000..d6894bc6 --- /dev/null +++ b/docs/development/devtools/smoke/postman/create-vnf-pnf-aai.postman_collection.json @@ -0,0 +1,788 @@ +{ + "info": { + "_postman_id": "10fb21f9-99e5-4097-88c9-87b0eed85b3a", + "name": "Create VNF & PNF in AAI", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Add Customer", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"global-customer-id\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\",\r\n \"subscriber-name\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\",\r\n \"subscriber-type\": \"INFRA\"\r\n}" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v11", + "business", + "customers", + "customer", + "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf" + ] + } + }, + "response": [] + }, + { + "name": "Add CloudRegion", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Accept", + "value": "application/json", + "type": "text" + }, + { + "key": "Real-Time", + "value": "true", + "type": "text" + }, + { + "key": "X-TransactionId", + "value": "AAI-Temp-Tool", + "type": "text" + }, + { + "key": "X-FromAppId", + "value": "AAI-Temp-Tool", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"cloud-owner\": \"CloudOwner\",\n \"cloud-region-id\": \"RegionOne\",\n \"cloud-type\": \"openstack\",\n \"owner-defined-type\": \"owner-defined-type\",\n \"cloud-region-version\": \"titanium_cloud\",\n \"identity-url\": \"http://10.195.194.213:5000/v2.0\",\n \"cloud-zone\": \"CloudZone\",\n \"sriov-automation\": true,\n \"tenants\": {\n \"tenant\": [\n {\n \"tenant-id\": \"7320ec4a5b9d4589ba7c4412ccfd290f\",\n \"tenant-name\": \"nso-vnf\",\n \"vservers\": {\n \"vserver\": [\n {\n \"vserver-id\": \"c82153dc-8d84-4e69-9673-5e0a60030779\",\n \"vserver-name\": \"viptela_scripts\",\n \"vserver-name2\": \"viptela_scripts\",\n \"prov-status\": \"Running\",\n \"vserver-selflink\": \"http://10.195.194.213:8774/v2.1/7320ec4a5b9d4589ba7c4412ccfd290f/servers/c82153dc-8d84-4e69-9673-5e0a60030779\",\n \"in-maint\": false,\n \"is-closed-loop-disabled\": false\n }\n ]\n }\n }\n ]\n }\n}" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "cloud-infrastructure", + "cloud-regions", + "cloud-region", + "CloudOwner", + "RegionOne" + ] + } + }, + "response": [] + }, + { + "name": "Add Service Subscription", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"service-type\": \"vFWDT\",\r\n \"relationship-list\": {\r\n \"relationship\": [\r\n {\r\n \"related-to\": \"tenant\",\r\n \"related-link\": \"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"tenant.tenant-name\",\r\n \"property-value\": \"nso-vnf\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v11", + "business", + "customers", + "customer", + "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf", + "service-subscriptions", + "service-subscription", + "vFWDT" + ] + } + }, + "response": [] + }, + { + "name": "Add Model", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"model-invariant-id\": \"vTEST_VITELA\",\r\n \"model-type\": \"model_type\",\r\n \"model-vers\": {\r\n \"model-ver\": [\r\n {\r\n \"model-version-id\": \"vTEST\",\r\n \"model-name\": \"vTEST\",\r\n \"model-version\": \"v1.4.0\"\r\n }\r\n ]\r\n }\r\n}\r\n" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/service-design-and-creation/models/model/vTEST_VITELA", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "service-design-and-creation", + "models", + "model", + "vTEST_VITELA" + ] + } + }, + "response": [] + }, + { + "name": "Add Service Instance", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"service-instance-name\": \"Service_Ete_Namea337dd5b-4620-4ea6-bc3f-6edf1124d659\",\r\n \"environment-context\": \"General_Revenue-Bearing\",\r\n \"workload-context\": \"Production\",\r\n \"model-invariant-id\": \"vTEST_VITELA\",\r\n \"model-version-id\": \"vTEST\",\r\n \"selflink\": \"restconf/config/GENERIC-RESOURCE-API:services/service/55322ada-145a-492e-b196-0d171539a4b2/service-data/service-topology/\",\r\n \"orchestration-status\": \"Active\"\r\n}" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v11/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT/service-instances/service-instance/55322ada-145a-492e-b196-0d171539a4b2", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v11", + "business", + "customers", + "customer", + "DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf", + "service-subscriptions", + "service-subscription", + "vFWDT", + "service-instances", + "service-instance", + "55322ada-145a-492e-b196-0d171539a4b2" + ] + } + }, + "response": [] + }, + { + "name": "Add dummy-vnf", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Accept", + "value": "application/json", + "type": "text" + }, + { + "key": "Real-Time", + "value": "true", + "type": "text" + }, + { + "key": "X-TransactionId", + "value": "AAI-Temp-Tool", + "type": "text" + }, + { + "key": "X-FromAppId", + "value": "AAI-Temp-Tool", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"vnf-id\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"vnf-name\": \"dummy-vnf\",\r\n \"vnf-type\": \"vfw_cnf_cds/null\",\r\n \"service-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"prov-status\": \"ACTIVE\",\r\n \"orchestration-status\": \"Assigned\",\r\n \"in-maint\": false,\r\n \"is-closed-loop-disabled\": false,\r\n \"model-invariant-id\": \"vTEST_XYZ\",\r\n \"model-version-id\": \"vTEST\",\r\n \"model-customization-id\": \"37b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"relationship-list\": {\r\n \"relationship\": [\r\n {\r\n \"related-to\": \"service-instance\",\r\n \"relationship-label\": \"org.onap.relationships.inventory.ComposedOf\",\r\n \"related-link\": \"/aai/v14/business/customers/customer/DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf/service-subscriptions/service-subscription/vFWDT/service-instances/service-instance/55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"customer.global-customer-id\",\r\n \"relationship-value\": \"DemoCust_47417dae-a821-4068-9736-e71c7da0d8bf\"\r\n },\r\n {\r\n \"relationship-key\": \"service-subscription.service-type\",\r\n \"relationship-value\": \"vFWDT\"\r\n },\r\n {\r\n \"relationship-key\": \"service-instance.service-instance-id\",\r\n \"relationship-value\": \"55322ada-145a-492e-b196-0d171539a4b2\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"service-instance.service-instance-name\",\r\n \"property-value\": \"Service_Ete_Namea337dd5b-4620-4ea6-bc3f-6edf1124d659\"\r\n }\r\n ]\r\n },\r\n {\r\n \"related-to\": \"tenant\",\r\n \"relationship-label\": \"org.onap.relationships.inventory.BelongsTo\",\r\n \"related-link\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"tenant.tenant-name\",\r\n \"property-value\": \"nso-vnf\"\r\n }\r\n ]\r\n },\r\n {\r\n \"related-to\": \"vserver\",\r\n \"relationship-label\": \"tosca.relationships.HostedOn\",\r\n \"related-link\": \"/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/7320ec4a5b9d4589ba7c4412ccfd290f/vservers/vserver/c82153dc-8d84-4e69-9673-5e0a60030779\",\r\n \"relationship-data\": [\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-owner\",\r\n \"relationship-value\": \"CloudOwner\"\r\n },\r\n {\r\n \"relationship-key\": \"cloud-region.cloud-region-id\",\r\n \"relationship-value\": \"RegionOne\"\r\n },\r\n {\r\n \"relationship-key\": \"tenant.tenant-id\",\r\n \"relationship-value\": \"7320ec4a5b9d4589ba7c4412ccfd290f\"\r\n },\r\n {\r\n \"relationship-key\": \"vserver.vserver-id\",\r\n \"relationship-value\": \"c82153dc-8d84-4e69-9673-5e0a60030779\"\r\n }\r\n ],\r\n \"related-to-property\": [\r\n {\r\n \"property-key\": \"vserver.vserver-name\",\r\n \"property-value\": \"viptela_scripts\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/57b008b9-b367-4359-93fd-74d3ce0ee1a0", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "generic-vnfs", + "generic-vnf", + "57b008b9-b367-4359-93fd-74d3ce0ee1a0" + ] + } + }, + "response": [] + }, + { + "name": "Verify dummy-vnf", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Accept", + "value": "application/json", + "type": "text" + }, + { + "key": "Real-Time", + "value": "true", + "type": "text" + }, + { + "key": "X-TransactionId", + "value": "AAI-Temp-Tool", + "type": "text" + }, + { + "key": "X-FromAppId", + "value": "AAI-Temp-Tool", + "type": "text" + } + ], + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/57b008b9-b367-4359-93fd-74d3ce0ee1a0", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "generic-vnfs", + "generic-vnf", + "57b008b9-b367-4359-93fd-74d3ce0ee1a0" + ] + } + }, + "response": [] + }, + { + "name": "Add simple-cl-pnf", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Accept", + "value": "application/json", + "type": "text" + }, + { + "key": "Real-Time", + "value": "true", + "type": "text" + }, + { + "key": "X-TransactionId", + "value": "AAI-Temp-Tool", + "type": "text" + }, + { + "key": "X-FromAppId", + "value": "AAI-Temp-Tool", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"pnf-name\": \"simple-cl-pnf\",\n \"pnf-name2\": \"the-hostname\",\n \"pnf-id\": \"927b2580-36d9-4f13-8421-3c9d43b7a57e\",\n \"equip-type\": \"example-equip-type-val-20348\",\n \"equip-vendor\": \"example-equip-vendor-val-52182\",\n \"equip-model\": \"example-equip-model-val-8370\",\n \"management-option\": \"example-management-option-val-72881\",\n \"ipaddress-v4-oam\": \"10.195.200.23\",\n \"in-maint\": false,\n \"ipaddress-v6-oam\": \"\"\n }" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v15/network/pnfs/pnf/simple-cl-pnf", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v15", + "network", + "pnfs", + "pnf", + "simple-cl-pnf" + ] + } + }, + "response": [] + }, + { + "name": "Verify simple-cl-pnf", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "pnfs", + "pnf", + "simple-cl-pnf" + ] + } + }, + "response": [] + }, + { + "name": "Add simple-cl-pnf-failure", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Accept", + "value": "application/json", + "type": "text" + }, + { + "key": "Real-Time", + "value": "true", + "type": "text" + }, + { + "key": "X-TransactionId", + "value": "AAI-Temp-Tool", + "type": "text" + }, + { + "key": "X-FromAppId", + "value": "AAI-Temp-Tool", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"pnf-name\": \"simple-cl-pnf-failure\",\n \"pnf-name2\": \"the-hostname\",\n \"pnf-id\": \"927b2580-36d9-4f13-8421-3c9d43b7a77e\",\n \"equip-type\": \"example-equip-type-val-20348\",\n \"equip-vendor\": \"example-equip-vendor-val-52182\",\n \"equip-model\": \"example-equip-model-val-8370\",\n \"management-option\": \"example-management-option-val-72881\",\n \"ipaddress-v4-oam\": \"10.195.200.23\",\n \"in-maint\": false,\n \"ipaddress-v6-oam\": \"\"\n }" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v15/network/pnfs/pnf/simple-cl-pnf-failure", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v15", + "network", + "pnfs", + "pnf", + "simple-cl-pnf-failure" + ] + } + }, + "response": [] + }, + { + "name": "Verify simple-cl-pnf-failure", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf-failure", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "pnfs", + "pnf", + "simple-cl-pnf-failure" + ] + } + }, + "response": [] + }, + { + "name": "Delete dummy-vnf", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/generic-vnfs/generic-vnf/57b008b9-b367-4359-93fd-74d3ce0ee1a0?resource-version=1633120087974", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "generic-vnfs", + "generic-vnf", + "57b008b9-b367-4359-93fd-74d3ce0ee1a0" + ], + "query": [ + { + "key": "resource-version", + "value": "1633120087974" + } + ] + } + }, + "response": [] + }, + { + "name": "Delete simple-cl-pnf", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf?resource-version=1621307213843", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "pnfs", + "pnf", + "simple-cl-pnf" + ], + "query": [ + { + "key": "resource-version", + "value": "1621307213843" + } + ] + } + }, + "response": [] + }, + { + "name": "Delete simple-cl-pnf-failure", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Real-Time", + "type": "text", + "value": "true" + }, + { + "key": "X-TransactionId", + "type": "text", + "value": "AAI-Temp-Tool" + }, + { + "key": "X-FromAppId", + "type": "text", + "value": "AAI-Temp-Tool" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{AAI-URL}}/aai/v14/network/pnfs/pnf/simple-cl-pnf-failure?resource-version=1621307213843", + "host": [ + "{{AAI-URL}}" + ], + "path": [ + "aai", + "v14", + "network", + "pnfs", + "pnf", + "simple-cl-pnf-failure" + ], + "query": [ + { + "key": "resource-version", + "value": "1621307213843" + } + ] + } + }, + "response": [] + } + ], + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "demo123456!", + "type": "string" + }, + { + "key": "username", + "value": "aai@aai.onap.org", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] +} \ No newline at end of file diff --git a/docs/development/devtools/smoke/postman/publish-cba-CDS.postman_collection.json b/docs/development/devtools/smoke/postman/publish-cba-CDS.postman_collection.json new file mode 100644 index 00000000..3e69f5f0 --- /dev/null +++ b/docs/development/devtools/smoke/postman/publish-cba-CDS.postman_collection.json @@ -0,0 +1,598 @@ +{ + "info": { + "_postman_id": "c8fa181e-0210-4f6c-a754-da377939c299", + "name": "Publish CBA in CDS", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Bootstrap", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"loadModelType\" : true,\r\n \"loadResourceDictionary\" : true,\r\n \"loadCBA\" : false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/blueprint-model/bootstrap", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "blueprint-model", + "bootstrap" + ] + } + }, + "response": [] + }, + { + "name": "Enrich and Publish CBA", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": "/Users/rpujar/repos/bell/controlloop-examples/simple-cl-use-case-cba/Archive.zip" + } + ] + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/blueprint-model/enrichandpublish", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "blueprint-model", + "enrichandpublish" + ] + } + }, + "response": [] + }, + { + "name": "Get all CBAs", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"loadModelType\" : true,\r\n \"loadResourceDictionary\" : true,\r\n \"loadCBA\" : false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/blueprint-model/paged", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "blueprint-model", + "paged" + ] + } + }, + "response": [] + }, + { + "name": "Execute pnf-test-cba success", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"pnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"update-config\"\r\n },\r\n \"payload\": {\r\n \"update-config-request\": {\r\n \"update-config-properties\": {\r\n \"hostname\": \"host\",\r\n \"IP\": \"10.43.230.146\",\r\n \"pnfName\": \"simple-cl-pnf\"\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Execute pnf-test-cba failure", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"pnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"update-config\"\r\n },\r\n \"payload\": {\r\n \"update-config-request\": {\r\n \"update-config-properties\": {\r\n \"hostname\": \"host\",\r\n \"IP\": \"10.43.230.146\",\r\n \"pnfName\": \"simple-cl-pnf-failure\"\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Execute vnf-test-cba success", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"vnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"modify-config\"\r\n },\r\n \"payload\": {\r\n \"modify-config-request\": {\r\n \"modify-config-properties\": {\r\n \"vfStatus\": \"Active\",\r\n \"service-instance.service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"generic-vnf.vnf-id\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"data\": {\r\n \"active-streams\": \"7\"\r\n }\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Execute vnf-test-cba failure", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"vnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"modify-config\"\r\n },\r\n \"payload\": {\r\n \"modify-config-request\": {\r\n \"modify-config-properties\": {\r\n \"vfStatus\": \"InActive\",\r\n \"service-instance.service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"generic-vnf.vnf-id\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"data\": {\r\n \"active-streams\": \"7\"\r\n }\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Execute vnf-test-cba success", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"vnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"restart\"\r\n },\r\n \"payload\": {\r\n \"restart-request\": {\r\n \"restart-properties\": {\r\n \"vfStatus\": \"Active\",\r\n \"service-instance.service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"generic-vnf.vnf-id\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"data\": {\r\n \"active-streams\": \"7\"\r\n }\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Execute vnf-test-cba failure", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"actionIdentifiers\": {\r\n \"mode\": \"sync\",\r\n \"blueprintName\": \"vnf-test-cba\",\r\n \"blueprintVersion\": \"1.0.0\",\r\n \"actionName\": \"restart\"\r\n },\r\n \"payload\": {\r\n \"restart-request\": {\r\n \"restart-properties\": {\r\n \"vfStatus\": \"InActive\",\r\n \"service-instance.service-instance-id\": \"55322ada-145a-492e-b196-0d171539a4b2\",\r\n \"generic-vnf.vnf-id\": \"57b008b9-b367-4359-93fd-74d3ce0ee1a0\",\r\n \"data\": {\r\n \"active-streams\": \"7\"\r\n }\r\n }\r\n }\r\n },\r\n \"commonHeader\": {\r\n \"subRequestId\": \"8c7935a4-79d8-4ec0-b661-dcca3cd68006\",\r\n \"requestId\": \"f392e439-c176-411b-b972-8acadac0f8df\",\r\n \"originatorId\": \"POLICY\"\r\n }\r\n}" + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/execution-service/process", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "execution-service", + "process" + ] + } + }, + "response": [] + }, + { + "name": "Download CBA", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"loadModelType\" : true,\r\n \"loadResourceDictionary\" : true,\r\n \"loadCBA\" : false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/blueprint-model/download/by-name/controlloop-hostname-update-cba/version/1.0.0", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "blueprint-model", + "download", + "by-name", + "controlloop-hostname-update-cba", + "version", + "1.0.0" + ] + } + }, + "response": [] + }, + { + "name": "Delete a specific CBA", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "ccsdkapps", + "type": "string" + }, + { + "key": "username", + "value": "ccsdkapps", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Accept", + "type": "text", + "value": "application/json" + }, + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"loadModelType\" : true,\r\n \"loadResourceDictionary\" : true,\r\n \"loadCBA\" : false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{CDS-URL}}/api/v1/blueprint-model/name/pnf-test-cba/version/1.0.0", + "host": [ + "{{CDS-URL}}" + ], + "path": [ + "api", + "v1", + "blueprint-model", + "name", + "pnf-test-cba", + "version", + "1.0.0" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/docs/development/devtools/smoke/xacml-smoke.rst b/docs/development/devtools/smoke/xacml-smoke.rst new file mode 100644 index 00000000..2a0be4b6 --- /dev/null +++ b/docs/development/devtools/smoke/xacml-smoke.rst @@ -0,0 +1,60 @@ +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. _policy-api-smoke-testing-label: + +.. toctree:: + :maxdepth: 2 + +XACML PDP Smoke Test +~~~~~~~~~~~~~~~~~~~~ + +The policy-xacml-pdp smoke testing can be executed against a kubernetes based ONAP installation, +and/or a docker-compose set up similar to the one executed by CSIT tests. + +General Setup +************* + +ONAP OOM kubernetes +------------------- + +For installation instructions, please refer to the following documentation: + +`OOM Documentation `_ + +At a minimum policy needs the following components installed: + +- onap base charts +- AAF for certificate generation +- DMaaP message-router for communication among policy components. + +docker-compose based +-------------------- + +A smaller testing environment can be put together by replicating the CSIT test environment: + +`Policy CSIT Test infrastructure `_ + +Testing procedures +****************** + +The smoke tests should be focused on verifying the proper workings of the xacml +PDP and dependent components. The following scenarios should be considered: + +- PDP-X registration with PAP. +- PDP-X restarts and re-registration with PAP. +- Healtchecks +- Statistics and Prometheus metrics. +- Verify decision with monitoring policies. +- Verify decision with optimization policy. +- Verify decision with min/max policy. +- Verify decision with frequency limiter policy. +- Verify decision with default guard policy. +- Verify decision with naming policy. + +The following testsuites contain everything necessary for the previous verifications: + +- `CSIT Robot framework `_ +- `JMeter S3P `_ + diff --git a/docs/development/devtools/xacml-smoke.rst b/docs/development/devtools/xacml-smoke.rst deleted file mode 100644 index 2a0be4b6..00000000 --- a/docs/development/devtools/xacml-smoke.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. This work is licensed under a -.. Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _policy-api-smoke-testing-label: - -.. toctree:: - :maxdepth: 2 - -XACML PDP Smoke Test -~~~~~~~~~~~~~~~~~~~~ - -The policy-xacml-pdp smoke testing can be executed against a kubernetes based ONAP installation, -and/or a docker-compose set up similar to the one executed by CSIT tests. - -General Setup -************* - -ONAP OOM kubernetes -------------------- - -For installation instructions, please refer to the following documentation: - -`OOM Documentation `_ - -At a minimum policy needs the following components installed: - -- onap base charts -- AAF for certificate generation -- DMaaP message-router for communication among policy components. - -docker-compose based --------------------- - -A smaller testing environment can be put together by replicating the CSIT test environment: - -`Policy CSIT Test infrastructure `_ - -Testing procedures -****************** - -The smoke tests should be focused on verifying the proper workings of the xacml -PDP and dependent components. The following scenarios should be considered: - -- PDP-X registration with PAP. -- PDP-X restarts and re-registration with PAP. -- Healtchecks -- Statistics and Prometheus metrics. -- Verify decision with monitoring policies. -- Verify decision with optimization policy. -- Verify decision with min/max policy. -- Verify decision with frequency limiter policy. -- Verify decision with default guard policy. -- Verify decision with naming policy. - -The following testsuites contain everything necessary for the previous verifications: - -- `CSIT Robot framework `_ -- `JMeter S3P `_ - -- cgit 1.2.3-korg