diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 9ea91b491ca83fdf48c3a6e2628c11a10bf120c6..c5fd69b642d8932141ef949179c310c867da1110 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -789,13 +789,19 @@ Send Post Request for NSD Management Subscription Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} notifCallbackUri=${notifCallbackUri} nsdId=${NS_DescriptorID} nsdName=${NS_Name} nsdVersion=${NS_Version} nsdDesigner=${Designer} nsdInvariantId=${NS_InvariantId} + ${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} nsdId=${NS_DescriptorID} nsdName=${NS_Name} nsdVersion=${NS_Version} nsdDesigner=${Designer} nsdInvariantId=${NS_InvariantId} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Global Variable ${response} ${output} + Clear Requests ${callback_endpoint} + #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques + #... Check Notification Endpoint Send POST Request for Duplicated NSD Management Subscription @@ -804,13 +810,19 @@ Send POST Request for Duplicated NSD Management Subscription Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} notifCallbackUri=${notifCallbackUri} nsdId=${NS_DescriptorID} nsdName=${NS_Name} nsdVersion=${NS_Version} nsdDesigner=${Designer} nsdInvariantId=${NS_InvariantId} + ${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} nsdId=${NS_DescriptorID} nsdName=${NS_Name} nsdVersion=${NS_Version} nsdDesigner=${Designer} nsdInvariantId=${NS_InvariantId} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Global Variable ${response} ${output} + Clear Requests ${callback_endpoint} + #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques + #... Check Notification Endpoint @@ -982,7 +994,6 @@ Check HTTP Response Header Contains Etag Set Suite Variable ${original_etag} ${response['headers]['ETag']} Create Sessions - Pass Execution If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not started as NFVO is not checking the notification endpoint Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue Create Mock Session ${callback_uri} diff --git a/SOL005/NSDManagement-API/jsons/subscriptions.json b/SOL005/NSDManagement-API/jsons/subscriptions.json index a82df503c1ea79cf12b8959f86662853c96c2e63..b94f3efea9967fe38bebc25174d9ac74881bea59 100644 --- a/SOL005/NSDManagement-API/jsons/subscriptions.json +++ b/SOL005/NSDManagement-API/jsons/subscriptions.json @@ -1,5 +1,5 @@ {{ - "callbackUri": "{notifCallbackUri}", + "callbackUri": "{callback_uri}{callback_endpoint}", "filter": {{ "nsdId": "{nsdId}", "nsdName": "{nsdName}", diff --git a/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot b/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot index 414f1a847c0710b353bb7246a0673140a46587e6..406c95fc11580ef9468885581f6c19fe037b3269 100644 --- a/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot +++ b/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot @@ -215,9 +215,17 @@ POST Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} ${template}= Get File jsons/fmSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} - Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Global Variable ${response} ${output} + Clear Requests ${callback_endpoint} + #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques + #... Check Notification Endpoint # Post Create subscription - DUPLICATION # Log Trying to create a subscription with an already created content diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index b8e00065ea82e08ac9b6f70c0239de8b3c7e82ba..4850c4b0769984d3cf78c6f321bd1491bca12bb9 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -6,6 +6,9 @@ Library OperatingSystem Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ +Library Process +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** Create a new alarm subscription diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index aa89c7eecd2b3e9c09cb1096f835f672b471ee25..37405543c68496d658be3c6826a9a2772b0dd2f2 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -1097,10 +1097,16 @@ POST subscriptions Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/LccnSubscriptionRequest.json ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${NS_DescriptorID} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} - + Clear Requests ${callback_endpoint} + POST subscriptions DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${NFVO_DUPLICATION} == 0 NFVO is not permitting duplication. Skipping the test @@ -1110,9 +1116,15 @@ POST subscriptions DUPLICATION Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/LccnSubscriptionRequest.json ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${NS_DescriptorID} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Clear Requests ${callback_endpoint} POST subscriptions NO DUPLICATION Log Trying to create a subscription with an already created content @@ -1123,9 +1135,15 @@ POST subscriptions NO DUPLICATION Run Keyword If ${check_descriptors} == 1 PARSE the NS Descriptor File ${template}= Get File jsons/LccnSubscriptionRequest.json ${body}= Format String ${template} callbackUri=${callback_uri} callbackEndpoint=${callback_endpoint} callbackPort=${callback_port} nsdId=${NS_DescriptorID} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + Clear Requests ${callback_endpoint} GET Subscriptions Log Get the list of active subscriptions diff --git a/SOL005/NSLifecycleManagement-API/Subscriptions.robot b/SOL005/NSLifecycleManagement-API/Subscriptions.robot index d2d0010cef0ac999d0ca08dab0a3c135148f6f70..bce367fd3ec983d30f6e1d72b45eef2c37402e0e 100644 --- a/SOL005/NSLifecycleManagement-API/Subscriptions.robot +++ b/SOL005/NSLifecycleManagement-API/Subscriptions.robot @@ -5,6 +5,9 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=fal Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ +Library Process +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** POST Create a new subscription diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 389a9bf59a75eccdb8723df66c3708de1894bb9d..2c13b7c5be7350df8951f3a0d69ca72c6060aed4 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -735,11 +735,17 @@ Send Post Request for VNF Package Subscription ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} vnfPkgId=${vnfPkgId} vnfdId=${Descriptor_ID} vnfProvider=${Provider} vnfProductName=${Product_Name} vnfSoftwareVersion=${Software_Version} vnfdVersions=${Descriptor_Version} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Global Variable ${response} ${output} + Clear Requests ${callback_endpoint} + #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques + #... Check Notification Endpoint Send Post Request for Duplicated VNF Package Subscription Log Trying to create a subscription with an already created content @@ -748,9 +754,17 @@ Send Post Request for Duplicated VNF Package Subscription ${template}= Get File jsons/subscriptions.json ${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} vnfPkgId=${vnfPkgId} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} + ${output}= Output response + Set Global Variable ${response} ${output} + Clear Requests ${callback_endpoint} + #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques + #... Check Notification Endpoint Send Put Request for VNF Package Subscriptions Log Trying to perform a PUT. This method should not be implemented @@ -894,7 +908,6 @@ Check Postcondition VNF Package Subscription is not Created Check HTTP Response Status Code Is 404 Create Sessions - Pass Execution If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not started as NFVO is not checking the notification endpoint Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue Create Mock Session ${callback_uri}:${callback_port} diff --git a/SOL005/VNFPackageManagement-API/jsons/PkgmSubscription.json b/SOL005/VNFPackageManagement-API/jsons/PkgmSubscription.json deleted file mode 100644 index c01e92b484e9305f89fbd1a54db3d69ea514695c..0000000000000000000000000000000000000000 --- a/SOL005/VNFPackageManagement-API/jsons/PkgmSubscription.json +++ /dev/null @@ -1,414 +0,0 @@ -[ - { - "id": "ABCDEFGHIJKL", - "callbackUri": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "_links": { - "self": { - "href": "ABCDEFGHIJKLMNOPQR" - } - }, - "filter": { - "notificationTypes": [ - "VnfPackageChangeNotification" - ], - "vnfProductsFromProviders": [ - { - "vnfProvider": "ABCDEFGHIJKLMNOPQRSTUVW", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGHIJKLMNOPQRSTUVWX", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQ", - "ABCDE" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXYZA", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ] - } - ] - }, - { - "vnfProductName": "ABCDEFGHIJKLM", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMN", - "vnfdVersions": [ - "ABCDEF", - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "vnfdVersions": [ - "ABCDEFGHIJKLMNO", - "ABCDEFGH", - "ABCDEF" - ] - }, - { - "vnfSoftwareVersion": "ABCD", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXY", - "ABCDEFGHIJ", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRST", - "vnfdVersions": [ - "ABCDEFG", - "ABCDEFGHIJKLMNOPQRSTU" - ] - } - ] - } - ] - }, - { - "vnfProvider": "ABCDEF", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGH", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRST", - "vnfdVersions": [ - "ABCDE", - "ABCDE", - "ABCDEFGHIJKLMNOPQR" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWX", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOP" - ] - } - ] - }, - { - "vnfProductName": "ABCDE", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNO", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJ", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRS" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJK", - "vnfdVersions": [ - "ABCD" - ] - }, - { - "vnfSoftwareVersion": "ABCD", - "vnfdVersions": [ - "ABCDEFGHIJKL", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ] - } - ] - }, - { - "vnfProductName": "ABCD", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRST", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQ", - "ABCDEFGHIJKL" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXY", - "vnfdVersions": [ - "ABCDEF", - "ABCDEFGHIJKLMNOPQRST" - ] - }, - { - "vnfSoftwareVersion": "ABCDEF", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLMNOPQR", - "ABCDEFGHIJKLMNOP" - ] - } - ] - } - ] - } - ], - "vnfdId": [ - "ABCDEFGHIJKLMNOPQRS", - "ABCDEFGHIJKLMNO", - "ABCDEFGHIJKLM", - "ABCDEFGHIJK" - ], - "vnfPkgId": [ - "ABCDEFGH", - "ABCDEFGHIJKLMNOPQ", - "ABCDE", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ], - "operationalState": "DISABLED", - "usageState": {} - } - }, - { - "id": "ABCDE", - "callbackUri": "ABCDEFGHIJKLM", - "_links": { - "self": { - "href": "ABCDEFGHIJKLMNOPQRSTU" - } - }, - "filter": { - "notificationTypes": [ - "VnfPackageOnboardingNotification", - "VnfPackageOnboardingNotification", - "VnfPackageOnboardingNotification" - ], - "vnfProductsFromProviders": [ - { - "vnfProvider": "ABCDEFGH", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGHIJKLMNOPQRSTUV", - "versions": [ - { - "vnfSoftwareVersion": "ABCD", - "vnfdVersions": [ - "ABCDEFGHIJKLMN", - "ABCDEFGHIJKLMNOPQRSTUVW", - "ABCDE", - "ABCDEFGHIJKLMNOPQRS" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRS" - ] - } - ] - }, - { - "vnfProductName": "ABCDEFGHIJKLMN", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOP", - "vnfdVersions": [ - "ABCDEFGHIJ", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLMNOPQRSTUVWX", - "ABCDEFGHIJKLMNOPQR" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMN", - "vnfdVersions": [ - "ABCDEFGHIJKLMNO", - "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "ABCDEFGHIJKLMNOPQRSTUVW" - ] - }, - { - "vnfSoftwareVersion": "ABCDEF", - "vnfdVersions": [ - "ABCDEFGHIJKLM", - "ABCDE", - "ABCDEFGHIJKLMNOPQRSTUVWXYZA" - ] - } - ] - } - ] - }, - { - "vnfProvider": "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGHIJKLMNOPQ", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWXY", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQ", - "ABCDE" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMN", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWX", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC" - ] - } - ] - }, - { - "vnfProductName": "ABCDEFGHIJKLMNOP", - "versions": [ - { - "vnfSoftwareVersion": "ABCD", - "vnfdVersions": [ - "ABCDEFGH", - "ABCDEFGHIJKLMN", - "ABCDEFGHIJKLMNOP" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLM", - "vnfdVersions": [ - "ABCDEFGHIJKLM", - "ABCDEFGH" - ] - } - ] - } - ] - } - ], - "vnfdId": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLM", - "ABCDEFGHIJKLMNOPQRS", - "ABCDEFGHIJKL" - ], - "vnfPkgId": [ - "ABCDEFGHIJKLMNOPQRSTUVWXY" - ], - "operationalState": "DISABLED", - "usageState": {} - } - }, - { - "id": "ABCDEF", - "callbackUri": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "_links": { - "self": { - "href": "ABCDEFGHIJKLMNOPQ" - } - }, - "filter": { - "notificationTypes": [ - "VnfPackageChangeNotification", - "VnfPackageOnboardingNotification", - "VnfPackageChangeNotification", - "VnfPackageOnboardingNotification" - ], - "vnfProductsFromProviders": [ - { - "vnfProvider": "ABCDEFGHIJKL", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGHIJK", - "versions": [ - { - "vnfSoftwareVersion": "ABCDE", - "vnfdVersions": [ - "ABCDEFGHI", - "ABCDEFGHIJKLMNOPQRS", - "ABCDEFGHIJKLMNOPQR" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQRSTUVWX", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWX", - "ABCDEFG", - "ABCDEFGHIJKLMNOPQRSTUVW", - "ABCDEFGHIJKLMNOPQRSTUVWXY" - ] - } - ] - } - ] - }, - { - "vnfProvider": "ABCDEFGHI", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGHIJ", - "versions": [ - { - "vnfSoftwareVersion": "ABCDEFGHIJKL", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZA", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKL", - "ABCDEFGHIJKLMNOPQR" - ] - }, - { - "vnfSoftwareVersion": "ABCDEFGHIJKLMNOPQ", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLMNOPQRSTU", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLMN" - ] - } - ] - } - ] - }, - { - "vnfProvider": "ABCDEFGHIJKLMNOPQRSTUVWXYZA", - "vnfProducts": [ - { - "vnfProductName": "ABCDEFGH", - "versions": [ - { - "vnfSoftwareVersion": "ABCDE", - "vnfdVersions": [ - "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "ABCDEFGHIJKLMNOPQRSTUVWXYZABC", - "ABCDEFGHIJKLMNOPQRS", - "ABCDEFGHIJKLMNOPQRST" - ] - } - ] - } - ] - } - ], - "vnfdId": [ - "ABCDEFGHIJKLMNOP", - "ABCDEFGHIJKLMNOPQRSTUVWXYZA" - ], - "vnfPkgId": [ - "ABCDEFGHIJKLMNOPQRSTUVW", - "ABCDEFGHIJKLMNOPQ", - "ABCDEFGHIJKLMN" - ], - "operationalState": "ENABLED", - "usageState": [ - 773, - [ - {}, - [ - false, - true - ], - null, - null - ] - ] - } - } -] \ No newline at end of file