Commit 430db536 authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

fixed issue #154 on SOL003 subscriptions - v2.7.1

parent 565276cf
......@@ -5,6 +5,7 @@ Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=fal
Library JSONLibrary
Library JSONSchemaLibrary schemas/
Library OperatingSystem
Library MockServerLibrary
#Suite Teardown Terminate All Processes kill=true
Library Process
......@@ -13,6 +14,11 @@ Library Process
${original_etag} 1234
*** Keywords ***
Create Sessions
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}
Check created Subscription existence
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
......@@ -257,9 +263,15 @@ POST Subscription
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/fmSubscriptionRequest.json
${body}= Format String ${template} vnfdIds=${vnfdIds} 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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Send POST Request for duplicated subscription
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions
......@@ -269,9 +281,15 @@ Send POST Request for duplicated subscription
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/fmSubscriptionRequest.json
${body}= Format String ${template} vnfdIds=${vnfdIds} 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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Send POST Request for duplicated subscription not permitted
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions
......@@ -281,9 +299,15 @@ Send POST Request for duplicated subscription not permitted
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/fmSubscriptionRequest.json
${body}= Format String ${template} vnfdIds=${vnfdIds} 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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
GET Subscriptions
Log Get the list of active subscriptions
......
......@@ -6,6 +6,9 @@ Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_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 ***
Create a new Fault Management alarm subscription
......
......@@ -58,4 +58,6 @@ ${callback_endpoint} /subscribe
${vnfdIds} 6fc3539c-e602-4afa-8e13-962fb5a7d81f
${callbackResp} localhost
\ No newline at end of file
${callbackResp} localhost
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
\ No newline at end of file
......@@ -99,21 +99,19 @@ Send Post Request for VNF Indicator Subscription
Set Headers {"Accept": "${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${template}= Get File jsons/subscriptions.json
${body}= Format String ${template} callback=${callback} {callback_subscribe}=${callback_subscribe}
${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1
... Check Notification Endpoint
# Integer response status 201
# Log Received 201 Created as expected
# ${headers}= Output response headers
# Should Contain ${headers} Location
# Log Response has header Location
# ${result}= Output response body
# Validate Json VnfIndicatorSubscription.schema.json ${result}
# Log Validation of VnfIndicatorSubscription OK
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
......@@ -122,19 +120,19 @@ Send Post Request for Duplicated VNF indicator Subscription
Set Headers {"Accept": "${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${template}= Get File jsons/subscriptions.json
${body}= Format String ${template} callback=${callback} {callback_subscribe}=${callback_subscribe}
${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_endpoint=${callback_endpoint}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
# Integer response status 201
# Log Received 201 Created as expected
# ${headers}= Output response headers
# Should Contain ${headers} Location
# Log Response has header Location
# ${result}= Output response body
# Validate Json VnfIndicatorSubscription.schema.json ${result}
# Log Validation of VnfIndicatorSubscription OK
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 Indicator Subscriptions
......@@ -527,8 +525,7 @@ Check Postcondition Individual VNF Indicator Subscription is Deleted
GET Individual VNF Indicator Subscription
Check HTTP Response Status Code Is 404
Create Sessions
Pass Execution If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run
Create Sessions
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}
......
......@@ -35,9 +35,6 @@ ${notification_response} []
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
${callback} http://172.22.1.7:${callback_port}
${callback_subscribe} /vnfind/subscribes
${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa
${erroneousSubscriptionId} erroneousSubscriptionId
......
{{
"callbackUri": "{callback}{callback_subscribe}"
"callbackUri": "{callback_uri}:{callback_port}{callback_endpoint}"
}}
\ No newline at end of file
......@@ -20,11 +20,6 @@ Check subscriptions about one VNFInstance and operation type
Array response body minItems=1
${body} Output response body
[Return] ${body}
Create Sessions
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}
Configure Notification Status Handler
[Arguments] ${endpoint} ${status}=""
......
......@@ -5,7 +5,9 @@ Library OperatingSystem
Library JSONLibrary
Library JSONSchemaLibrary schemas/
Resource VnfLcmMntOperationKeywords.robot
Library Process
Suite Setup Create Sessions
Suite Teardown Terminate All Processes kill=true
*** Test Cases ***
POST Create a new subscription
......@@ -24,7 +26,7 @@ POST Create a new subscription
Create a new Subscription - DUPLICATION
[Documentation] Test ID: 7.3.1.17.2
... Test title: POST Create a new subscription - DUPLICATION
... Test objective: The objective is to test request to create a duplicate (same cakkbackurl and filter) subscription
... Test objective: The objective is to test request to create a duplicate (same callbackurl and filter) subscription
... Pre-conditions: none
... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1
... Config ID: Config_prod_VNFM
......
......@@ -7,11 +7,17 @@ Library OperatingSystem
Library BuiltIn
Library JSONLibrary
Library Collections
Library Process
Library JSONSchemaLibrary schemas/
Variables descriptors/SOL001/VNFD/vnfd_SOL001.yaml
Variables descriptors/SOL006/VNFD/vnfd_SOL006.yaml
*** Keywords ***
Create Sessions
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}
Get Vnf Instance
[Arguments] ${vnfInstanceId}
Set Headers {"Accept":"${ACCEPT}"}
......@@ -1180,10 +1186,19 @@ Post Create subscription
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/lccnSubscriptionRequest.json
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_notification=${callback_notification}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
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
Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test
......@@ -1191,10 +1206,19 @@ Post Create subscription - DUPLICATION
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/lccnSubscriptionRequest.json
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_notification=${callback_notification}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
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 - NO-DUPLICATION
Log Trying to create a subscription with an already created content
Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test
......@@ -1202,10 +1226,19 @@ Post Create subscription - NO-DUPLICATION
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${template}= Get File jsons/lccnSubscriptionRequest.json
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_notification=${callback_notification}
Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
${body}= Format String ${template} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_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}
${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse}
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
Get subscriptions
Log Get the list of active subscriptions
Set Headers {"Accept":"${ACCEPT}"}
......
......@@ -6,5 +6,5 @@
]
}}
}},
"callbackUri": "{callback_uri}{callback_notification}"
"callbackUri": "{callback_uri}{callback_endpoint}"
}}
......@@ -390,24 +390,38 @@ Send Post Request for VNF Package Subscription
Set Headers {"Accept": "${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${template}= Get File jsons/subscriptions.json
${body}= Format String ${template} callbackUri=${callbackUri}
${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
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
Set Headers {"Accept": "${ACCEPT_JSON}"}
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${template}= Get File jsons/subscriptions.json
${body}= Format String ${template} callbackUri=${callbackUri}
${body}= Format String ${template} callback_uri=${callback_uri} callback_port=${callback_port} callback_uri=${callback_endpoint}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
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
......
[
{
"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"
]