From b6fe5a1bbad372357f6b441e1657dd8bbe48dc1a Mon Sep 17 00:00:00 2001 From: Lathish Date: Wed, 9 Oct 2019 10:32:09 +0100 Subject: [PATCH] NonRT-RIC A1 Northbound API Initial SEED CODE Issue-ID: NONRTRIC-36 Change-Id: I72c537297c3440f49af0160b0029488959f5556b Signed-off-by: Lathish --- sdnc-a1-controller/northbound/.gitignore | 38 + sdnc-a1-controller/northbound/.gitreview | 4 + sdnc-a1-controller/northbound/.scanignore | 6 + sdnc-a1-controller/northbound/INFO.yaml | 52 + sdnc-a1-controller/northbound/LICENSE.txt | 22 + sdnc-a1-controller/northbound/README.md | 8 + sdnc-a1-controller/northbound/asdcApi/.gitignore | 34 + sdnc-a1-controller/northbound/asdcApi/README.md | 3 + .../northbound/dataChange/.gitignore | 34 + .../northbound/dataChange/.sonar/checkstyle.xml | 1 + .../northbound/dataChange/.sonar/pmd.xml | 67 + sdnc-a1-controller/northbound/dataChange/README.md | 3 + .../northbound/dmaap-listener/.gitignore | 12 + .../dmaap-listener/.sonar/checkstyle.xml | 1 + .../northbound/dmaap-listener/.sonar/pmd.xml | 67 + .../northbound/dmaap-listener/README.md | 3 + .../features/features-sdnc-northbound/pom.xml | 29 + .../northbound/features/installer/pom.xml | 136 + .../src/assembly/assemble_installer_zip.xml | 39 + .../src/assembly/assemble_mvnrepo_zip.xml | 29 + .../src/main/resources/scripts/install-feature.sh | 18 + sdnc-a1-controller/northbound/features/pom.xml | 24 + .../features/sdnc-northbound-all/pom.xml | 63 + .../northbound/generic-resource-api/.gitignore | 40 + .../northbound/generic-resource-api/client/pom.xml | 109 + .../features/features-generic-resource-api/pom.xml | 29 + .../generic-resource-api/features/pom.xml | 23 + .../features/sdnc-generic-resource-api/pom.xml | 45 + .../generic-resource-api/installer/pom.xml | 142 + .../src/assembly/assemble_installer_zip.xml | 56 + .../src/assembly/assemble_mvnrepo_zip.xml | 44 + .../src/main/resources/scripts/install-feature.sh | 39 + .../northbound/generic-resource-api/model/pom.xml | 54 + .../model/scripts/python/yang2props.py | 57 + .../resources/generic-resource-api.20170824.json | 102510 ++++++++++++++++++ .../model/src/main/yang/GENERIC-RESOURCE-API.yang | 3425 + .../northbound/generic-resource-api/pom.xml | 26 + .../generic-resource-api/provider/pom.xml | 89 + .../northbound/GenericResourceApiProvider.java | 3998 + .../GenericResourceApiSvcLogicServiceClient.java | 145 + .../sdnc/northbound/GenericResourceApiUtil.java | 127 + .../org/onap/sdnc/northbound/ResponseObject.java | 30 + .../blueprint/generic-resource-api-blueprint.xml | 34 + .../blueprint/generic-resource-api-blueprint.xml | 34 + .../northbound/BrgTopologyOperationRPCTest.java | 146 + ...nnectionAttachmentTopologyOperationRPCTest.java | 271 + .../ContrailRouteTopologyOperationRPCTest.java | 271 + .../GenericConfigurationNotificationRPCTest.java | 38 + ...nericConfigurationTopologyOperationRPCTest.java | 66 + .../northbound/GenericResourceApiProviderTest.java | 75 + ...enericResourceApiSvcLogicServiceClientTest.java | 207 + .../GetpathsegmentTopologyOperationRPCTest.java | 69 + .../NetworkTopologyOperationRPCTest.java | 346 + .../northbound/PnfTopologyOperationRPCTest.java | 208 + .../PolicyUpdateNotifyOperationRPCTest.java | 48 + .../PortMirrorTopologyOperationRPCTest.java | 36 + .../northbound/PreloadNetworkTopologyRPCTest.java | 167 + .../PreloadVnfTopologyOperationRPCTest.java | 266 + .../SecurityZoneTopologyOperationRPCTest.java | 272 + .../ServiceTopologyOperationRPCTest.java | 365 + .../TunnelxconnTopologyOperationRPCTest.java | 146 + .../VfModuleTopologyOperationRPCTest.java | 242 + .../northbound/VnfTopologyOperationRPCTest.java | 208 + .../onap/sdnc/northbound/util/DataBrokerUtil.java | 110 + ...icResourceApiSvcLogicServiceClientMockUtil.java | 182 + .../org/onap/sdnc/northbound/util/MDSALUtil.java | 384 + .../org/onap/sdnc/northbound/util/PropBuilder.java | 62 + .../northbound/nonrt-ric-api/.gitignore | 40 + .../northbound/nonrt-ric-api/a1-client/.gitignore | 23 + .../northbound/nonrt-ric-api/a1-client/README.md | 29 + .../northbound/nonrt-ric-api/a1-client/pom.xml | 195 + .../src/main/resources/a1_mediator_0.11.0.yaml | 388 + .../features/features-nonrt-ric-api/pom.xml | 48 + .../northbound/nonrt-ric-api/features/pom.xml | 42 + .../features/sdnc-nonrt-ric-api/pom.xml | 69 + .../northbound/nonrt-ric-api/installer/pom.xml | 161 + .../src/assembly/assemble_installer_zip.xml | 56 + .../src/assembly/assemble_mvnrepo_zip.xml | 51 + .../src/main/resources/scripts/install-feature.sh | 39 + .../northbound/nonrt-ric-api/model/pom.xml | 73 + .../model/scripts/python/yang2props.py | 57 + .../model/src/main/yang/NONRT-RIC-API.yang | 214 + .../northbound/nonrt-ric-api/pom.xml | 46 + .../northbound/nonrt-ric-api/provider/pom.xml | 115 + .../northbound/provider/NonrtRicApiProvider.java | 360 + .../northbound/restadpter/NearRicUrlProvider.java | 116 + .../sdnc/northbound/restadpter/RestAdapter.java | 62 + .../northbound/restadpter/RestAdapterImpl.java | 92 + .../OSGI-INF/blueprint/nonrt-ric-api-blueprint.xml | 45 + .../blueprint/nonrt-ric-api-blueprint.xml | 45 + .../sdnc/northbound/NonrtRicApiProviderTest.java | 244 + sdnc-a1-controller/northbound/pom.xml | 103 + sdnc-a1-controller/northbound/releases/1.6.0.yaml | 5 + sdnc-a1-controller/northbound/releases/1.6.1.yaml | 5 + sdnc-a1-controller/northbound/releases/1.6.2.yaml | 5 + sdnc-a1-controller/northbound/releases/1.7.0.yaml | 5 + .../northbound/ueb-listener/.gitignore | 12 + .../northbound/ueb-listener/.sonar/checkstyle.xml | 1 + .../northbound/ueb-listener/.sonar/pmd.xml | 67 + .../northbound/ueb-listener/README.md | 3 + sdnc-a1-controller/northbound/version.properties | 14 + sdnc-a1-controller/northbound/vnfapi/.gitignore | 34 + .../northbound/vnfapi/.sonar/checkstyle.xml | 1 + .../northbound/vnfapi/.sonar/pmd.xml | 67 + sdnc-a1-controller/northbound/vnfapi/README.txt | 35 + .../vnfapi/features/features-vnfapi/pom.xml | 29 + .../northbound/vnfapi/features/pom.xml | 23 + .../northbound/vnfapi/features/sdnc-vnfapi/pom.xml | 45 + .../northbound/vnfapi/installer/pom.xml | 142 + .../src/assembly/assemble_installer_zip.xml | 56 + .../src/assembly/assemble_mvnrepo_zip.xml | 47 + .../src/main/resources/scripts/install-feature.sh | 39 + sdnc-a1-controller/northbound/vnfapi/model/pom.xml | 27 + .../vnfapi/model/scripts/python/yang2props.py | 57 + .../model/src/main/resources/vnf-api.20150720.json | 35918 ++++++ .../vnfapi/model/src/main/yang/VNF-API.yang | 932 + .../vnfapi/model/src/main/yang/vnfsubmodule.yang | 357 + sdnc-a1-controller/northbound/vnfapi/pom.xml | 25 + .../northbound/vnfapi/provider/pom.xml | 94 + .../sdnc/vnfapi/VNFSDNSvcLogicServiceClient.java | 270 + .../java/org/onap/sdnc/vnfapi/VnfApiProvider.java | 2327 + .../main/java/org/onap/sdnc/vnfapi/VnfSdnUtil.java | 295 + .../OSGI-INF/blueprint/vnfapi-blueprint.xml | 34 + .../opendaylight/blueprint/vnfapi-blueprint.xml | 34 + .../vnfapi/VNFSDNSvcLogicServiceClientTest.java | 437 + .../sdnc/vnfapi/VfModuleTopologyOperationTest.java | 388 + .../org/onap/sdnc/vnfapi/VnfApiProviderTest.java | 70 + .../vnfapi/VnfInstanceTopologyOperationTest.java | 368 + .../java/org/onap/sdnc/vnfapi/VnfSdnUtilTest.java | 41 + .../sdnc/vnfapi/VnfTopologyOperationRPCTest.java | 174 + .../onap/sdnc/vnfapi/VnfapiProviderTestBase.java | 1416 + .../org/onap/sdnc/vnfapi/util/DataBrokerUtil.java | 94 + .../java/org/onap/sdnc/vnfapi/util/MDSALUtil.java | 113 + .../org/onap/sdnc/vnfapi/util/PropBuilder.java | 62 + .../util/VNFSDNSvcLogicServiceClientMockUtil.java | 130 + .../src/test/resources/proplist.properties | 22 + .../src/test/resources/simplelogger.properties | 23 + sdnc-a1-controller/northbound/vnftools/.gitignore | 34 + .../vnftools/features/features-vnftools/pom.xml | 29 + .../northbound/vnftools/features/pom.xml | 23 + .../vnftools/features/sdnc-vnftools/pom.xml | 40 + .../northbound/vnftools/installer/pom.xml | 141 + .../src/assembly/assemble_installer_zip.xml | 59 + .../src/assembly/assemble_mvnrepo_zip.xml | 49 + .../src/main/resources/scripts/install-feature.sh | 39 + sdnc-a1-controller/northbound/vnftools/pom.xml | 49 + .../northbound/vnftools/provider/pom.xml | 62 + .../main/java/org/onap/sdnc/vnftools/VnfTools.java | 178 + .../OSGI-INF/blueprint/vnftools-blueprint.xml | 10 + .../src/main/resources/l3ucpetools.properties | 23 + .../opendaylight/blueprint/vnftools-blueprint.xml | 10 + .../java/org/onap/sdnc/vnftools/VnfToolsTest.java | 210 + sdnc-a1-controller/oam/.gitignore | 62 + sdnc-a1-controller/oam/.gitreview | 4 + sdnc-a1-controller/oam/INFO.yaml | 52 + sdnc-a1-controller/oam/LICENSE.txt | 22 + sdnc-a1-controller/oam/README.md | 14 + sdnc-a1-controller/oam/SdncReports/README.md | 11 + .../oam/SdncReports/SdncReportsApi/pom.xml | 191 + .../java/com/onap/sdnc/reports/Application.java | 42 + .../com/onap/sdnc/reports/ServletInitializer.java | 32 + .../sdnc/reports/config/EmbeddedMariaDbConfig.java | 5 + .../sdnc/reports/config/JpaApplicationConfig.java | 30 + .../controller/CertificationController.java | 54 + .../sdnc/reports/controller/ReportController.java | 59 + .../service/CertificationClientService.java | 210 + .../onap/sdnc/reports/service/IReportService.java | 35 + .../sdnc/reports/service/LayerTestService.java | 31 + .../sdnc/reports/service/LayerTestServiceImpl.java | 93 + .../sdnc/reports/service/ReportServiceImpl.java | 89 + .../src/main/resources/application.properties | 30 + .../SdncReportsApi/src/main/resources/log4j2.xml | 38 + .../src/main/resources/static/footer.html | 3 + .../main/resources/static/form-validationTest.html | 148 + .../src/main/resources/static/form-viewReport.html | 129 + .../src/main/resources/static/header.html | 3 + .../src/main/resources/static/images/FailImage.png | Bin 0 -> 2950 bytes .../src/main/resources/static/images/download.png | Bin 0 -> 1066 bytes .../main/resources/static/images/downloadImage.png | Bin 0 -> 3524 bytes .../src/main/resources/static/images/error.png | Bin 0 -> 5610 bytes .../src/main/resources/static/images/fail.png | Bin 0 -> 1850 bytes .../src/main/resources/static/images/images.png | Bin 0 -> 3716 bytes .../main/resources/static/images/networklayer.png | Bin 0 -> 4580 bytes .../src/main/resources/static/images/protocaol.png | Bin 0 -> 2625 bytes .../src/main/resources/static/images/protocol.png | Bin 0 -> 10646 bytes .../src/main/resources/static/images/reachable.png | Bin 0 -> 1219 bytes .../src/main/resources/static/images/router.jpg | Bin 0 -> 3142 bytes .../src/main/resources/static/images/router.png | Bin 0 -> 5693 bytes .../src/main/resources/static/images/search.png | Bin 0 -> 3284 bytes .../src/main/resources/static/images/success.png | Bin 0 -> 4416 bytes .../main/resources/static/images/validation.png | Bin 0 -> 5110 bytes .../src/main/resources/static/images/waning.png | Bin 0 -> 6481 bytes .../resources/static/sdnc-stubs/getAllDevices.json | 17 + .../resources/static/sdnc-stubs/getAllReports.json | 75 + .../resources/static/sdnc-stubs/getAllTest.json | 17 + .../resources/static/sdnc-stubs/getAllVNF.json | 29 + .../resources/static/sdnc-stubs/getTestResult.json | 42 + .../src/main/resources/static/style/sdnc-style.css | 240 + .../src/main/resources/static/style/w3.css | 231 + .../src/main/resources/static/tabs.html | 10 + .../src/main/webapp/WEB-INF/views/index.jsp | 67 + .../SdncReportsApi/src/main/webapp/js/app.js | 47 + .../sdnc-validationTest-controller.js | 207 + .../sdnc-controller/sdnc-viewreport-controller.js | 169 + .../sdnc-services/sdnc-validationTest-service.js | 62 + .../js/sdnc-services/sdnc-viewReport-service.js | 53 + .../main/webapp/node_modules/angular-growl.min.css | 7 + .../main/webapp/node_modules/angular-growl.min.js | 6 + .../main/webapp/node_modules/angular-route.min.js | 15 + .../webapp/node_modules/angular-sanitize.min.js | 16 + .../angular-utils-pagination/dirPagination.js | 639 + .../src/main/webapp/node_modules/angular.min.js | 250 + .../angularjs-datetime-picker.css | 74 + .../angularjs-datetime-picker.js | 332 + .../angularjs-datetime-picker.min.js | 1 + .../node_modules/bootstrap-3.3.7/package.json | 89 + .../src/main/webapp/node_modules/jquery.min.js | 2 + .../webapp/node_modules/ng-csv/build/ng-csv.js | 319 + .../webapp/node_modules/ng-csv/build/ng-csv.min.js | 2 + .../node_modules/ng-ip-address/ngIpAddress.min.js | 1 + .../ng-ip-address/ngIpAddress.vanilla.min.js | 1 + .../webapp/node_modules/ng-ip-address/package.json | 67 + .../src/main/webapp/node_modules/tether.min.js | 1 + .../SdncReportsApi/src/main/webapp/package.json | 32 + .../com/onap/sdnc/reports/ApplicationTest.java | 35 + .../reports/controller/ReportControllerTest.java | 100 + .../service/CertificationClientServiceTest.java | 94 + .../reports/service/LayerTestServiceImplTest.java | 84 + .../reports/service/NetworkCertificationTest.java | 109 + .../reports/service/ReportServiceImplTest.java | 127 + .../testapi/model/CertificationInputsTest.java | 61 + .../com/onap/sdnc/testapi/model/InputTest.java | 34 + .../onap/sdnc/testapi/model/OdlResponseTest.java | 60 + .../com/onap/sdnc/testapi/model/OutputTest.java | 65 + .../sdnc/testapi/model/PreTestResponseTest.java | 59 + .../com/onap/sdnc/testapi/model/RequestTest.java | 75 + .../com/onap/sdnc/testapi/model/ResponseTest.java | 66 + .../onap/sdnc/testapi/model/ValidationTest.java | 48 + .../com/onap/sdnc/testapi/model/VnfListTest.java | 53 + .../java/com/onap/sdnc/testapi/model/VnfTest.java | 61 + .../src/test/resources/application.properties | 17 + .../oam/SdncReports/SdncReportsApi/start.sh | 6 + .../oam/SdncReports/SdncReportsDao/pom.xml | 59 + .../sdnc/reports/model/CertificationInputs.java | 35 + .../com/onap/sdnc/reports/model/DeviceConfig.java | 92 + .../java/com/onap/sdnc/reports/model/Input.java | 53 + .../onap/sdnc/reports/model/ODLClientResponse.java | 34 + .../java/com/onap/sdnc/reports/model/Output.java | 101 + .../com/onap/sdnc/reports/model/PreTestConfig.java | 120 + .../onap/sdnc/reports/model/PreTestResponse.java | 85 + .../java/com/onap/sdnc/reports/model/Request.java | 43 + .../java/com/onap/sdnc/reports/model/Response.java | 39 + .../sdnc/reports/model/ValidationTestType.java | 47 + .../main/java/com/onap/sdnc/reports/model/Vnf.java | 47 + .../java/com/onap/sdnc/reports/model/VnfList.java | 54 + .../sdnc/reports/repository/DeviceRepository.java | 43 + .../repository/PreTestConfigRepository.java | 48 + .../reports/rest/model/ConfigDetailsRestModel.java | 51 + .../com/onap/sdnc/reports/rest/model/JSONTags.java | 55 + .../onap/sdnc/reports/rest/model/PreTestModel.java | 113 + .../src/main/resources/application.properties | 11 + .../src/test/resources/application.properties | 17 + sdnc-a1-controller/oam/SdncReports/pom.xml | 77 + sdnc-a1-controller/oam/admportal/.gitignore | 12 + sdnc-a1-controller/oam/admportal/README | 52 + sdnc-a1-controller/oam/admportal/certs/README | 1 + .../oam/admportal/config/admportal.json | 68 + .../oam/admportal/config/admportal.log4js.json | 154 + .../oam/admportal/config/svclogic.properties | 5 + .../config/svclogic.properties.sdnctldb01 | 5 + .../config/svclogic.properties.sdnctldb02 | 5 + sdnc-a1-controller/oam/admportal/package.json | 39 + sdnc-a1-controller/oam/admportal/pom.xml | 109 + sdnc-a1-controller/oam/admportal/process.http.json | 17 + .../oam/admportal/process.https.json | 17 + .../public/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../public/fonts/glyphicons-halflings-regular.svg | 288 + .../public/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../public/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../oam/admportal/public/javascripts/admportal.js | 79 + .../admportal/public/javascripts/bootbox.min.js | 6 + .../public/javascripts/bootstrap-submenu.js | 185 + .../public/javascripts/bootstrap-submenu.min.js | 7 + .../public/javascripts/bootstrap-table.js | 2690 + .../admportal/public/javascripts/bootstrap.min.js | 7 + .../public/javascripts/dataTables.bootstrap.min.js | 9 + .../public/javascripts/jquery-2.2.0.min.js | 4 + .../public/javascripts/jquery.dataTables.min.js | 164 + .../oam/admportal/public/javascripts/jquery.min.js | 4 + .../javascripts/jquery.treegrid.bootstrap3.js | 4 + .../public/javascripts/jquery.treegrid.js | 626 + .../oam/admportal/public/javascripts/sla.js | 9 + .../public/stylesheets/bootstrap-submenu.css | 125 + .../public/stylesheets/bootstrap-submenu.css.map | 1 + .../public/stylesheets/bootstrap-submenu.min.css | 8 + .../stylesheets/bootstrap-submenu.min.css.map | 1 + .../public/stylesheets/bootstrap-table.css | 297 + .../public/stylesheets/bootstrap-theme.min.css | 6 + .../admportal/public/stylesheets/bootstrap.min.css | 6 + .../stylesheets/dataTables.bootstrap.min.css | 1 + .../public/stylesheets/jquery.treegrid.css | 6 + .../oam/admportal/public/stylesheets/signin.css | 40 + .../oam/admportal/public/stylesheets/style.css | 8 + sdnc-a1-controller/oam/admportal/routes/index.js | 9 + sdnc-a1-controller/oam/admportal/routes/users.js | 9 + .../oam/admportal/server/adminPortal.db | Bin 0 -> 3072 bytes sdnc-a1-controller/oam/admportal/server/app.js | 73 + .../oam/admportal/server/netdb_updater.js | 749 + .../oam/admportal/server/npm-debug.log | 18 + .../oam/admportal/server/router/index.js | 18 + .../admportal/server/router/routes/OdlInterface.js | 594 + .../oam/admportal/server/router/routes/admin.js | 86 + .../oam/admportal/server/router/routes/csp.js | 124 + .../oam/admportal/server/router/routes/dbRoutes.js | 1230 + .../oam/admportal/server/router/routes/gamma.js | 1360 + .../oam/admportal/server/router/routes/helpers.js | 66 + .../oam/admportal/server/router/routes/mobility.js | 770 + .../oam/admportal/server/router/routes/network.js | 438 + .../oam/admportal/server/router/routes/odl.js | 258 + .../oam/admportal/server/router/routes/preload.js | 138 + .../oam/admportal/server/router/routes/root.js | 122 + .../oam/admportal/server/router/routes/sla.js | 319 + .../oam/admportal/server/router/routes/user.js | 172 + .../oam/admportal/server/router/routes/vnf.js | 644 + .../oam/admportal/shell/getAdmPortalProp.py | 13 + sdnc-a1-controller/oam/admportal/shell/start.sh | 11 + .../oam/admportal/shell/start_netdb.sh | 12 + .../oam/admportal/shell/start_portal.sh | 33 + sdnc-a1-controller/oam/admportal/shell/startssl.sh | 28 + sdnc-a1-controller/oam/admportal/shell/stop.sh | 2 + sdnc-a1-controller/oam/admportal/shell/stopssl.sh | 13 + sdnc-a1-controller/oam/admportal/shell/svclogic.sh | 32 + sdnc-a1-controller/oam/admportal/shell/www | 43 + .../oam/admportal/src/assembly/assemble_zip.xml | 102 + .../src/main/swm/deinstall/postproc/post_proc | 4 + .../src/main/swm/deinstall/preproc/pre_proc | 4 + .../src/main/swm/fallback/postproc/post_proc | 4 + .../src/main/swm/fallback/preproc/pre_proc | 4 + .../src/main/swm/initinst/postproc/post_proc | 4 + .../src/main/swm/initinst/preproc/pre_proc | 4 + .../src/main/swm/install/postproc/post_proc | 4 + .../src/main/swm/install/preproc/pre_proc | 3 + .../oam/admportal/src/main/swm/notes.txt | 3 + .../oam/admportal/test/YYYYMMDDHH_ctag_pool.csv | 1501 + .../oam/admportal/test/eipam/sample.xml | 36 + sdnc-a1-controller/oam/admportal/test/gen.sh | 4 + sdnc-a1-controller/oam/admportal/uploads/temp | 0 .../oam/admportal/views/admin/list_usertrace.ejs | 68 + .../oam/admportal/views/admin/parameters.ejs | 181 + .../views/css_delete/bootstrap-theme.min.css | 5 + .../admportal/views/css_delete/bootstrap.min.css | 5 + sdnc-a1-controller/oam/admportal/views/error.ejs | 3 + .../oam/admportal/views/gamma/list.ejs | 162 + .../oam/admportal/views/gamma/listAicAvailZone.ejs | 166 + .../oam/admportal/views/gamma/listAicSwitch.ejs | 156 + .../admportal/views/gamma/listServiceHoming.ejs | 241 + .../views/gamma/listServiceHomingRollback.ejs | 117 + .../oam/admportal/views/gamma/listSite.ejs | 171 + .../oam/admportal/views/gamma/listVpePool.ejs | 194 + .../oam/admportal/views/gamma/listVplspePool.ejs | 178 + .../oam/admportal/views/gamma/nbVlanPool.ejs | 124 + .../oam/admportal/views/gamma/nbVlanRange.ejs | 205 + .../oam/admportal/views/gamma/networkProfile.ejs | 164 + .../views/javascript_delete/jquery.min.js | 4 + .../oam/admportal/views/javascript_delete/sla.js | 11 + .../oam/admportal/views/logs/accesslog.ejs | 83 + .../oam/admportal/views/logs/accesslog.ejs.0223 | 121 + .../oam/admportal/views/logs/usertrace.ejs | 83 + .../oam/admportal/views/logs/usertrace.ejs.0223 | 122 + .../admportal/views/mobility/displayVnfData.ejs | 36 + .../views/mobility/displayVnfNetworkData.ejs | 36 + .../oam/admportal/views/mobility/vmNetworks.ejs | 198 + .../oam/admportal/views/mobility/vmProfile.ejs | 173 + .../oam/admportal/views/mobility/vnfNetworks.ejs | 163 + .../admportal/views/mobility/vnfPreloadData.ejs | 246 + .../views/mobility/vnfPreloadNetworkData.ejs | 242 + .../oam/admportal/views/mobility/vnfProfile.ejs | 178 + .../oam/admportal/views/odl/cluster_status.ejs | 84 + .../oam/admportal/views/odl/listVRlan.ejs | 1069 + .../oam/admportal/views/odl/listWklst.ejs | 2224 + .../oam/admportal/views/odl/view.ejs | 91 + .../oam/admportal/views/odl/viewvnf.ejs | 62 + .../oam/admportal/views/pages/csplogout.ejs | 47 + .../oam/admportal/views/pages/err.ejs | 33 + .../oam/admportal/views/pages/home.ejs | 33 + .../oam/admportal/views/pages/home.ejs.orig | 20 + .../oam/admportal/views/pages/login.ejs | 46 + .../oam/admportal/views/pages/setuplogin.ejs | 51 + .../oam/admportal/views/pages/signup.ejs | 46 + .../oam/admportal/views/pages/testdb.ejs | 38 + .../views/partials/add_service_homing.ejs | 52 + .../admportal/views/partials/alts_credentials.ejs | 65 + .../oam/admportal/views/partials/dhcp.ejs | 66 + .../oam/admportal/views/partials/env.ejs | 1 + .../oam/admportal/views/partials/equipment.ejs | 58 + .../views/partials/excluded_v4_address.ejs | 38 + .../excluded_v4_address_from_default_pool.ejs | 38 + .../excluded_v6_address_from_default_pool.ejs | 38 + .../views/partials/excluded_v6_addresses.ejs | 38 + .../oam/admportal/views/partials/feature_list.ejs | 50 + .../oam/admportal/views/partials/firewall_lite.ejs | 43 + .../oam/admportal/views/partials/footer.ejs | 5 + .../oam/admportal/views/partials/form.ejs | 55 + .../oam/admportal/views/partials/gammaHeader.ejs | 63 + .../oam/admportal/views/partials/head.ejs | 20 + .../oam/admportal/views/partials/head.ejs.orig | 13 + .../oam/admportal/views/partials/header.ejs | 11 + .../oam/admportal/views/partials/header.ejs.orig | 55 + .../oam/admportal/views/partials/interface.ejs | 42 + .../views/partials/internet_evc_modal.ejs | 44 + .../partials/ipv4_infrastructure_static_route.ejs | 50 + .../partials/ipv6_infrastructure_static_route.ejs | 50 + .../views/partials/l2_homing_information_modal.ejs | 46 + .../partials/l3_interface_ipv4_address_list.ejs | 42 + .../partials/l3_interface_ipv6_address_list.ejs | 42 + .../admportal/views/partials/l3sdn_vnf_fields.ejs | 70 + .../views/partials/link_latency_master.ejs | 100 + .../oam/admportal/views/partials/link_master.ejs | 109 + .../admportal/views/partials/max_port_speed.ejs | 86 + .../admportal/views/partials/max_server_speed.ejs | 88 + .../views/partials/metroroadm_service_request.ejs | 170 + .../oam/admportal/views/partials/nat.ejs | 38 + .../oam/admportal/views/partials/nb_vlan_pool.ejs | 38 + .../oam/admportal/views/partials/nb_vlan_range.ejs | 45 + .../admportal/views/partials/ncs_credentials.ejs | 74 + .../views/partials/network_connections.ejs | 66 + .../admportal/views/partials/network_profile.ejs | 59 + .../oam/admportal/views/partials/new_parameter.ejs | 37 + .../oam/admportal/views/partials/newuserform.ejs | 38 + .../admportal/views/partials/oper_status_modal.ejs | 68 + .../admportal/views/partials/owbc_properties.ejs | 98 + .../views/partials/partner_properties.ejs | 74 + .../oam/admportal/views/partials/pat.ejs | 50 + .../oam/admportal/views/partials/pat_pools.ejs | 46 + .../admportal/views/partials/phs_credentials.ejs | 92 + .../views/partials/request_information_modal.ejs | 60 + .../oam/admportal/views/partials/resource_rule.ejs | 118 + .../oam/admportal/views/partials/ro_header.ejs | 43 + .../oam/admportal/views/partials/roadm_mapping.ejs | 101 + .../oam/admportal/views/partials/router_master.ejs | 59 + .../admportal/views/partials/routing_protocol.ejs | 38 + .../views/partials/sdnc_request_header_modal.ejs | 46 + .../oam/admportal/views/partials/sdnfcHeader.ejs | 61 + .../oam/admportal/views/partials/sdnmlcHeader.ejs | 63 + .../views/partials/service_information_modal.ejs | 46 + .../views/partials/service_manager_credentials.ejs | 65 + .../views/partials/service_status_modal.ejs | 68 + .../oam/admportal/views/partials/startssl.sh | 28 + .../views/partials/svc_config_additional_data.ejs | 38 + .../svc_topology_additional_data_modal.ejs | 36 + .../partials/t_provided_v4_lan_public_prefixes.ejs | 46 + .../partials/t_provided_v6_lan_public_prefixes.ejs | 46 + .../oam/admportal/views/partials/tcp_port_list.ejs | 38 + .../admportal/views/partials/threshold_alarm.ejs | 71 + .../oam/admportal/views/partials/udp_port_list.ejs | 38 + .../views/partials/update_aic_avail_zone.ejs | 54 + .../admportal/views/partials/update_aic_site.ejs | 57 + .../admportal/views/partials/update_aic_switch.ejs | 41 + .../views/partials/update_max_port_speed.ejs | 45 + .../admportal/views/partials/update_parameter.ejs | 38 + .../views/partials/update_resource_rule.ejs | 57 + .../views/partials/update_service_homing.ejs | 55 + .../views/partials/update_vlan_id_pool.ejs | 51 + .../admportal/views/partials/update_vpe_pool.ejs | 88 + .../views/partials/update_vplspe_pool.ejs | 72 + .../oam/admportal/views/partials/userform.ejs | 42 + .../oam/admportal/views/partials/v4_dhcp_pools.ejs | 50 + .../views/partials/v4_firewall_packet_filters.ejs | 46 + .../views/partials/v4_nat_mapping_entries.ejs | 46 + .../admportal/views/partials/v4_static_routes.ejs | 46 + .../oam/admportal/views/partials/v6_dhcp_pools.ejs | 50 + .../views/partials/v6_firewall_packet_filters.ejs | 46 + .../admportal/views/partials/v6_static_routes.ejs | 46 + .../oam/admportal/views/partials/vlan.ejs | 46 + .../oam/admportal/views/partials/vm_networks.ejs | 57 + .../oam/admportal/views/partials/vm_profile.ejs | 32 + .../oam/admportal/views/partials/vnf_network.ejs | 28 + .../oam/admportal/views/partials/vnf_profile.ejs | 33 + .../views/partials/vnf_vm_information.ejs | 42 + .../admportal/views/partials/vr_lan_interface.ejs | 66 + .../admportal/views/partials/vrr_credentials.ejs | 82 + .../admportal/views/resalloc/max_port_speed.ejs | 205 + .../admportal/views/resalloc/max_server_speed.ejs | 207 + .../oam/admportal/views/resalloc/resource_rule.ejs | 228 + .../admportal/views/resalloc/threshold_alarms.ejs | 186 + .../oam/admportal/views/sdnfc/viewTables.ejs | 102 + .../oam/admportal/views/sdnfc/vrrCredentials.ejs | 223 + .../oam/admportal/views/sla/list.ejs | 183 + .../oam/admportal/views/sla/printasgv.ejs | 43 + .../oam/admportal/views/sla/printasxml.ejs | 35 + .../admportal/views/tunnel/linkLatencyMaster.ejs | 240 + .../oam/admportal/views/tunnel/linkMaster.ejs | 213 + .../views/tunnel/metroRoadmServiceRequest.ejs | 300 + .../oam/admportal/views/tunnel/owbcProperties.ejs | 223 + .../admportal/views/tunnel/partnerProperties.ejs | 184 + .../oam/admportal/views/tunnel/roadmMapping.ejs | 230 + .../oam/admportal/views/tunnel/routerMaster.ejs | 167 + .../oam/admportal/views/ucpe/altsCredentials.ejs | 171 + .../oam/admportal/views/ucpe/apiLogins.ejs | 93 + .../admportal/views/ucpe/chainingTopologies.ejs | 98 + .../admportal/views/ucpe/customerNcsServers.ejs | 102 + .../oam/admportal/views/ucpe/mappedServicePort.ejs | 98 + .../oam/admportal/views/ucpe/mcapServers.ejs | 92 + .../oam/admportal/views/ucpe/ncsCredentials.ejs | 180 + .../oam/admportal/views/ucpe/nmInterfaces.ejs | 96 + .../oam/admportal/views/ucpe/phsCredentials.ejs | 202 + .../oam/admportal/views/ucpe/phsServers.ejs | 92 + .../admportal/views/ucpe/physicalDeviceLogins.ejs | 98 + .../oam/admportal/views/ucpe/referenceData.ejs | 224 + .../views/ucpe/serviceManagerCredentials.ejs | 171 + .../oam/admportal/views/ucpe/servicePort.ejs | 88 + .../oam/admportal/views/ucpe/vnfLogins.ejs | 94 + .../oam/admportal/views/ucpe/vnfMapDevice.ejs | 98 + .../oam/admportal/views/ucpe/vnfModelFeatures.ejs | 90 + .../oam/admportal/views/ucpe/vnfModelSoftware.ejs | 98 + .../oam/admportal/views/ucpe/vnfModels.ejs | 122 + .../oam/admportal/views/ucpe/vnfNmInterfaces.ejs | 98 + .../oam/admportal/views/ucpe/vnfPorts.ejs | 94 + .../oam/admportal/views/user/list.ejs | 194 + .../getBackupVnfDetailService/pom.xml | 146 + .../getBackupVnfDetailService/read.md | 0 .../controller/VnfComparisonController.java | 68 + .../vnfcomparsion/dao/VnfComparisonRepository.java | 30 + .../com/onap/sdnc/vnfcomparsion/dao/VnfIds.java | 7 + .../model/VnfCompareResponse.java | 16 + .../model/VnfConfigDetailsDB.java | 108 + .../sdnc/vnfconfigcomparsion/model/VnfDetails.java | 27 + .../service/VnfComparisonService.java | 96 + .../VnfDetailsForVnfIDAndVnfVersionService.java | 56 + .../service/VnfDetailsForVnfIDService.java | 36 + .../service/VnfComparisonServiceTest.java | 123 + sdnc-a1-controller/oam/configbackuprestore/pom.xml | 94 + sdnc-a1-controller/oam/configbackuprestore/read.md | 7 + .../vnfconfigbackupservice/pom.xml | 171 + .../vnfconfigbackupservice/read.md | 13 + .../config/ApplicationConfiguration.java | 49 + .../config/ServletInitializer.java | 32 + .../controller/VnfBackupServiceController.java | 74 + .../vnfbackupservice/dao/VnfBackupServiceRepo.java | 68 + .../vnfbackupservice/model/VnfConfigDetailsDB.java | 137 + .../model/VnfConfigSchedulerTimeStamp.java | 55 + .../vnfbackupservice/model/VnfDisplayParams.java | 39 + .../vnfbackupservice/model/VnfServiceResponse.java | 36 + .../scheduler/VnfConfigBackupScheduler.java | 82 + .../vnfbackupservice/scheduler/VnfRestClient.java | 58 + .../vnfbackupservice/service/VnfbackupService.java | 31 + .../service/VnfbackupServiceImpl.java | 234 + .../src/main/resources/application.properties | 33 + .../src/main/resources/log4j2.xml | 38 + .../src/main/webapp/WEB-INF/views/index.jsp | 73 + .../src/main/webapp/js/app.js | 68 + .../sdnc-controller/sdnc-applyConfig-controller.js | 106 + .../sdnc-backupConfig-controller.js | 314 + .../sdnc-compareConfig-controller.js | 689 + .../sdnc-validationTest-controller.js | 222 + .../sdnc-controller/sdnc-viewreport-controller.js | 519 + .../js/sdnc-services/sdnc-compareConfig-service.js | 156 + .../sdnc-services/sdnc-validationTest-service.js | 66 + .../js/sdnc-services/sdnc-viewReport-service.js | 101 + .../angular-growl-v2/build/angular-growl.css | 88 + .../angular-growl-v2/build/angular-growl.js | 419 + .../angular-growl-v2/build/angular-growl.min.css | 7 + .../angular-growl-v2/build/angular-growl.min.js | 6 + .../main/webapp/node_modules/angular-growl.min.css | 7 + .../main/webapp/node_modules/angular-growl.min.js | 6 + .../node_modules/angular-object-diff/.editorconfig | 18 + .../angular-object-diff/.gitattributes | 17 + .../node_modules/angular-object-diff/.jscsrc | 52 + .../node_modules/angular-object-diff/.jshintignore | 6 + .../node_modules/angular-object-diff/.jshintrc | 19 + .../node_modules/angular-object-diff/.npmignore | 4 + .../node_modules/angular-object-diff/LICENSE | 22 + .../node_modules/angular-object-diff/README.md | 121 + .../angular-object-diff/angular-object-diff.js | 344 + .../angular-object-diff/angular-object-diff.less | 42 + .../node_modules/angular-object-diff/bower.json | 50 + .../node_modules/angular-object-diff/demo.js | 68 + .../node_modules/angular-object-diff/gulpfile.js | 169 + .../node_modules/angular-object-diff/index.html | 95 + .../node_modules/angular-object-diff/package.json | 84 + .../angular-object-diff/screenshot.png | Bin 0 -> 19779 bytes .../main/webapp/node_modules/angular-route.min.js | 15 + .../webapp/node_modules/angular-sanitize.min.js | 16 + .../angular-utils-pagination/dirPagination.js | 639 + .../src/main/webapp/node_modules/angular.min.js | 250 + .../angularjs-datetime-picker.css | 74 + .../angularjs-datetime-picker.js | 332 + .../angularjs-datetime-picker.min.js | 1 + .../node_modules/bootstrap-3.3.7/package.json | 89 + .../src/main/webapp/node_modules/jquery.min.js | 2 + .../webapp/node_modules/ng-csv/build/ng-csv.js | 319 + .../webapp/node_modules/ng-csv/build/ng-csv.min.js | 2 + .../node_modules/ng-ip-address/ngIpAddress.min.js | 1 + .../ng-ip-address/ngIpAddress.vanilla.min.js | 1 + .../webapp/node_modules/ng-ip-address/package.json | 67 + .../src/main/webapp/node_modules/tether.min.js | 1 + .../src/main/webapp/package.json | 32 + .../src/main/webapp/static/images/Apply.jpg | Bin 0 -> 6195 bytes .../src/main/webapp/static/images/FailImage.png | Bin 0 -> 2950 bytes .../src/main/webapp/static/images/backup.jpg | Bin 0 -> 4509 bytes .../src/main/webapp/static/images/backupConfig.png | Bin 0 -> 4889 bytes .../src/main/webapp/static/images/compare.jpg | Bin 0 -> 7732 bytes .../src/main/webapp/static/images/compare.png | Bin 0 -> 1648 bytes .../src/main/webapp/static/images/download.png | Bin 0 -> 1066 bytes .../main/webapp/static/images/downloadImage.png | Bin 0 -> 3524 bytes .../src/main/webapp/static/images/error.png | Bin 0 -> 5610 bytes .../src/main/webapp/static/images/fail.png | Bin 0 -> 1850 bytes .../src/main/webapp/static/images/images.png | Bin 0 -> 3716 bytes .../src/main/webapp/static/images/networklayer.png | Bin 0 -> 4580 bytes .../src/main/webapp/static/images/protocaol.png | Bin 0 -> 2625 bytes .../src/main/webapp/static/images/protocol.png | Bin 0 -> 10646 bytes .../src/main/webapp/static/images/reachable.png | Bin 0 -> 1219 bytes .../src/main/webapp/static/images/router.jpg | Bin 0 -> 3142 bytes .../src/main/webapp/static/images/router.png | Bin 0 -> 5693 bytes .../src/main/webapp/static/images/search.png | Bin 0 -> 3284 bytes .../src/main/webapp/static/images/success.png | Bin 0 -> 4416 bytes .../src/main/webapp/static/images/validation.png | Bin 0 -> 5110 bytes .../src/main/webapp/static/images/waning.png | Bin 0 -> 6481 bytes .../static/sdnc-stubs/getAllConfigForVNF.json | 199 + .../webapp/static/sdnc-stubs/getAllDevices.json | 17 + .../webapp/static/sdnc-stubs/getAllReports.json | 75 + .../main/webapp/static/sdnc-stubs/getAllTest.json | 17 + .../main/webapp/static/sdnc-stubs/getAllVNF.json | 33 + .../webapp/static/sdnc-stubs/getAllVersion.json | 133 + .../webapp/static/sdnc-stubs/getTestResult.json | 42 + .../src/main/webapp/static/style/sdnc-style.css | 562 + .../src/main/webapp/static/style/w3.css | 231 + .../src/main/webapp/static/views/footer.html | 3 + .../main/webapp/static/views/form-applyConfig.jsp | 58 + .../webapp/static/views/form-backupConfig.html | 39 + .../webapp/static/views/form-compareConfig.html | 85 + .../webapp/static/views/form-deviceConfig.html | 467 + .../webapp/static/views/form-deviceConfigView.html | 154 + .../webapp/static/views/form-validationTest.html | 135 + .../webapp/static/views/form-versionCompare.html | 59 + .../main/webapp/static/views/form-viewReport.html | 90 + .../webapp/static/views/form-viewReportById.html | 122 + .../src/main/webapp/static/views/header.html | 3 + .../src/main/webapp/static/views/tabs.html | 25 + .../model/VnfConfigDetailsDBTest.java | 62 + .../model/VnfConfigSchedulerTimeStampTest.java | 39 + .../scheduler/VnfConfigBackupSchedulerTest.java | 85 + .../scheduler/VnfRestClientTest.java | 62 + .../service/VnfbackupServiceImplTest.java | 150 + .../vnfconfigreportsservice/README.md | 3 + .../vnfconfigreportsservice/pom.xml | 110 + .../controller/VnfReportsServiceController.java | 44 + .../dao/VnfReportsServiceRepo.java | 20 + .../model/VnfConfigDetailsDB.java | 110 + .../service/VnfReportsServiceImpl.java | 48 + .../service/Vnfreportsservice.java | 11 + .../service/VnfReportsServiceImplTest.java | 87 + sdnc-a1-controller/oam/data-migrator/pom.xml | 138 + .../data-migrator/src/assembly/assemble_zip.xml | 59 + .../onap/sdnc/oam/datamigrator/DataMigration.java | 39 + .../oam/datamigrator/DataMigrationInternal.java | 148 + .../sdnc/oam/datamigrator/common/Description.java | 31 + .../datamigrator/common/MigratorConfiguration.java | 118 + .../sdnc/oam/datamigrator/common/Operation.java | 24 + .../oam/datamigrator/common/RestconfClient.java | 144 + .../datamigrator/exceptions/RestconfException.java | 46 + .../sdnc/oam/datamigrator/migrators/Migrator.java | 136 + .../migrators/PreloadInformationMigrator.java | 61 + .../migrators/RenameDeleteLeafMigrator.java | 62 + .../src/main/resources/data-migrator.properties | 27 + .../src/main/resources/log4j.properties | 37 + .../data-migrator/src/main/scripts/runMigration.sh | 48 + .../datamigrator/DataMigrationInternalTest.java | 92 + .../datamigrator/common/RestconfClientTest.java | 107 + .../PreloadInformationMigratorTest.java | 80 + .../src/test/resources/log4j.properties | 29 + .../migration/props/data-migrator.properties | 27 + .../wiremock/preloadInformationRequest.json | 1 + .../resources/wiremock/preloadVnfResponse.json | 132 + .../oam/docs/apis/genericresource.rst | 4 + sdnc-a1-controller/oam/docs/apis/vnfapi.rst | 4 + sdnc-a1-controller/oam/docs/architecture.rst | 27 + sdnc-a1-controller/oam/docs/build.rst | 18 + sdnc-a1-controller/oam/docs/cert_installation.rst | 222 + sdnc-a1-controller/oam/docs/configuration.rst | 27 + sdnc-a1-controller/oam/docs/consumedapis.rst | 15 + sdnc-a1-controller/oam/docs/delivery.rst | 43 + sdnc-a1-controller/oam/docs/humaninterfaces.rst | 16 + .../oam/docs/images/certs_properties.png | Bin 0 -> 13937 bytes .../oam/docs/images/client_certificate.png | Bin 0 -> 182124 bytes sdnc-a1-controller/oam/docs/images/client_key.png | Bin 0 -> 48883 bytes .../oam/docs/images/get_keystore.png | Bin 0 -> 116398 bytes .../oam/docs/images/trusted_certificate.png | Bin 0 -> 74756 bytes sdnc-a1-controller/oam/docs/index.rst | 20 + sdnc-a1-controller/oam/docs/installation.rst | 290 + sdnc-a1-controller/oam/docs/logging.rst | 14 + sdnc-a1-controller/oam/docs/offeredapis.rst | 10 + sdnc-a1-controller/oam/docs/release-notes.rst | 266 + .../oam/installation/TagVersion.groovy | 41 + .../oam/installation/admportal/pom.xml | 235 + .../admportal/src/main/docker/Dockerfile | 14 + .../oam/installation/ansible-server/pom.xml | 127 + .../ansible-server/src/main/.dockerignore | 1 + .../ansible-server/src/main/Dockerfile | 6 + .../src/main/Playbooks/Ansible_inventory | 26 + .../Playbooks/ansible_huawei_postcheck@0.00.yml | 21 + .../Playbooks/ansible_huawei_postcheck@0.01.yml | 41 + .../Playbooks/ansible_huawei_precheck@0.00.yml | 21 + .../Playbooks/ansible_huawei_precheck@0.01.yml | 41 + .../Playbooks/ansible_huawei_rollback@0.00.yml | 29 + .../main/Playbooks/ansible_huawei_upgrade@0.00.yml | 21 + .../main/Playbooks/ansible_huawei_upgrade@0.01.yml | 190 + .../src/main/Playbooks/ansible_postcheck@0.00.yml | 6 + .../main/Playbooks/ansible_postcheck_jq@0.00.yml | 10 + .../src/main/Playbooks/ansible_precheck@0.00.yml | 6 + .../main/Playbooks/ansible_precheck_jq@0.00.yml | 10 + .../src/main/Playbooks/ansible_pyver@0.00.yml | 6 + .../main/Playbooks/ansible_quiescetraffic@0.00.yml | 6 + .../main/Playbooks/ansible_resumetraffic@0.00.yml | 6 + .../src/main/Playbooks/ansible_sleep@0.00.yml | 41 + .../src/main/Playbooks/ansible_upgradesw@0.00.yml | 17 + .../Playbooks/ansible_upgradesw_insjq@0.00.yml | 9 + .../Playbooks/ansible_upgradesw_remjq@0.00.yml | 9 + .../ansible_vfw_distributetraffic@0.00.yml | 110 + .../oam/installation/dmaap-listener/pom.xml | 231 + .../dmaap-listener/src/main/docker/Dockerfile | 24 + .../src/main/properties/aai.properties | 36 + .../src/main/properties/dblib.properties | 38 + .../src/main/properties/dhcpalert.properties | 36 + .../properties/dmaap-consumer-oofpcipoc.properties | 35 + .../properties/dmaap-listener.preferredRoute.txt | 1 + .../src/main/properties/dmaap-listener.properties | 1 + .../src/main/properties/lcm.properties | 36 + .../src/main/properties/log4j.properties | 50 + .../src/main/scripts/start-dmaap-listener.sh | 45 + sdnc-a1-controller/oam/installation/pom.xml | 36 + sdnc-a1-controller/oam/installation/sdnc/pom.xml | 437 + .../installation/sdnc/src/main/docker/Dockerfile | 69 + .../sdnc/src/main/docker/standalone.Dockerfile | 65 + .../sdnc/src/main/resources/aaa-app-config.xml | 320 + .../resources/allotted_resource_model.data.dump | 61 + .../main/resources/blueprint-processor.data.dump | 98 + .../sdnc/src/main/resources/idmlight.db.mv.db | Bin 0 -> 45056 bytes .../sdnc/src/main/resources/ipam.data.dump | 88 + .../sdnc/src/main/resources/listDataFiles.sh | 4 + .../src/main/resources/network_model.data.dump | 80 + .../sdnc/src/main/resources/sdnctl.dump | 3441 + .../src/main/resources/service_model.data.dump | 72 + .../sdnc/src/main/resources/truststoreONAPall.jks | Bin 0 -> 117990 bytes .../sdnc/src/main/resources/vf_model.data.dump | 67 + .../src/main/resources/vf_module_model.data.dump | 59 + .../sdnc/src/main/resources/vfc_model.data.dump | 66 + .../sdnc/src/main/scripts/addIpAddresses.sh | 33 + .../sdnc/src/main/scripts/addSdncKeyStore.sh | 11 + .../installation/sdnc/src/main/scripts/addVnis.sh | 31 + .../sdnc/src/main/scripts/backupMdsal.sh | 12 + .../sdnc/src/main/scripts/configure_geo_cluster.sh | 192 + .../sdnc/src/main/scripts/installCerts.py | 202 + .../sdnc/src/main/scripts/installFeatures.sh | 73 + .../sdnc/src/main/scripts/installSdncDb.sh | 62 + .../sdnc/src/main/scripts/installZips.sh | 104 + .../sdnc/src/main/scripts/restoreMdsal.sh | 11 + .../sdnc/src/main/scripts/rmForeignKey.sh | 18 + .../sdnc/src/main/scripts/sdnc.cluster | 52 + .../sdnc/src/main/scripts/sdnc.failover | 65 + .../sdnc/src/main/scripts/sdnc.isPrimaryCluster | 19 + .../installation/sdnc/src/main/scripts/startODL.sh | 177 + .../sdnc/src/main/scripts/switchVoting.sh | 27 + .../src/main/properties/aaiclient.properties | 82 + .../src/main/properties/admportal.json | 68 + .../src/main/properties/admportal.log4js.json | 169 + .../src/main/properties/ansible-adapter.properties | 48 + .../src/main/properties/bath_config.csv | 1 + .../blueprints-processor-adaptor.properties | 35 + .../src/main/properties/data-migrator.properties | 26 + .../src/main/properties/dblib.properties | 38 + .../properties/generic-resource-api-dg.properties | 77 + .../src/main/properties/lcm-dg.properties | 40 + .../src/main/properties/mdsal-resource.properties | 27 + .../src/main/properties/org.onap.sdnc.cred.props | 17 + .../src/main/properties/org.onap.sdnc.props | 15 + .../src/main/properties/sql-resource.properties | 23 + .../src/main/properties/svclogic.properties | 29 + .../main/properties/svclogic.properties.sdnctldb01 | 29 + .../installation/src/main/stores/keystore.sdnc.p12 | Bin 0 -> 2605 bytes .../src/main/stores/org.onap.sdnc.keyfile | 27 + .../installation/src/main/stores/org.onap.sdnc.p12 | Bin 0 -> 4311 bytes .../src/main/stores/org.onap.sdnc.trust.jks | Bin 0 -> 1413 bytes .../src/main/stores/truststore.onap.client.jks | Bin 0 -> 117990 bytes .../main/stores/truststore.openecomp.client.jks | Bin 0 -> 3168 bytes .../installation/src/main/yaml/docker-compose.yml | 164 + .../oam/installation/ueb-listener/pom.xml | 233 + .../ueb-listener/src/main/docker/Dockerfile | 11 + .../ueb-listener/src/main/properties/artifact.map | 2 + .../src/main/properties/dblib.properties | 38 + .../src/main/properties/log4j.properties | 50 + .../src/main/properties/ueb-listener.properties | 27 + .../src/main/scripts/start-ueb-listener.sh | 44 + sdnc-a1-controller/oam/platform-logic/.gitignore | 12 + .../oam/platform-logic/datachange/pom.xml | 56 + .../json/DataChange_data-change-notification.json | 170 + ...hange_esr-thirdparty-sdnc-discovery-of-zte.json | 1316 + .../DataChange_esr-thirdparty-sdnc-discovery.json | 639 + .../DataChange_esr-thirdparty-sdnc-of-zte.json | 405 + .../main/json/DataChange_esr-thirdparty-sdnc.json | 452 + .../json/DataChange_sotn-notification-handler.json | 234 + .../json/DataChange_update-network-to-aai.json | 302 + ...aChange_validate-esr-thirdparty-sdnc-input.json | 457 + .../datachange/src/main/resources/graph.versions | 7 + .../xml/DataChange_data-change-notification.xml | 27 + ...Change_esr-thirdparty-sdnc-discovery-of-zte.xml | 292 + .../DataChange_esr-thirdparty-sdnc-discovery.xml | 148 + .../xml/DataChange_esr-thirdparty-sdnc-of-zte.xml | 66 + .../main/xml/DataChange_esr-thirdparty-sdnc.xml | 71 + .../xml/DataChange_sotn-notification-handler.xml | 43 + .../main/xml/DataChange_update-network-to-aai.xml | 82 + ...taChange_validate-esr-thirdparty-sdnc-input.xml | 49 + .../platform-logic/generic-resource-api/pom.xml | 56 + .../GENERIC-RESOURCE-API_aai-get-aic-zone.json | 1 + ...ESOURCE-API_aai-get-network-instance-group.json | 1 + ...contrail-route-topology-operation-activate.json | 1792 + ...i-contrail-route-topology-operation-create.json | 1 + ...ntrail-route-topology-operation-deactivate.json | 1846 + ...i-contrail-route-topology-operation-delete.json | 1 + .../GENERIC-RESOURCE-API_assign-vlan-tags.json | 1 + .../GENERIC-RESOURCE-API_auto-ip-assignment.json | 1 + ...y-network-topology-operation-create-huawei.json | 1217 + ...y-network-topology-operation-delete-huawei.json | 929 + ...e-network-topology-operation-change-huawei.json | 229 + ...e-network-topology-operation-common-huawei.json | 873 + ...e-network-topology-operation-create-huawei.json | 624 + ...e-network-topology-operation-delete-huawei.json | 487 + ...SOURCE-API_brg-topology-operation-activate.json | 1 + ...RESOURCE-API_brg-topology-operation-assign.json | 1 + ...RESOURCE-API_brg-topology-operation-create.json | 1 + ...URCE-API_brg-topology-operation-deactivate.json | 1295 + ...RESOURCE-API_brg-topology-operation-delete.json | 1 + ...SOURCE-API_brg-topology-operation-unassign.json | 1 + ...ENERIC-RESOURCE-API_brg-topology-operation.json | 1 + ...I_connection-attachment-topology-operation.json | 636 + ...contrail-route-topology-operation-activate.json | 1 + ...I_contrail-route-topology-operation-assign.json | 3396 + ...I_contrail-route-topology-operation-create.json | 1644 + ...ntrail-route-topology-operation-deactivate.json | 1454 + ...I_contrail-route-topology-operation-delete.json | 1194 + ...contrail-route-topology-operation-unassign.json | 1662 + ...URCE-API_contrail-route-topology-operation.json | 441 + .../GENERIC-RESOURCE-API_create-l3-subnet.json | 1 + ...CE-API_create-route-target-and-vpn-binding.json | 1 + ...nnects-network-topology-operation-activate.json | 2174 + ...ects-network-topology-operation-deactivate.json | 814 + ...RESOURCE-API_eipam-allocate-generic-subnet.json | 1 + ...RCE-API_eipam-allocate-network-role-subnet.json | 1 + ...RIC-RESOURCE-API_eipam-create-generic-pool.json | 1 + ...ESOURCE-API_eipam-create-network-role-pool.json | 1 + .../json/GENERIC-RESOURCE-API_generate-FQPN.json | 1 + ...-RESOURCE-API_generate-allottedresource-id.json | 398 + ...RCE-API_generate-host-routes-host-route-id.json | 1 + ...RESOURCE-API_generate-l3network-network-id.json | 398 + ...ENERIC-RESOURCE-API_generate-panorama-name.json | 654 + ...IC-RESOURCE-API_generate-subnets-subnet-id.json | 1 + .../GENERIC-RESOURCE-API_generate-unique-name.json | 3695 + ...NERIC-RESOURCE-API_generate-vpn-binding-id.json | 1 + ...eneric-configuration-notification-activate.json | 1 + ..._generic-configuration-notification-assign.json | 1 + ...eric-configuration-notification-deactivate.json | 1 + ...eneric-configuration-notification-unassign.json | 1 + ...RCE-API_generic-configuration-notification.json | 1 + ...I_generic-configuration-topology-operation.json | 1 + ...RCE-API_get-complex-resource-service-model.json | 1 + .../GENERIC-RESOURCE-API_get-data-from-policy.json | 1026 + .../GENERIC-RESOURCE-API_get-tunnelxconn-ar.json | 1 + ...C-RESOURCE-API_get-vnf-api-parent-instance.json | 1 + ...CE-API_getpathsegment-composite-match-pair.json | 1 + ...E-API_getpathsegment-create-composite-path.json | 1 + ...URCE-API_getpathsegment-create-simple-path.json | 1 + ...RCE-API_getpathsegment-populate-from-grapi.json | 1 + ...CE-API_getpathsegment-populate-from-vnfapi.json | 1 + ...OURCE-API_getpathsegment-simple-match-pair.json | 1 + ...I_getpathsegment-topology-operation-create.json | 1 + ...URCE-API_getpathsegment-topology-operation.json | 1 + .../GENERIC-RESOURCE-API_gw-vfmodule-update.json | 1 + ...ERIC-RESOURCE-API_manage-ipaddr-assignment.json | 211 + ...GENERIC-RESOURCE-API_manage-vni-assignment.json | 1 + ...C-RESOURCE-API_naming-policy-generate-name.json | 4441 + ...RCE-API_naming-policy-generate-unique-name.json | 1 + ...CE-API_network-topology-operation-activate.json | 1 + ...etwork-topology-operation-assign-automated.json | 1 + ...ork-topology-operation-assign-from-preload.json | 1 + ...operation-assign-vlantagging-instancegroup.json | 1 + ...URCE-API_network-topology-operation-assign.json | 1 + ...PI_network-topology-operation-changeassign.json | 1 + ...URCE-API_network-topology-operation-create.json | 2333 + ...-API_network-topology-operation-deactivate.json | 1 + ...URCE-API_network-topology-operation-delete.json | 1355 + ...CE-API_network-topology-operation-unassign.json | 1 + ...IC-RESOURCE-API_network-topology-operation.json | 2743 + ...SOURCE-API_pnf-topology-operation-activate.json | 408 + ...RESOURCE-API_pnf-topology-operation-assign.json | 424 + ...URCE-API_pnf-topology-operation-deactivate.json | 408 + ...SOURCE-API_pnf-topology-operation-unassign.json | 605 + ...ENERIC-RESOURCE-API_pnf-topology-operation.json | 302 + ...-RESOURCE-API_policy-manager-create-policy.json | 242 + ...-RESOURCE-API_policy-manager-delete-policy.json | 242 + ...ESOURCE-API_policy-update-notify-operation.json | 445 + ...ENERIC-RESOURCE-API_port-mirror-get-policy.json | 623 + ...OURCE-API_port-mirror-rollback-capacity-db.json | 279 + ...t-mirror-topology-operation-activate-async.json | 1487 + ...rt-mirror-topology-operation-activate-sync.json | 267 + ...ort-mirror-topology-operation-assign-async.json | 1 + ...port-mirror-topology-operation-assign-sync.json | 1 + ...E-API_port-mirror-topology-operation-async.json | 540 + ...ort-mirror-topology-operation-create-vnfcs.json | 1807 + ...mirror-topology-operation-deactivate-async.json | 1007 + ...-mirror-topology-operation-deactivate-sync.json | 267 + ...API_port-mirror-topology-operation-disable.json | 840 + ...-API_port-mirror-topology-operation-enable.json | 918 + ...t-mirror-topology-operation-mapping-pprobe.json | 564 + ...t-mirror-topology-operation-mapping-vprobe.json | 1028 + ...PI_port-mirror-topology-operation-unassign.json | 788 + ..._port-mirror-topology-operation-validation.json | 1 + ...ESOURCE-API_port-mirror-topology-operation.json | 638 + ...RCE-API_preload-network-topology-operation.json | 1 + ...E-API_preload-vf-module-topology-operation.json | 1 + .../GENERIC-RESOURCE-API_process-eipam-pools.json | 1 + ...C-RESOURCE-API_process-generic-eipam-pools.json | 1 + ...E-API_query-aai-l3-network-by-network-role.json | 1 + ...-RESOURCE-API_rollback-eipam-ip-assignment.json | 1 + ...ERIC-RESOURCE-API_rollback-generated-names.json | 1646 + ..._security-zone-topology-operation-activate.json | 612 + ...PI_security-zone-topology-operation-assign.json | 1593 + ...PI_security-zone-topology-operation-create.json | 551 + ...ecurity-zone-topology-operation-deactivate.json | 612 + ...PI_security-zone-topology-operation-delete.json | 563 + ..._security-zone-topology-operation-unassign.json | 490 + ...OURCE-API_security-zone-topology-operation.json | 881 + ...ENERIC-RESOURCE-API_self-serve-aai-pnf-put.json | 675 + ...-RESOURCE-API_self-serve-aai-vf-module-put.json | 1 + ...ENERIC-RESOURCE-API_self-serve-aai-vnf-put.json | 1 + ...API_self-serve-capability-param-resolution.json | 1597 + ...-API_self-serve-generate-name-changeassign.json | 352 + ...ERIC-RESOURCE-API_self-serve-generate-name.json | 263 + ...OURCE-API_self-serve-mS-mac-address-assign.json | 1 + ...RESOURCE-API_self-serve-mS-vlan-tag-assign.json | 1 + ...C-RESOURCE-API_self-serve-netbox-ip-assign.json | 1849 + ...GENERIC-RESOURCE-API_self-serve-pnf-assign.json | 1375 + ...-RESOURCE-API_self-serve-pnf-generate-name.json | 1012 + ...-RESOURCE-API_self-serve-pnf-ra-assignment.json | 1086 + ...NERIC-RESOURCE-API_self-serve-pnf-unassign.json | 570 + ...E-API_self-serve-unresolved-composite-data.json | 1663 + ...C-RESOURCE-API_self-serve-vf-module-assign.json | 1314 + ...RCE-API_self-serve-vf-module-forking-logic.json | 457 + ...serve-vf-module-generate-name-changeassign.json | 386 + ...RCE-API_self-serve-vf-module-generate-name.json | 1642 + ...ESOURCE-API_self-serve-vf-module-mdsal-put.json | 184 + ...RESOURCE-API_self-serve-vf-module-unassign.json | 585 + ...OURCE-API_self-serve-vfmodule-changeassign.json | 381 + ...URCE-API_self-serve-vfmodule-ra-assignment.json | 1185 + ...GENERIC-RESOURCE-API_self-serve-vnf-assign.json | 1252 + ...C-RESOURCE-API_self-serve-vnf-changeassign.json | 381 + ...-RESOURCE-API_self-serve-vnf-forking-logic.json | 1 + ..._self-serve-vnf-generate-name-changeassign.json | 386 + ...-RESOURCE-API_self-serve-vnf-generate-name.json | 1001 + ...ERIC-RESOURCE-API_self-serve-vnf-mdsal-put.json | 169 + ...-RESOURCE-API_self-serve-vnf-ra-assignment.json | 1086 + ...NERIC-RESOURCE-API_self-serve-vnf-unassign.json | 570 + .../GENERIC-RESOURCE-API_send-so-response.json | 180 + ...URCE-API_service-topology-operation-assign.json | 1157 + ...PI_service-topology-operation-changeassign.json | 1 + ...-API_service-topology-operation-deactivate.json | 1 + ...URCE-API_service-topology-operation-delete.json | 1 + ...IC-RESOURCE-API_service-topology-operation.json | 1 + ...PI_tunnelxconn-topology-operation-activate.json | 1 + ...-API_tunnelxconn-topology-operation-assign.json | 1 + ...-API_tunnelxconn-topology-operation-create.json | 1323 + ..._tunnelxconn-topology-operation-deactivate.json | 1 + ...-API_tunnelxconn-topology-operation-delete.json | 1225 + ...PI_tunnelxconn-topology-operation-unassign.json | 1 + ...ESOURCE-API_tunnelxconn-topology-operation.json | 1 + ...URCE-API_validate-api-contrail-route-input.json | 953 + ...-API_validate-bbs-network-input-parameters.json | 504 + .../GENERIC-RESOURCE-API_validate-brg-input.json | 1 + ...E-API_validate-connection-attachment-input.json | 1224 + ...RESOURCE-API_validate-contrail-route-input.json | 1446 + ...E-API_validate-generic-configuration-input.json | 1 + ...RESOURCE-API_validate-getpathsegment-input.json | 1 + ...URCE-API_validate-network-input-parameters.json | 1102 + ...ENERIC-RESOURCE-API_validate-network-input.json | 2249 + ..._validate-overlay-network-input-parameters.json | 1125 + .../GENERIC-RESOURCE-API_validate-pnf-input.json | 573 + ...-RESOURCE-API_validate-security-zone-input.json | 1391 + ...ENERIC-RESOURCE-API_validate-service-input.json | 1 + ...IC-RESOURCE-API_validate-tunnelxconn-input.json | 1 + ...ERIC-RESOURCE-API_validate-vf-module-input.json | 557 + .../GENERIC-RESOURCE-API_validate-vnf-input.json | 529 + ...RCE-API_vf-module-generate-heat-parameters.json | 1 + ...RCE-API_vf-module-topology-assign-rollback.json | 1 + ...-API_vf-module-topology-operation-activate.json | 1 + ...odule-topology-operation-assign-no-preload.json | 1 + ...f-module-topology-operation-assign-preload.json | 1 + ...CE-API_vf-module-topology-operation-assign.json | 7275 ++ ...RCE-API_vf-module-topology-operation-async.json | 295 + ..._vf-module-topology-operation-changeassign.json | 1 + ...PI_vf-module-topology-operation-deactivate.json | 1 + ...-API_vf-module-topology-operation-unassign.json | 2262 + ...-RESOURCE-API_vf-module-topology-operation.json | 1389 + ...I_vf-module-topology-vlan-tagging-activate.json | 1 + ...API_vf-module-topology-vlan-tagging-assign.json | 1 + ...vf-module-topology-vlan-tagging-deactivate.json | 1 + ...-module-topology-vlan-tagging-ip-addresses.json | 1 + ...ERIC-RESOURCE-API_vnf-get-resource-request.json | 1 + ...SOURCE-API_vnf-topology-operation-activate.json | 1 + ...RESOURCE-API_vnf-topology-operation-assign.json | 5843 + ...-RESOURCE-API_vnf-topology-operation-async.json | 175 + ...CE-API_vnf-topology-operation-changeassign.json | 1 + ...URCE-API_vnf-topology-operation-deactivate.json | 1 + ...SOURCE-API_vnf-topology-operation-unassign.json | 906 + ...ENERIC-RESOURCE-API_vnf-topology-operation.json | 1191 + ...wan-connection-topology-operation-activate.json | 2063 + ...I_wan-connection-topology-operation-create.json | 731 + ...n-connection-topology-operation-deactivate.json | 890 + ...I_wan-connection-topology-operation-delete.json | 286 + .../SUBNET-API_managed-network-notification.json | 805 + .../SUBNET-API_subnet-allocated-notification.json | 2235 + ...wan-attachment-topology-operation-activate.json | 2267 + ...sdwan-attachment-topology-operation-create.json | 1320 + ...n-attachment-topology-operation-deactivate.json | 2607 + ...sdwan-attachment-topology-operation-delete.json | 941 + ...RESOURCE-API_sdwan-bandwidth-policy-change.json | 2038 + ...ENERIC-RESOURCE-API_sdwan-get-device-param.json | 551 + ...ERIC-RESOURCE-API_sdwan-get-saved-ar-param.json | 199 + .../GENERIC-RESOURCE-API_sdwan-get-site-param.json | 895 + ...GENERIC-RESOURCE-API_sdwan-get-tenant-auth.json | 212 + ...OURCE-API_sdwan-get-vf-module-device-param.json | 551 + ...URCE-API_sdwan-get-vf-module-lanport-param.json | 551 + ...ESOURCE-API_sdwan-get-vf-module-site-param.json | 910 + .../GENERIC-RESOURCE-API_sdwan-get-wan-param.json | 859 + ..._sdwan-network-topology-operation-activate.json | 847 + ...PI_sdwan-network-topology-operation-create.json | 481 + ...dwan-network-topology-operation-deactivate.json | 721 + ...PI_sdwan-network-topology-operation-delete.json | 159 + ...RCE-API_sdwan-vf-operation-device-activate.json | 1138 + ...OURCE-API_sdwan-vf-operation-device-create.json | 745 + ...E-API_sdwan-vf-operation-device-deactivate.json | 790 + ...OURCE-API_sdwan-vf-operation-device-delete.json | 707 + ...CE-API_sdwan-vf-operation-lanport-activate.json | 2309 + ...URCE-API_sdwan-vf-operation-lanport-create.json | 577 + ...-API_sdwan-vf-operation-lanport-deactivate.json | 2271 + ...URCE-API_sdwan-vf-operation-lanport-delete.json | 730 + ...OURCE-API_sdwan-vf-operation-site-activate.json | 1231 + ...ESOURCE-API_sdwan-vf-operation-site-create.json | 533 + ...RCE-API_sdwan-vf-operation-site-deactivate.json | 1066 + ...ESOURCE-API_sdwan-vf-operation-site-delete.json | 674 + ...SOURCE-API_sdwan-vf-operation-vpn-activate.json | 547 + ...RESOURCE-API_sdwan-vf-operation-vpn-create.json | 550 + ...URCE-API_sdwan-vf-operation-vpn-deactivate.json | 555 + ...RESOURCE-API_sdwan-vf-operation-vpn-delete.json | 394 + ...CE-API_sdwan-vf-operation-wanport-activate.json | 2147 + ...URCE-API_sdwan-vf-operation-wanport-create.json | 533 + ...-API_sdwan-vf-operation-wanport-deactivate.json | 834 + ...URCE-API_sdwan-vf-operation-wanport-delete.json | 663 + ...I_sdwan-vf-topology-operation-zte-activate.json | 2320 + ...API_sdwan-vf-topology-operation-zte-create.json | 921 + ...sdwan-vf-topology-operation-zte-deactivate.json | 1297 + ...API_sdwan-vf-topology-operation-zte-delete.json | 286 + ...wan-vnf-topology-operation-device-activate.json | 634 + ...sdwan-vnf-topology-operation-device-create.json | 641 + ...n-vnf-topology-operation-device-deactivate.json | 642 + ...sdwan-vnf-topology-operation-device-delete.json | 656 + ...an-vnf-topology-operation-wanport-activate.json | 1623 + ...dwan-vnf-topology-operation-wanport-create.json | 443 + ...-vnf-topology-operation-wanport-deactivate.json | 736 + ...dwan-vnf-topology-operation-wanport-delete.json | 569 + ...an-wanport-vnf-topology-operation-underlay.json | 4315 + ...E-API_site-vnf-topology-operation-activate.json | 1145 + ...RCE-API_site-vnf-topology-operation-create.json | 439 + ...API_site-vnf-topology-operation-deactivate.json | 1036 + ...RCE-API_site-vnf-topology-operation-delete.json | 569 + ...PI_validate-sdwan-network-input-parameters.json | 1201 + ...API_validate-sdwan-vf-vpn-input-parameters.json | 1349 + ...ology-operation-vpn-site-resource-activate.json | 373 + ...opology-operation-vpn-site-resource-create.json | 502 + ...ogy-operation-vpn-site-resource-deactivate.json | 433 + ...opology-operation-vpn-site-resource-delete.json | 525 + ...otn-attachment-topology-operation-activate.json | 3087 + ..._sotn-attachment-topology-operation-create.json | 1347 + ...n-attachment-topology-operation-deactivate.json | 2087 + ..._sotn-attachment-topology-operation-delete.json | 930 + ...NERIC-RESOURCE-API_sotn-get-saved-ar-param.json | 481 + ...I_sotn-network-topology-operation-activate.json | 185 + ...API_sotn-network-topology-operation-create.json | 1053 + ...sotn-network-topology-operation-deactivate.json | 185 + ...API_sotn-network-topology-operation-delete.json | 173 + ...sotn-network-topology-operation-reoptimize.json | 377 + ...API_validate-sotn-network-input-parameters.json | 1201 + .../src/main/resources/graph.versions | 262 + .../xml/GENERIC-RESOURCE-API_aai-get-aic-zone.xml | 124 + ...RESOURCE-API_aai-get-network-instance-group.xml | 95 + ...-contrail-route-topology-operation-activate.xml | 560 + ...pi-contrail-route-topology-operation-create.xml | 1443 + ...ontrail-route-topology-operation-deactivate.xml | 618 + ...pi-contrail-route-topology-operation-delete.xml | 332 + .../xml/GENERIC-RESOURCE-API_assign-vlan-tags.xml | 441 + .../GENERIC-RESOURCE-API_auto-ip-assignment.xml | 1593 + ...ty-network-topology-operation-create-huawei.xml | 266 + ...ty-network-topology-operation-delete-huawei.xml | 171 + ...le-network-topology-operation-change-huawei.xml | 42 + ...le-network-topology-operation-common-huawei.xml | 166 + ...le-network-topology-operation-create-huawei.xml | 146 + ...le-network-topology-operation-delete-huawei.xml | 84 + ...ESOURCE-API_brg-topology-operation-activate.xml | 333 + ...-RESOURCE-API_brg-topology-operation-assign.xml | 227 + ...-RESOURCE-API_brg-topology-operation-create.xml | 100 + ...OURCE-API_brg-topology-operation-deactivate.xml | 275 + ...-RESOURCE-API_brg-topology-operation-delete.xml | 105 + ...ESOURCE-API_brg-topology-operation-unassign.xml | 81 + ...GENERIC-RESOURCE-API_brg-topology-operation.xml | 26 + ...PI_connection-attachment-topology-operation.xml | 94 + ..._contrail-route-topology-operation-activate.xml | 341 + ...PI_contrail-route-topology-operation-assign.xml | 981 + ...PI_contrail-route-topology-operation-create.xml | 380 + ...ontrail-route-topology-operation-deactivate.xml | 309 + ...PI_contrail-route-topology-operation-delete.xml | 258 + ..._contrail-route-topology-operation-unassign.xml | 338 + ...OURCE-API_contrail-route-topology-operation.xml | 56 + .../xml/GENERIC-RESOURCE-API_create-l3-subnet.xml | 192 + ...RCE-API_create-route-target-and-vpn-binding.xml | 437 + ...onnects-network-topology-operation-activate.xml | 482 + ...nects-network-topology-operation-deactivate.xml | 213 + ...-RESOURCE-API_eipam-allocate-generic-subnet.xml | 1127 + ...URCE-API_eipam-allocate-network-role-subnet.xml | 537 + ...ERIC-RESOURCE-API_eipam-create-generic-pool.xml | 901 + ...RESOURCE-API_eipam-create-network-role-pool.xml | 699 + .../xml/GENERIC-RESOURCE-API_generate-FQPN.xml | 472 + ...C-RESOURCE-API_generate-allottedresource-id.xml | 68 + ...URCE-API_generate-host-routes-host-route-id.xml | 67 + ...-RESOURCE-API_generate-l3network-network-id.xml | 65 + ...GENERIC-RESOURCE-API_generate-panorama-name.xml | 136 + ...RIC-RESOURCE-API_generate-subnets-subnet-id.xml | 66 + .../GENERIC-RESOURCE-API_generate-unique-name.xml | 591 + ...ENERIC-RESOURCE-API_generate-vpn-binding-id.xml | 65 + ...generic-configuration-notification-activate.xml | 108 + ...I_generic-configuration-notification-assign.xml | 485 + ...neric-configuration-notification-deactivate.xml | 108 + ...generic-configuration-notification-unassign.xml | 353 + ...URCE-API_generic-configuration-notification.xml | 39 + ...PI_generic-configuration-topology-operation.xml | 117 + ...URCE-API_get-complex-resource-service-model.xml | 181 + .../GENERIC-RESOURCE-API_get-data-from-policy.xml | 204 + .../GENERIC-RESOURCE-API_get-tunnelxconn-ar.xml | 17 + ...IC-RESOURCE-API_get-vnf-api-parent-instance.xml | 31 + ...RCE-API_getpathsegment-composite-match-pair.xml | 1912 + ...CE-API_getpathsegment-create-composite-path.xml | 627 + ...OURCE-API_getpathsegment-create-simple-path.xml | 749 + ...URCE-API_getpathsegment-populate-from-grapi.xml | 145 + ...RCE-API_getpathsegment-populate-from-vnfapi.xml | 569 + ...SOURCE-API_getpathsegment-simple-match-pair.xml | 125 + ...PI_getpathsegment-topology-operation-create.xml | 55 + ...OURCE-API_getpathsegment-topology-operation.xml | 36 + .../GENERIC-RESOURCE-API_gw-vfmodule-update.xml | 142 + ...NERIC-RESOURCE-API_manage-ipaddr-assignment.xml | 24 + .../GENERIC-RESOURCE-API_manage-vni-assignment.xml | 13 + ...IC-RESOURCE-API_naming-policy-generate-name.xml | 1116 + ...URCE-API_naming-policy-generate-unique-name.xml | 182 + ...RCE-API_network-topology-operation-activate.xml | 206 + ...network-topology-operation-assign-automated.xml | 1405 + ...work-topology-operation-assign-from-preload.xml | 952 + ...-operation-assign-vlantagging-instancegroup.xml | 1097 + ...OURCE-API_network-topology-operation-assign.xml | 103 + ...API_network-topology-operation-changeassign.xml | 1172 + ...OURCE-API_network-topology-operation-create.xml | 565 + ...E-API_network-topology-operation-deactivate.xml | 172 + ...OURCE-API_network-topology-operation-delete.xml | 300 + ...RCE-API_network-topology-operation-unassign.xml | 443 + ...RIC-RESOURCE-API_network-topology-operation.xml | 571 + ...ESOURCE-API_pnf-topology-operation-activate.xml | 84 + ...-RESOURCE-API_pnf-topology-operation-assign.xml | 71 + ...OURCE-API_pnf-topology-operation-deactivate.xml | 84 + ...ESOURCE-API_pnf-topology-operation-unassign.xml | 93 + ...GENERIC-RESOURCE-API_pnf-topology-operation.xml | 38 + ...C-RESOURCE-API_policy-manager-create-policy.xml | 46 + ...C-RESOURCE-API_policy-manager-delete-policy.xml | 46 + ...RESOURCE-API_policy-update-notify-operation.xml | 89 + ...GENERIC-RESOURCE-API_port-mirror-get-policy.xml | 113 + ...SOURCE-API_port-mirror-rollback-capacity-db.xml | 52 + ...rt-mirror-topology-operation-activate-async.xml | 765 + ...ort-mirror-topology-operation-activate-sync.xml | 57 + ...port-mirror-topology-operation-assign-async.xml | 2253 + ..._port-mirror-topology-operation-assign-sync.xml | 124 + ...CE-API_port-mirror-topology-operation-async.xml | 88 + ...port-mirror-topology-operation-create-vnfcs.xml | 293 + ...-mirror-topology-operation-deactivate-async.xml | 373 + ...t-mirror-topology-operation-deactivate-sync.xml | 57 + ...-API_port-mirror-topology-operation-disable.xml | 184 + ...E-API_port-mirror-topology-operation-enable.xml | 231 + ...rt-mirror-topology-operation-mapping-pprobe.xml | 108 + ...rt-mirror-topology-operation-mapping-vprobe.xml | 243 + ...API_port-mirror-topology-operation-unassign.xml | 153 + ...I_port-mirror-topology-operation-validation.xml | 237 + ...RESOURCE-API_port-mirror-topology-operation.xml | 90 + ...URCE-API_preload-network-topology-operation.xml | 34 + ...CE-API_preload-vf-module-topology-operation.xml | 34 + .../GENERIC-RESOURCE-API_process-eipam-pools.xml | 935 + ...IC-RESOURCE-API_process-generic-eipam-pools.xml | 661 + ...CE-API_query-aai-l3-network-by-network-role.xml | 199 + ...C-RESOURCE-API_rollback-eipam-ip-assignment.xml | 46 + ...NERIC-RESOURCE-API_rollback-generated-names.xml | 341 + ...I_security-zone-topology-operation-activate.xml | 150 + ...API_security-zone-topology-operation-assign.xml | 348 + ...API_security-zone-topology-operation-create.xml | 127 + ...security-zone-topology-operation-deactivate.xml | 150 + ...API_security-zone-topology-operation-delete.xml | 130 + ...I_security-zone-topology-operation-unassign.xml | 105 + ...SOURCE-API_security-zone-topology-operation.xml | 56 + ...GENERIC-RESOURCE-API_self-serve-aai-pnf-put.xml | 156 + ...C-RESOURCE-API_self-serve-aai-vf-module-put.xml | 6600 ++ ...GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml | 434 + ...-API_self-serve-capability-param-resolution.xml | 281 + ...E-API_self-serve-generate-name-changeassign.xml | 50 + ...NERIC-RESOURCE-API_self-serve-generate-name.xml | 31 + ...SOURCE-API_self-serve-mS-mac-address-assign.xml | 625 + ...-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml | 744 + ...IC-RESOURCE-API_self-serve-netbox-ip-assign.xml | 414 + .../GENERIC-RESOURCE-API_self-serve-pnf-assign.xml | 400 + ...C-RESOURCE-API_self-serve-pnf-generate-name.xml | 233 + ...C-RESOURCE-API_self-serve-pnf-ra-assignment.xml | 235 + ...ENERIC-RESOURCE-API_self-serve-pnf-unassign.xml | 143 + ...CE-API_self-serve-unresolved-composite-data.xml | 612 + ...IC-RESOURCE-API_self-serve-vf-module-assign.xml | 302 + ...URCE-API_self-serve-vf-module-forking-logic.xml | 85 + ...-serve-vf-module-generate-name-changeassign.xml | 92 + ...URCE-API_self-serve-vf-module-generate-name.xml | 233 + ...RESOURCE-API_self-serve-vf-module-mdsal-put.xml | 75 + ...-RESOURCE-API_self-serve-vf-module-unassign.xml | 159 + ...SOURCE-API_self-serve-vfmodule-changeassign.xml | 70 + ...OURCE-API_self-serve-vfmodule-ra-assignment.xml | 260 + .../GENERIC-RESOURCE-API_self-serve-vnf-assign.xml | 287 + ...IC-RESOURCE-API_self-serve-vnf-changeassign.xml | 70 + ...C-RESOURCE-API_self-serve-vnf-forking-logic.xml | 54 + ...I_self-serve-vnf-generate-name-changeassign.xml | 94 + ...C-RESOURCE-API_self-serve-vnf-generate-name.xml | 233 + ...NERIC-RESOURCE-API_self-serve-vnf-mdsal-put.xml | 67 + ...C-RESOURCE-API_self-serve-vnf-ra-assignment.xml | 235 + ...ENERIC-RESOURCE-API_self-serve-vnf-unassign.xml | 143 + .../xml/GENERIC-RESOURCE-API_send-so-response.xml | 44 + ...OURCE-API_service-topology-operation-assign.xml | 228 + ...API_service-topology-operation-changeassign.xml | 63 + ...E-API_service-topology-operation-deactivate.xml | 67 + ...OURCE-API_service-topology-operation-delete.xml | 100 + ...RIC-RESOURCE-API_service-topology-operation.xml | 41 + ...API_tunnelxconn-topology-operation-activate.xml | 133 + ...E-API_tunnelxconn-topology-operation-assign.xml | 272 + ...E-API_tunnelxconn-topology-operation-create.xml | 300 + ...I_tunnelxconn-topology-operation-deactivate.xml | 117 + ...E-API_tunnelxconn-topology-operation-delete.xml | 268 + ...API_tunnelxconn-topology-operation-unassign.xml | 80 + ...RESOURCE-API_tunnelxconn-topology-operation.xml | 26 + ...OURCE-API_validate-api-contrail-route-input.xml | 319 + ...E-API_validate-bbs-network-input-parameters.xml | 118 + .../GENERIC-RESOURCE-API_validate-brg-input.xml | 116 + ...CE-API_validate-connection-attachment-input.xml | 331 + ...-RESOURCE-API_validate-contrail-route-input.xml | 337 + ...CE-API_validate-generic-configuration-input.xml | 108 + ...-RESOURCE-API_validate-getpathsegment-input.xml | 107 + ...OURCE-API_validate-network-input-parameters.xml | 311 + ...GENERIC-RESOURCE-API_validate-network-input.xml | 596 + ...I_validate-overlay-network-input-parameters.xml | 279 + .../GENERIC-RESOURCE-API_validate-pnf-input.xml | 86 + ...C-RESOURCE-API_validate-security-zone-input.xml | 328 + ...GENERIC-RESOURCE-API_validate-service-input.xml | 117 + ...RIC-RESOURCE-API_validate-tunnelxconn-input.xml | 106 + ...NERIC-RESOURCE-API_validate-vf-module-input.xml | 86 + .../GENERIC-RESOURCE-API_validate-vnf-input.xml | 77 + ...URCE-API_vf-module-generate-heat-parameters.xml | 926 + ...URCE-API_vf-module-topology-assign-rollback.xml | 188 + ...E-API_vf-module-topology-operation-activate.xml | 196 + ...module-topology-operation-assign-no-preload.xml | 1302 + ...vf-module-topology-operation-assign-preload.xml | 559 + ...RCE-API_vf-module-topology-operation-assign.xml | 1862 + ...URCE-API_vf-module-topology-operation-async.xml | 28 + ...I_vf-module-topology-operation-changeassign.xml | 158 + ...API_vf-module-topology-operation-deactivate.xml | 177 + ...E-API_vf-module-topology-operation-unassign.xml | 386 + ...C-RESOURCE-API_vf-module-topology-operation.xml | 153 + ...PI_vf-module-topology-vlan-tagging-activate.xml | 313 + ...-API_vf-module-topology-vlan-tagging-assign.xml | 791 + ..._vf-module-topology-vlan-tagging-deactivate.xml | 88 + ...f-module-topology-vlan-tagging-ip-addresses.xml | 289 + ...NERIC-RESOURCE-API_vnf-get-resource-request.xml | 242 + ...ESOURCE-API_vnf-topology-operation-activate.xml | 84 + ...-RESOURCE-API_vnf-topology-operation-assign.xml | 1536 + ...C-RESOURCE-API_vnf-topology-operation-async.xml | 28 + ...RCE-API_vnf-topology-operation-changeassign.xml | 132 + ...OURCE-API_vnf-topology-operation-deactivate.xml | 84 + ...ESOURCE-API_vnf-topology-operation-unassign.xml | 174 + ...GENERIC-RESOURCE-API_vnf-topology-operation.xml | 148 + ..._wan-connection-topology-operation-activate.xml | 777 + ...PI_wan-connection-topology-operation-create.xml | 297 + ...an-connection-topology-operation-deactivate.xml | 215 + ...PI_wan-connection-topology-operation-delete.xml | 81 + .../SUBNET-API_managed-network-notification.xml | 138 + .../SUBNET-API_subnet-allocated-notification.xml | 626 + ...dwan-attachment-topology-operation-activate.xml | 501 + ..._sdwan-attachment-topology-operation-create.xml | 285 + ...an-attachment-topology-operation-deactivate.xml | 541 + ..._sdwan-attachment-topology-operation-delete.xml | 189 + ...-RESOURCE-API_sdwan-bandwidth-policy-change.xml | 398 + ...GENERIC-RESOURCE-API_sdwan-get-device-param.xml | 87 + ...NERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml | 31 + .../GENERIC-RESOURCE-API_sdwan-get-site-param.xml | 141 + .../GENERIC-RESOURCE-API_sdwan-get-tenant-auth.xml | 51 + ...SOURCE-API_sdwan-get-vf-module-device-param.xml | 87 + ...OURCE-API_sdwan-get-vf-module-lanport-param.xml | 87 + ...RESOURCE-API_sdwan-get-vf-module-site-param.xml | 147 + .../GENERIC-RESOURCE-API_sdwan-get-wan-param.xml | 136 + ...I_sdwan-network-topology-operation-activate.xml | 266 + ...API_sdwan-network-topology-operation-create.xml | 105 + ...sdwan-network-topology-operation-deactivate.xml | 190 + ...API_sdwan-network-topology-operation-delete.xml | 34 + ...URCE-API_sdwan-vf-operation-device-activate.xml | 322 + ...SOURCE-API_sdwan-vf-operation-device-create.xml | 206 + ...CE-API_sdwan-vf-operation-device-deactivate.xml | 196 + ...SOURCE-API_sdwan-vf-operation-device-delete.xml | 142 + ...RCE-API_sdwan-vf-operation-lanport-activate.xml | 487 + ...OURCE-API_sdwan-vf-operation-lanport-create.xml | 146 + ...E-API_sdwan-vf-operation-lanport-deactivate.xml | 468 + ...OURCE-API_sdwan-vf-operation-lanport-delete.xml | 147 + ...SOURCE-API_sdwan-vf-operation-site-activate.xml | 260 + ...RESOURCE-API_sdwan-vf-operation-site-create.xml | 135 + ...URCE-API_sdwan-vf-operation-site-deactivate.xml | 222 + ...RESOURCE-API_sdwan-vf-operation-site-delete.xml | 136 + ...ESOURCE-API_sdwan-vf-operation-vpn-activate.xml | 169 + ...-RESOURCE-API_sdwan-vf-operation-vpn-create.xml | 133 + ...OURCE-API_sdwan-vf-operation-vpn-deactivate.xml | 162 + ...-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml | 88 + ...RCE-API_sdwan-vf-operation-wanport-activate.xml | 480 + ...OURCE-API_sdwan-vf-operation-wanport-create.xml | 142 + ...E-API_sdwan-vf-operation-wanport-deactivate.xml | 200 + ...OURCE-API_sdwan-vf-operation-wanport-delete.xml | 135 + ...PI_sdwan-vf-topology-operation-zte-activate.xml | 704 + ...-API_sdwan-vf-topology-operation-zte-create.xml | 61 + ..._sdwan-vf-topology-operation-zte-deactivate.xml | 110 + ...-API_sdwan-vf-topology-operation-zte-delete.xml | 81 + ...dwan-vnf-topology-operation-device-activate.xml | 149 + ..._sdwan-vnf-topology-operation-device-create.xml | 169 + ...an-vnf-topology-operation-device-deactivate.xml | 142 + ..._sdwan-vnf-topology-operation-device-delete.xml | 117 + ...wan-vnf-topology-operation-wanport-activate.xml | 340 + ...sdwan-vnf-topology-operation-wanport-create.xml | 114 + ...n-vnf-topology-operation-wanport-deactivate.xml | 138 + ...sdwan-vnf-topology-operation-wanport-delete.xml | 103 + ...wan-wanport-vnf-topology-operation-underlay.xml | 782 + ...CE-API_site-vnf-topology-operation-activate.xml | 232 + ...URCE-API_site-vnf-topology-operation-create.xml | 101 + ...-API_site-vnf-topology-operation-deactivate.xml | 190 + ...URCE-API_site-vnf-topology-operation-delete.xml | 103 + ...API_validate-sdwan-network-input-parameters.xml | 305 + ...-API_validate-sdwan-vf-vpn-input-parameters.xml | 332 + ...pology-operation-vpn-site-resource-activate.xml | 77 + ...topology-operation-vpn-site-resource-create.xml | 114 + ...logy-operation-vpn-site-resource-deactivate.xml | 89 + ...topology-operation-vpn-site-resource-delete.xml | 98 + ...sotn-attachment-topology-operation-activate.xml | 673 + ...I_sotn-attachment-topology-operation-create.xml | 304 + ...tn-attachment-topology-operation-deactivate.xml | 464 + ...I_sotn-attachment-topology-operation-delete.xml | 189 + ...ENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml | 73 + ...PI_sotn-network-topology-operation-activate.xml | 44 + ...-API_sotn-network-topology-operation-create.xml | 209 + ..._sotn-network-topology-operation-deactivate.xml | 44 + ...-API_sotn-network-topology-operation-delete.xml | 34 + ..._sotn-network-topology-operation-reoptimize.xml | 89 + ...-API_validate-sotn-network-input-parameters.xml | 305 + .../oam/platform-logic/installer/pom.xml | 47 + .../installer/src/assembly/assemble_zip.xml | 62 + sdnc-a1-controller/oam/platform-logic/lcm/pom.xml | 56 + .../lcm/src/main/json/LCM_config-scale-out.json | 364 + .../lcm/src/main/json/LCM_distribute-traffic.json | 813 + .../lcm/src/main/json/LCM_health-check.json | 364 + .../platform-logic/lcm/src/main/json/LCM_lock.json | 164 + .../lcm/src/main/json/LCM_quiesce-traffic.json | 813 + .../lcm/src/main/json/LCM_resume-traffic.json | 813 + .../lcm/src/main/json/LCM_rollback.json | 972 + .../lcm/src/main/json/LCM_snapshot.json | 164 + .../lcm/src/main/json/LCM_unlock.json | 164 + .../lcm/src/main/json/LCM_upgrade-backup.json | 164 + .../lcm/src/main/json/LCM_upgrade-post-check.json | 1083 + .../lcm/src/main/json/LCM_upgrade-pre-check.json | 1083 + .../lcm/src/main/json/LCM_upgrade-software.json | 1083 + .../src/main/json/lcm-restconf-configscaleout.json | 5 + .../lcm/src/main/resources/graph.versions | 13 + .../lcm/src/main/xml/LCM_config-scale-out.xml | 120 + .../lcm/src/main/xml/LCM_distribute-traffic.xml | 361 + .../lcm/src/main/xml/LCM_health-check.xml | 117 + .../platform-logic/lcm/src/main/xml/LCM_lock.xml | 53 + .../lcm/src/main/xml/LCM_quiesce-traffic.xml | 361 + .../lcm/src/main/xml/LCM_resume-traffic.xml | 361 + .../lcm/src/main/xml/LCM_rollback.xml | 470 + .../lcm/src/main/xml/LCM_snapshot.xml | 53 + .../platform-logic/lcm/src/main/xml/LCM_unlock.xml | 53 + .../lcm/src/main/xml/LCM_upgrade-backup.xml | 53 + .../lcm/src/main/xml/LCM_upgrade-post-check.xml | 492 + .../lcm/src/main/xml/LCM_upgrade-pre-check.xml | 492 + .../lcm/src/main/xml/LCM_upgrade-software.xml | 492 + sdnc-a1-controller/oam/platform-logic/pom.xml | 40 + .../oam/platform-logic/restapi-templates/pom.xml | 70 + .../src/main/json/actokentemplate.json | 5 + .../main/json/bbs-access-connectivity-create.json | 39 + .../main/json/bbs-internet-profile-operation.json | 11 + .../src/main/json/bbs-token-template.json | 5 + .../src/main/json/brg-allotted-resource.json | 72 + .../json/contrail-route-allotted-resource.json | 102 + .../json/getzteodutoponodedetailstemplate.json | 6 + .../json/getzteodutoponodenepdetailstemplate.json | 6 + .../src/main/json/getzteodutoponodetemplate.json | 6 + .../src/main/json/getzteodutopotemplate.json | 5 + .../src/main/json/l2-dci-connects-template.json | 29 + .../src/main/json/l3-dci-connects-template.json | 34 + .../src/main/json/l3smsitetemplate.json | 146 + .../src/main/json/l3smvpntemplate.json | 32 + .../src/main/json/l3smvrftemplate.json | 115 + .../src/main/json/lcm-dmaap-publish-template.json | 28 + .../src/main/json/lcm-restconf-configscaleout.json | 5 + .../src/main/json/naming-ms-post-gen-name.json | 13 + .../json/network-provided-allotted-resources.json | 10 + .../src/main/json/oof-getpath.json | 17 + .../json/parent-provided-allotted-resource.json | 9 + .../src/main/json/sdlan-bridge-domain-del.json | 7 + .../src/main/json/sdlan-bridge-domain.json | 17 + .../src/main/json/sdlan-ip-subnets-del.json | 13 + .../src/main/json/sdlan-ip-subnets.json | 37 + .../src/main/json/sdlan-port-del.json | 7 + .../src/main/json/sdlan-port.json | 23 + .../json/sdwan-attachment-allotted-resource.json | 100 + .../src/main/json/sdwan-device-del.json | 7 + .../src/main/json/sdwan-device-port-del.json | 7 + .../src/main/json/sdwan-device-zte-add.json | 13 + .../src/main/json/sdwan-device-zte-del.json | 7 + .../src/main/json/sdwan-device.json | 13 + .../main/json/sdwan-inter-connect-zte-create.json | 9 + .../src/main/json/sdwan-inter-connect-zte-del.json | 13 + .../src/main/json/sdwan-network-orchestration.json | 25 + .../src/main/json/sdwan-port-cellular.json | 18 + .../src/main/json/sdwan-port-ethernet.json | 21 + .../src/main/json/sdwan-port-zte-add.json | 16 + .../src/main/json/sdwan-port-zte-del.json | 7 + .../src/main/json/sdwan-port.json | 16 + .../src/main/json/sdwan-site-del.json | 9 + .../src/main/json/sdwan-site-ha-zte-add.json | 25 + .../src/main/json/sdwan-site-ha-zte-del.json | 25 + .../src/main/json/sdwan-site-hub.json | 30 + .../src/main/json/sdwan-site-lan-zte-add.json | 7 + .../src/main/json/sdwan-site-lan-zte-del.json | 7 + .../src/main/json/sdwan-site-provision.json | 9 + .../src/main/json/sdwan-site-spoke.json | 34 + .../src/main/json/sdwan-site-wan-zte-add.json | 45 + .../src/main/json/sdwan-site-wan-zte-del.json | 7 + .../src/main/json/sdwan-site-zte-add.json | 34 + .../src/main/json/sdwan-site-zte-del.json | 9 + .../src/main/json/sdwan-tenant-zte-add.json | 17 + .../src/main/json/sdwan-tenant-zte-del.json | 13 + .../src/main/json/sdwan-tenant.json | 13 + .../src/main/json/sdwan-underlay.json | 17 + .../src/main/json/sdwan-vpn-create.json | 9 + .../src/main/json/sdwan-vpn-delete.json | 7 + .../src/main/json/sdwan-vpn-topology-create.json | 11 + .../src/main/json/sdwan-vpn-topology.json | 22 + .../restapi-templates/src/main/json/sdwan-vpn.json | 13 + .../src/main/json/sdwan-wan-port-del.json | 7 + .../src/main/json/sdwan-wan-port-dhcp.json | 45 + .../src/main/json/sdwan-wan-port-static.json | 43 + .../src/main/json/sdwan-wan-port.json | 45 + .../main/json/security-zone-allotted-resource.json | 78 + .../src/main/json/self-serve-capacity-release.json | 16 + .../src/main/json/self-serve-capacity-reserve.json | 22 + .../json/self-serve-mS-mac-address-assign.json | 26 + .../json/self-serve-mS-mac-address-unassign.json | 14 + .../json/self-serve-mS-vlan-tag-assignments.json | 14 + .../json/self-serve-mS-vlan-tag-unassignments.json | 11 + .../src/main/json/self-serve-pnf-assignments.json | 112 + .../main/json/self-serve-vfmodule-assignments.json | 171 + .../src/main/json/self-serve-vnf-assignments.json | 112 + .../src/main/json/so-response.json | 10 + .../json/sotn-attachment-allotted-resource.json | 171 + .../src/main/json/sotn-ethernet-service.json | 42 + .../main/json/tunnelxconn-allotted-resource.json | 93 + .../src/main/json/vcpe-l2-interface.json | 5 + .../src/main/json/vcpe-services-service.json | 55 + .../src/main/json/vcpe-vpp-bridge-domain.json | 7 + .../src/main/json/vcpe-vxlan-tunnel.json | 16 + .../src/main/json/vf-module-assign.json | 279 + .../src/main/json/vfmodule-vim-parameters.vgw.json | 79 + .../src/main/json/vnf-data-assign.json | 250 + .../main/json/vnf-provided-allotted-resources.json | 10 + .../src/main/multipartfile/README.md | 3 + ...-publish-modifyconfig-resp-payload-template.vtl | 31 + ...blish-modifyconfiganr-resp-payload-template.vtl | 38 + .../oam/platform-logic/restconfapi-yang/pom.xml | 49 + .../src/main/yang/cds/execution-service.yang | 43 + .../ietf-subscribed-notifications.yang | 21 + .../sotn/ietf-eth-tran-service@2018-03-01.yang | 572 + .../yang/sotn/ietf-eth-tran-types@2018-05-24.yang | 303 + .../src/main/yang/sotn/ietf-inet-types.yang | 430 + .../yang/sotn/ietf-routing-types@2017-10-13.yang | 733 + .../main/yang/sotn/ietf-te-types@2018-07-01.yang | 2457 + .../src/main/yang/sotn/ietf-yang-types.yang | 438 + .../oam/platform-logic/setup/pom.xml | 60 + .../src/main/scripts/updateDgNamespace.sh | 12 + .../src/main/scripts/updatePackages.sh | 21 + .../oam/platform-logic/vnfapi/pom.xml | 56 + .../VNF-API_generate-l3network-network-id.json | 407 + .../json/VNF-API_generate-subnets-subnet-id.json | 407 + .../main/json/VNF-API_network-topology-assign.json | 2244 + .../VNF-API_network-topology-changeassign.json | 5042 + .../main/json/VNF-API_network-topology-delete.json | 424 + .../json/VNF-API_network-topology-operation.json | 1 + .../json/VNF-API_network-topology-rollback.json | 575 + ...VNF-API_preload-network-topology-operation.json | 1 + ...F-API_preload-vf-module-topology-operation.json | 1 + ...PI_preload-vnf-instance-topology-operation.json | 1 + .../VNF-API_preload-vnf-topology-operation.json | 1 + .../json/VNF-API_rollback-eipam-ip-assignment.json | 1 + .../json/VNF-API_vf-module-topology-activate.json | 404 + ...API_vf-module-topology-assign-vnf-networks.json | 1862 + .../json/VNF-API_vf-module-topology-assign.json | 406 + .../VNF-API_vf-module-topology-changeassign.json | 694 + .../json/VNF-API_vf-module-topology-delete.json | 240 + .../json/VNF-API_vf-module-topology-operation.json | 1 + .../json/VNF-API_vf-module-topology-rollback.json | 299 + .../VNF-API_vnf-instance-topology-activate.json | 354 + ..._vnf-instance-topology-assign-vnf-networks.json | 1873 + .../json/VNF-API_vnf-instance-topology-assign.json | 406 + ...VNF-API_vnf-instance-topology-changeassign.json | 694 + .../json/VNF-API_vnf-instance-topology-delete.json | 240 + .../VNF-API_vnf-instance-topology-operation.json | 1 + .../VNF-API_vnf-instance-topology-rollback.json | 299 + .../main/json/VNF-API_vnf-topology-activate.json | 348 + .../json/VNF-API_vnf-topology-assign-vfmodule.json | 1873 + .../src/main/json/VNF-API_vnf-topology-assign.json | 441 + ...API_vnf-topology-automated-assign-vfmodule.json | 1 + .../VNF-API_vnf-topology-automated-assign.json | 1 + .../VNF-API_vnf-topology-automated-delete.json | 1 + .../VNF-API_vnf-topology-automated-operation.json | 1 + .../VNF-API_vnf-topology-automated-rollback.json | 1 + .../json/VNF-API_vnf-topology-changeassign.json | 1 + .../json/VNF-API_vnf-topology-changedelete.json | 269 + .../src/main/json/VNF-API_vnf-topology-delete.json | 1 + .../main/json/VNF-API_vnf-topology-operation.json | 1 + .../VNF-API_vnf-topology-preload-operation.json | 1 + .../main/json/VNF-API_vnf-topology-rollback.json | 292 + .../vnfapi/src/main/resources/graph.versions | 40 + .../xml/VNF-API_generate-l3network-network-id.xml | 48 + .../xml/VNF-API_generate-subnets-subnet-id.xml | 49 + .../main/xml/VNF-API_network-topology-assign.xml | 358 + .../xml/VNF-API_network-topology-changeassign.xml | 525 + .../main/xml/VNF-API_network-topology-delete.xml | 75 + .../xml/VNF-API_network-topology-operation.xml | 70 + .../main/xml/VNF-API_network-topology-rollback.xml | 75 + .../VNF-API_preload-network-topology-operation.xml | 20 + ...NF-API_preload-vf-module-topology-operation.xml | 31 + ...API_preload-vnf-instance-topology-operation.xml | 31 + .../xml/VNF-API_preload-vnf-topology-operation.xml | 32 + .../xml/VNF-API_rollback-eipam-ip-assignment.xml | 22 + .../xml/VNF-API_vf-module-topology-activate.xml | 45 + ...-API_vf-module-topology-assign-vnf-networks.xml | 129 + .../main/xml/VNF-API_vf-module-topology-assign.xml | 63 + .../VNF-API_vf-module-topology-changeassign.xml | 85 + .../main/xml/VNF-API_vf-module-topology-delete.xml | 35 + .../xml/VNF-API_vf-module-topology-operation.xml | 48 + .../xml/VNF-API_vf-module-topology-rollback.xml | 35 + .../xml/VNF-API_vnf-instance-topology-activate.xml | 42 + ...I_vnf-instance-topology-assign-vnf-networks.xml | 130 + .../xml/VNF-API_vnf-instance-topology-assign.xml | 58 + .../VNF-API_vnf-instance-topology-changeassign.xml | 80 + .../xml/VNF-API_vnf-instance-topology-delete.xml | 35 + .../VNF-API_vnf-instance-topology-operation.xml | 26 + .../xml/VNF-API_vnf-instance-topology-rollback.xml | 35 + .../src/main/xml/VNF-API_vnf-topology-activate.xml | 65 + .../xml/VNF-API_vnf-topology-assign-vfmodule.xml | 148 + .../src/main/xml/VNF-API_vnf-topology-assign.xml | 54 + ...-API_vnf-topology-automated-assign-vfmodule.xml | 344 + .../xml/VNF-API_vnf-topology-automated-assign.xml | 57 + .../xml/VNF-API_vnf-topology-automated-delete.xml | 13 + .../VNF-API_vnf-topology-automated-operation.xml | 41 + .../VNF-API_vnf-topology-automated-rollback.xml | 12 + .../main/xml/VNF-API_vnf-topology-changeassign.xml | 81 + .../main/xml/VNF-API_vnf-topology-changedelete.xml | 32 + .../src/main/xml/VNF-API_vnf-topology-delete.xml | 13 + .../main/xml/VNF-API_vnf-topology-operation.xml | 2 + .../xml/VNF-API_vnf-topology-preload-operation.xml | 86 + .../src/main/xml/VNF-API_vnf-topology-rollback.xml | 13 + sdnc-a1-controller/oam/pom.xml | 115 + sdnc-a1-controller/oam/releases/1.6.1.yaml | 5 + sdnc-a1-controller/oam/releases/1.6.2.yaml | 5 + .../oam/releases/1.7.3-container.yaml | 19 + sdnc-a1-controller/oam/releases/1.7.3.yaml | 5 + sdnc-a1-controller/oam/version.properties | 14 + 1593 files changed, 553009 insertions(+) create mode 100755 sdnc-a1-controller/northbound/.gitignore create mode 100644 sdnc-a1-controller/northbound/.gitreview create mode 100644 sdnc-a1-controller/northbound/.scanignore create mode 100644 sdnc-a1-controller/northbound/INFO.yaml create mode 100644 sdnc-a1-controller/northbound/LICENSE.txt create mode 100644 sdnc-a1-controller/northbound/README.md create mode 100755 sdnc-a1-controller/northbound/asdcApi/.gitignore create mode 100644 sdnc-a1-controller/northbound/asdcApi/README.md create mode 100755 sdnc-a1-controller/northbound/dataChange/.gitignore create mode 100755 sdnc-a1-controller/northbound/dataChange/.sonar/checkstyle.xml create mode 100755 sdnc-a1-controller/northbound/dataChange/.sonar/pmd.xml create mode 100644 sdnc-a1-controller/northbound/dataChange/README.md create mode 100755 sdnc-a1-controller/northbound/dmaap-listener/.gitignore create mode 100755 sdnc-a1-controller/northbound/dmaap-listener/.sonar/checkstyle.xml create mode 100755 sdnc-a1-controller/northbound/dmaap-listener/.sonar/pmd.xml create mode 100644 sdnc-a1-controller/northbound/dmaap-listener/README.md create mode 100644 sdnc-a1-controller/northbound/features/features-sdnc-northbound/pom.xml create mode 100755 sdnc-a1-controller/northbound/features/installer/pom.xml create mode 100755 sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_installer_zip.xml create mode 100755 sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_mvnrepo_zip.xml create mode 100644 sdnc-a1-controller/northbound/features/installer/src/main/resources/scripts/install-feature.sh create mode 100755 sdnc-a1-controller/northbound/features/pom.xml create mode 100644 sdnc-a1-controller/northbound/features/sdnc-northbound-all/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/.gitignore create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/client/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/features/features-generic-resource-api/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/features/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/features/sdnc-generic-resource-api/pom.xml create mode 100755 sdnc-a1-controller/northbound/generic-resource-api/installer/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_installer_zip.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_mvnrepo_zip.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/installer/src/main/resources/scripts/install-feature.sh create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/model/pom.xml create mode 100755 sdnc-a1-controller/northbound/generic-resource-api/model/scripts/python/yang2props.py create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/model/src/main/resources/generic-resource-api.20170824.json create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/pom.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClient.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiUtil.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/ResponseObject.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/OSGI-INF/blueprint/generic-resource-api-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/org/opendaylight/blueprint/generic-resource-api-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/BrgTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ConnectionAttachmentTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationNotificationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiProviderTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClientTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GetpathsegmentTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/NetworkTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PnfTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PolicyUpdateNotifyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PortMirrorTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadNetworkTopologyRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadVnfTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/SecurityZoneTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ServiceTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/TunnelxconnTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VfModuleTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VnfTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/GenericResourceApiSvcLogicServiceClientMockUtil.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java create mode 100644 sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/PropBuilder.java create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/.gitignore create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/.gitignore create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/README.md create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/src/main/resources/a1_mediator_0.11.0.yaml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/features/features-nonrt-ric-api/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/features/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/features/sdnc-nonrt-ric-api/pom.xml create mode 100755 sdnc-a1-controller/northbound/nonrt-ric-api/installer/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_installer_zip.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_mvnrepo_zip.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/main/resources/scripts/install-feature.sh create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/model/pom.xml create mode 100755 sdnc-a1-controller/northbound/nonrt-ric-api/model/scripts/python/yang2props.py create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapter.java create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapterImpl.java create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/OSGI-INF/blueprint/nonrt-ric-api-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/org/opendaylight/blueprint/nonrt-ric-api-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/test/java/org/onap/sdnc/northbound/NonrtRicApiProviderTest.java create mode 100644 sdnc-a1-controller/northbound/pom.xml create mode 100644 sdnc-a1-controller/northbound/releases/1.6.0.yaml create mode 100644 sdnc-a1-controller/northbound/releases/1.6.1.yaml create mode 100644 sdnc-a1-controller/northbound/releases/1.6.2.yaml create mode 100644 sdnc-a1-controller/northbound/releases/1.7.0.yaml create mode 100755 sdnc-a1-controller/northbound/ueb-listener/.gitignore create mode 100755 sdnc-a1-controller/northbound/ueb-listener/.sonar/checkstyle.xml create mode 100755 sdnc-a1-controller/northbound/ueb-listener/.sonar/pmd.xml create mode 100644 sdnc-a1-controller/northbound/ueb-listener/README.md create mode 100644 sdnc-a1-controller/northbound/version.properties create mode 100644 sdnc-a1-controller/northbound/vnfapi/.gitignore create mode 100644 sdnc-a1-controller/northbound/vnfapi/.sonar/checkstyle.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/.sonar/pmd.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/README.txt create mode 100644 sdnc-a1-controller/northbound/vnfapi/features/features-vnfapi/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/features/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/features/sdnc-vnfapi/pom.xml create mode 100755 sdnc-a1-controller/northbound/vnfapi/installer/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_installer_zip.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_mvnrepo_zip.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/installer/src/main/resources/scripts/install-feature.sh create mode 100644 sdnc-a1-controller/northbound/vnfapi/model/pom.xml create mode 100755 sdnc-a1-controller/northbound/vnfapi/model/scripts/python/yang2props.py create mode 100644 sdnc-a1-controller/northbound/vnfapi/model/src/main/resources/vnf-api.20150720.json create mode 100755 sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/VNF-API.yang create mode 100755 sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang create mode 100644 sdnc-a1-controller/northbound/vnfapi/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClient.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfSdnUtil.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/OSGI-INF/blueprint/vnfapi-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClientTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VfModuleTopologyOperationTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfInstanceTopologyOperationTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfSdnUtilTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfTopologyOperationRPCTest.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/MDSALUtil.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/PropBuilder.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/VNFSDNSvcLogicServiceClientMockUtil.java create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/proplist.properties create mode 100644 sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/simplelogger.properties create mode 100644 sdnc-a1-controller/northbound/vnftools/.gitignore create mode 100644 sdnc-a1-controller/northbound/vnftools/features/features-vnftools/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/features/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/features/sdnc-vnftools/pom.xml create mode 100755 sdnc-a1-controller/northbound/vnftools/installer/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_installer_zip.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_mvnrepo_zip.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/installer/src/main/resources/scripts/install-feature.sh create mode 100644 sdnc-a1-controller/northbound/vnftools/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/pom.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/src/main/java/org/onap/sdnc/vnftools/VnfTools.java create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/OSGI-INF/blueprint/vnftools-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/l3ucpetools.properties create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/org/opendaylight/blueprint/vnftools-blueprint.xml create mode 100644 sdnc-a1-controller/northbound/vnftools/provider/src/test/java/org/onap/sdnc/vnftools/VnfToolsTest.java create mode 100755 sdnc-a1-controller/oam/.gitignore create mode 100644 sdnc-a1-controller/oam/.gitreview create mode 100644 sdnc-a1-controller/oam/INFO.yaml create mode 100644 sdnc-a1-controller/oam/LICENSE.txt create mode 100644 sdnc-a1-controller/oam/README.md create mode 100644 sdnc-a1-controller/oam/SdncReports/README.md create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/pom.xml create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/Application.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/ServletInitializer.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/EmbeddedMariaDbConfig.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/JpaApplicationConfig.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/CertificationController.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/ReportController.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/CertificationClientService.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/IReportService.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestService.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestServiceImpl.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/ReportServiceImpl.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/application.properties create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/log4j2.xml create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/footer.html create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-validationTest.html create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-viewReport.html create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/header.html create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/FailImage.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/download.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/downloadImage.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/error.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/fail.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/images.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/networklayer.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/protocaol.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/protocol.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/reachable.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/router.jpg create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/router.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/search.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/success.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/validation.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/waning.png create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllDevices.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllReports.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllTest.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllVNF.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getTestResult.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/sdnc-style.css create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/w3.css create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/tabs.html create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/WEB-INF/views/index.jsp create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/app.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-validationTest-controller.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-viewreport-controller.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-validationTest-service.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-viewReport-service.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.css create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-route.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-sanitize.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-utils-pagination/dirPagination.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.css create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/bootstrap-3.3.7/package.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/jquery.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/ng-csv/build/ng-csv.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/ng-csv/build/ng-csv.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/ng-ip-address/ngIpAddress.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/ng-ip-address/ngIpAddress.vanilla.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/ng-ip-address/package.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/tether.min.js create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/package.json create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/ApplicationTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/controller/ReportControllerTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/service/CertificationClientServiceTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/service/LayerTestServiceImplTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/service/NetworkCertificationTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/reports/service/ReportServiceImplTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/CertificationInputsTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/InputTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/OdlResponseTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/OutputTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/PreTestResponseTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/RequestTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/ResponseTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/ValidationTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/VnfListTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/java/com/onap/sdnc/testapi/model/VnfTest.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/test/resources/application.properties create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsApi/start.sh create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/pom.xml create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/CertificationInputs.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/DeviceConfig.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/Input.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/ODLClientResponse.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/Output.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/PreTestConfig.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/PreTestResponse.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/Request.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/Response.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/ValidationTestType.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/Vnf.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/model/VnfList.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/repository/DeviceRepository.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/repository/PreTestConfigRepository.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/rest/model/ConfigDetailsRestModel.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/rest/model/JSONTags.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/java/com/onap/sdnc/reports/rest/model/PreTestModel.java create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/main/resources/application.properties create mode 100644 sdnc-a1-controller/oam/SdncReports/SdncReportsDao/src/test/resources/application.properties create mode 100644 sdnc-a1-controller/oam/SdncReports/pom.xml create mode 100644 sdnc-a1-controller/oam/admportal/.gitignore create mode 100644 sdnc-a1-controller/oam/admportal/README create mode 100644 sdnc-a1-controller/oam/admportal/certs/README create mode 100644 sdnc-a1-controller/oam/admportal/config/admportal.json create mode 100644 sdnc-a1-controller/oam/admportal/config/admportal.log4js.json create mode 100644 sdnc-a1-controller/oam/admportal/config/svclogic.properties create mode 100644 sdnc-a1-controller/oam/admportal/config/svclogic.properties.sdnctldb01 create mode 100644 sdnc-a1-controller/oam/admportal/config/svclogic.properties.sdnctldb02 create mode 100644 sdnc-a1-controller/oam/admportal/package.json create mode 100644 sdnc-a1-controller/oam/admportal/pom.xml create mode 100644 sdnc-a1-controller/oam/admportal/process.http.json create mode 100644 sdnc-a1-controller/oam/admportal/process.https.json create mode 100644 sdnc-a1-controller/oam/admportal/public/fonts/glyphicons-halflings-regular.eot create mode 100644 sdnc-a1-controller/oam/admportal/public/fonts/glyphicons-halflings-regular.svg create mode 100644 sdnc-a1-controller/oam/admportal/public/fonts/glyphicons-halflings-regular.ttf create mode 100644 sdnc-a1-controller/oam/admportal/public/fonts/glyphicons-halflings-regular.woff create mode 100644 sdnc-a1-controller/oam/admportal/public/fonts/glyphicons-halflings-regular.woff2 create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/admportal.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/bootbox.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/bootstrap-submenu.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/bootstrap-submenu.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/bootstrap-table.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/bootstrap.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/dataTables.bootstrap.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/jquery-2.2.0.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/jquery.dataTables.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/jquery.min.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/jquery.treegrid.bootstrap3.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/jquery.treegrid.js create mode 100644 sdnc-a1-controller/oam/admportal/public/javascripts/sla.js create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-submenu.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-submenu.css.map create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-submenu.min.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-submenu.min.css.map create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-table.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap-theme.min.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/bootstrap.min.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/dataTables.bootstrap.min.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/jquery.treegrid.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/signin.css create mode 100644 sdnc-a1-controller/oam/admportal/public/stylesheets/style.css create mode 100644 sdnc-a1-controller/oam/admportal/routes/index.js create mode 100644 sdnc-a1-controller/oam/admportal/routes/users.js create mode 100644 sdnc-a1-controller/oam/admportal/server/adminPortal.db create mode 100644 sdnc-a1-controller/oam/admportal/server/app.js create mode 100644 sdnc-a1-controller/oam/admportal/server/netdb_updater.js create mode 100644 sdnc-a1-controller/oam/admportal/server/npm-debug.log create mode 100644 sdnc-a1-controller/oam/admportal/server/router/index.js create mode 100755 sdnc-a1-controller/oam/admportal/server/router/routes/OdlInterface.js create mode 100755 sdnc-a1-controller/oam/admportal/server/router/routes/admin.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/csp.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/dbRoutes.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/gamma.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/helpers.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/mobility.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/network.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/odl.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/preload.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/root.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/sla.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/user.js create mode 100644 sdnc-a1-controller/oam/admportal/server/router/routes/vnf.js create mode 100755 sdnc-a1-controller/oam/admportal/shell/getAdmPortalProp.py create mode 100755 sdnc-a1-controller/oam/admportal/shell/start.sh create mode 100755 sdnc-a1-controller/oam/admportal/shell/start_netdb.sh create mode 100755 sdnc-a1-controller/oam/admportal/shell/start_portal.sh create mode 100755 sdnc-a1-controller/oam/admportal/shell/startssl.sh create mode 100644 sdnc-a1-controller/oam/admportal/shell/stop.sh create mode 100755 sdnc-a1-controller/oam/admportal/shell/stopssl.sh create mode 100644 sdnc-a1-controller/oam/admportal/shell/svclogic.sh create mode 100755 sdnc-a1-controller/oam/admportal/shell/www create mode 100644 sdnc-a1-controller/oam/admportal/src/assembly/assemble_zip.xml create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/deinstall/postproc/post_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/deinstall/preproc/pre_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/fallback/postproc/post_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/fallback/preproc/pre_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/initinst/postproc/post_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/initinst/preproc/pre_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/install/postproc/post_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/install/preproc/pre_proc create mode 100644 sdnc-a1-controller/oam/admportal/src/main/swm/notes.txt create mode 100644 sdnc-a1-controller/oam/admportal/test/YYYYMMDDHH_ctag_pool.csv create mode 100644 sdnc-a1-controller/oam/admportal/test/eipam/sample.xml create mode 100755 sdnc-a1-controller/oam/admportal/test/gen.sh create mode 100644 sdnc-a1-controller/oam/admportal/uploads/temp create mode 100644 sdnc-a1-controller/oam/admportal/views/admin/list_usertrace.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/admin/parameters.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap-theme.min.css create mode 100644 sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap.min.css create mode 100644 sdnc-a1-controller/oam/admportal/views/error.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listAicAvailZone.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listAicSwitch.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listServiceHoming.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listServiceHomingRollback.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listSite.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listVpePool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/listVplspePool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/nbVlanPool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/nbVlanRange.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/gamma/networkProfile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/javascript_delete/jquery.min.js create mode 100644 sdnc-a1-controller/oam/admportal/views/javascript_delete/sla.js create mode 100644 sdnc-a1-controller/oam/admportal/views/logs/accesslog.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/logs/accesslog.ejs.0223 create mode 100644 sdnc-a1-controller/oam/admportal/views/logs/usertrace.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/logs/usertrace.ejs.0223 create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/displayVnfData.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/displayVnfNetworkData.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vmNetworks.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vmProfile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vnfNetworks.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vnfPreloadData.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vnfPreloadNetworkData.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/mobility/vnfProfile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/odl/cluster_status.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/odl/listVRlan.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/odl/listWklst.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/odl/view.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/odl/viewvnf.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/csplogout.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/err.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/home.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/home.ejs.orig create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/login.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/setuplogin.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/signup.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/pages/testdb.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/add_service_homing.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/alts_credentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/dhcp.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/env.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/equipment.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/excluded_v4_address.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/excluded_v4_address_from_default_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/excluded_v6_address_from_default_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/excluded_v6_addresses.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/feature_list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/firewall_lite.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/footer.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/form.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/gammaHeader.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/head.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/head.ejs.orig create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/header.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/header.ejs.orig create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/interface.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/internet_evc_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/ipv4_infrastructure_static_route.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/ipv6_infrastructure_static_route.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/l2_homing_information_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/l3_interface_ipv4_address_list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/l3_interface_ipv6_address_list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/l3sdn_vnf_fields.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/link_latency_master.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/link_master.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/max_port_speed.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/max_server_speed.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/metroroadm_service_request.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/nat.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/nb_vlan_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/nb_vlan_range.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/ncs_credentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/network_connections.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/network_profile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/new_parameter.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/newuserform.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/oper_status_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/owbc_properties.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/partner_properties.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/pat.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/pat_pools.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/phs_credentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/request_information_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/resource_rule.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/ro_header.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/roadm_mapping.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/router_master.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/routing_protocol.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/sdnc_request_header_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/sdnfcHeader.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/sdnmlcHeader.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/service_information_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/service_manager_credentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/service_status_modal.ejs create mode 100755 sdnc-a1-controller/oam/admportal/views/partials/startssl.sh create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/svc_config_additional_data.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/svc_topology_additional_data_modal.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/t_provided_v4_lan_public_prefixes.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/t_provided_v6_lan_public_prefixes.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/tcp_port_list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/threshold_alarm.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/udp_port_list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_aic_avail_zone.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_aic_site.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_aic_switch.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_max_port_speed.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_parameter.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_resource_rule.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_service_homing.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_vlan_id_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_vpe_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/update_vplspe_pool.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/userform.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v4_dhcp_pools.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v4_firewall_packet_filters.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v4_nat_mapping_entries.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v4_static_routes.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v6_dhcp_pools.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v6_firewall_packet_filters.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/v6_static_routes.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vlan.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vm_networks.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vm_profile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vnf_network.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vnf_profile.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vnf_vm_information.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vr_lan_interface.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/partials/vrr_credentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/resalloc/max_port_speed.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/resalloc/max_server_speed.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/resalloc/resource_rule.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/resalloc/threshold_alarms.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/sdnfc/viewTables.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/sdnfc/vrrCredentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/sla/list.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/sla/printasgv.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/sla/printasxml.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/linkLatencyMaster.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/linkMaster.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/metroRoadmServiceRequest.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/owbcProperties.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/partnerProperties.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/roadmMapping.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/tunnel/routerMaster.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/altsCredentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/apiLogins.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/chainingTopologies.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/customerNcsServers.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/mappedServicePort.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/mcapServers.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/ncsCredentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/nmInterfaces.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/phsCredentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/phsServers.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/physicalDeviceLogins.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/referenceData.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/serviceManagerCredentials.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/servicePort.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfLogins.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfMapDevice.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfModelFeatures.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfModelSoftware.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfModels.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfNmInterfaces.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/ucpe/vnfPorts.ejs create mode 100644 sdnc-a1-controller/oam/admportal/views/user/list.ejs create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/pom.xml create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/read.md create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/controller/VnfComparisonController.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfComparisonRepository.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfIds.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfCompareResponse.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfConfigDetailsDB.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfDetails.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfComparisonService.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDAndVnfVersionService.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDService.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/getBackupVnfDetailService/src/test/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfComparisonServiceTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/pom.xml create mode 100644 sdnc-a1-controller/oam/configbackuprestore/read.md create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/pom.xml create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/read.md create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/config/ApplicationConfiguration.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/config/ServletInitializer.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/controller/VnfBackupServiceController.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/dao/VnfBackupServiceRepo.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/model/VnfConfigDetailsDB.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/model/VnfConfigSchedulerTimeStamp.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/model/VnfDisplayParams.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/model/VnfServiceResponse.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/scheduler/VnfConfigBackupScheduler.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/scheduler/VnfRestClient.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupService.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupServiceImpl.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/resources/application.properties create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/resources/log4j2.xml create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/WEB-INF/views/index.jsp create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/app.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-applyConfig-controller.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-backupConfig-controller.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-validationTest-controller.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-viewreport-controller.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-services/sdnc-compareConfig-service.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-services/sdnc-validationTest-service.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-services/sdnc-viewReport-service.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl-v2/build/angular-growl.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl-v2/build/angular-growl.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl-v2/build/angular-growl.min.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl-v2/build/angular-growl.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl.min.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-growl.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.editorconfig create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.gitattributes create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jscsrc create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintignore create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintrc create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.npmignore create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/LICENSE create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/README.md create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.less create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/bower.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/demo.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/gulpfile.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/index.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/package.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/screenshot.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-route.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-sanitize.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-utils-pagination/dirPagination.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/bootstrap-3.3.7/package.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/jquery.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/ng-csv/build/ng-csv.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/ng-csv/build/ng-csv.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/ng-ip-address/ngIpAddress.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/ng-ip-address/ngIpAddress.vanilla.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/ng-ip-address/package.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/tether.min.js create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/package.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/Apply.jpg create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/FailImage.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backup.jpg create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backupConfig.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.jpg create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/download.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/downloadImage.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/error.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/fail.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/images.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/networklayer.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocaol.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocol.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/reachable.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.jpg create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/search.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/success.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/validation.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/waning.png create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllConfigForVNF.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllDevices.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllReports.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllTest.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVNF.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVersion.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getTestResult.json create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/sdnc-style.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/w3.css create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/footer.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-applyConfig.jsp create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-backupConfig.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-compareConfig.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfig.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfigView.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-validationTest.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-versionCompare.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReport.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReportById.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/header.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/tabs.html create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/test/java/com/onap/sdnc/vnfbackupservice/model/VnfConfigDetailsDBTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/test/java/com/onap/sdnc/vnfbackupservice/model/VnfConfigSchedulerTimeStampTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/test/java/com/onap/sdnc/vnfbackupservice/scheduler/VnfConfigBackupSchedulerTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/test/java/com/onap/sdnc/vnfbackupservice/scheduler/VnfRestClientTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/test/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupServiceImplTest.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/README.md create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/pom.xml create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/main/java/com/onap/sdnc/vnfreportsservice/controller/VnfReportsServiceController.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/main/java/com/onap/sdnc/vnfreportsservice/dao/VnfReportsServiceRepo.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/main/java/com/onap/sdnc/vnfreportsservice/model/VnfConfigDetailsDB.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/main/java/com/onap/sdnc/vnfreportsservice/service/VnfReportsServiceImpl.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/main/java/com/onap/sdnc/vnfreportsservice/service/Vnfreportsservice.java create mode 100644 sdnc-a1-controller/oam/configbackuprestore/vnfconfigreportsservice/src/test/java/com/onap/sdnc/vnfreportsservice/service/VnfReportsServiceImplTest.java create mode 100644 sdnc-a1-controller/oam/data-migrator/pom.xml create mode 100644 sdnc-a1-controller/oam/data-migrator/src/assembly/assemble_zip.xml create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/DataMigration.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/DataMigrationInternal.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/common/Description.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/common/MigratorConfiguration.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/common/Operation.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/common/RestconfClient.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/exceptions/RestconfException.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/migrators/Migrator.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/migrators/PreloadInformationMigrator.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/java/org/onap/sdnc/oam/datamigrator/migrators/RenameDeleteLeafMigrator.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/resources/data-migrator.properties create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/resources/log4j.properties create mode 100644 sdnc-a1-controller/oam/data-migrator/src/main/scripts/runMigration.sh create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/java/org/onap/sdnc/oam/datamigrator/DataMigrationInternalTest.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/java/org/onap/sdnc/oam/datamigrator/common/RestconfClientTest.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/java/org/onap/sdnc/oam/datamigrator/datamigrator/PreloadInformationMigratorTest.java create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/resources/log4j.properties create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/resources/migration/props/data-migrator.properties create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/resources/wiremock/preloadInformationRequest.json create mode 100644 sdnc-a1-controller/oam/data-migrator/src/test/resources/wiremock/preloadVnfResponse.json create mode 100644 sdnc-a1-controller/oam/docs/apis/genericresource.rst create mode 100644 sdnc-a1-controller/oam/docs/apis/vnfapi.rst create mode 100644 sdnc-a1-controller/oam/docs/architecture.rst create mode 100644 sdnc-a1-controller/oam/docs/build.rst create mode 100644 sdnc-a1-controller/oam/docs/cert_installation.rst create mode 100644 sdnc-a1-controller/oam/docs/configuration.rst create mode 100644 sdnc-a1-controller/oam/docs/consumedapis.rst create mode 100644 sdnc-a1-controller/oam/docs/delivery.rst create mode 100644 sdnc-a1-controller/oam/docs/humaninterfaces.rst create mode 100644 sdnc-a1-controller/oam/docs/images/certs_properties.png create mode 100644 sdnc-a1-controller/oam/docs/images/client_certificate.png create mode 100644 sdnc-a1-controller/oam/docs/images/client_key.png create mode 100644 sdnc-a1-controller/oam/docs/images/get_keystore.png create mode 100644 sdnc-a1-controller/oam/docs/images/trusted_certificate.png create mode 100644 sdnc-a1-controller/oam/docs/index.rst create mode 100644 sdnc-a1-controller/oam/docs/installation.rst create mode 100644 sdnc-a1-controller/oam/docs/logging.rst create mode 100644 sdnc-a1-controller/oam/docs/offeredapis.rst create mode 100644 sdnc-a1-controller/oam/docs/release-notes.rst create mode 100644 sdnc-a1-controller/oam/installation/TagVersion.groovy create mode 100644 sdnc-a1-controller/oam/installation/admportal/pom.xml create mode 100644 sdnc-a1-controller/oam/installation/admportal/src/main/docker/Dockerfile create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/pom.xml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/.dockerignore create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Dockerfile create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/Ansible_inventory create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_postcheck@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_postcheck@0.01.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_precheck@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_precheck@0.01.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_rollback@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_upgrade@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_huawei_upgrade@0.01.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_postcheck@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_postcheck_jq@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_precheck@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_precheck_jq@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_pyver@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_quiescetraffic@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_resumetraffic@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_sleep@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_upgradesw@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_upgradesw_insjq@0.00.yml create mode 100755 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_upgradesw_remjq@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/ansible-server/src/main/Playbooks/ansible_vfw_distributetraffic@0.00.yml create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/pom.xml create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/docker/Dockerfile create mode 100755 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/aai.properties create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/dblib.properties create mode 100755 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/dhcpalert.properties create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/dmaap-consumer-oofpcipoc.properties create mode 100755 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/dmaap-listener.preferredRoute.txt create mode 100755 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/dmaap-listener.properties create mode 100755 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/lcm.properties create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/properties/log4j.properties create mode 100644 sdnc-a1-controller/oam/installation/dmaap-listener/src/main/scripts/start-dmaap-listener.sh create mode 100644 sdnc-a1-controller/oam/installation/pom.xml create mode 100644 sdnc-a1-controller/oam/installation/sdnc/pom.xml create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/docker/Dockerfile create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/docker/standalone.Dockerfile create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/aaa-app-config.xml create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/allotted_resource_model.data.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/blueprint-processor.data.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/idmlight.db.mv.db create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/ipam.data.dump create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/listDataFiles.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/network_model.data.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/sdnctl.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/service_model.data.dump create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/truststoreONAPall.jks create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/vf_model.data.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/vf_module_model.data.dump create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/resources/vfc_model.data.dump create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/addIpAddresses.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/addSdncKeyStore.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/addVnis.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/backupMdsal.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/configure_geo_cluster.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/installCerts.py create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/installFeatures.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/installSdncDb.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/installZips.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/restoreMdsal.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/rmForeignKey.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.cluster create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.failover create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.isPrimaryCluster create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/startODL.sh create mode 100755 sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/switchVoting.sh create mode 100755 sdnc-a1-controller/oam/installation/src/main/properties/aaiclient.properties create mode 100755 sdnc-a1-controller/oam/installation/src/main/properties/admportal.json create mode 100755 sdnc-a1-controller/oam/installation/src/main/properties/admportal.log4js.json create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/ansible-adapter.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/bath_config.csv create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/blueprints-processor-adaptor.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/data-migrator.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/dblib.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/generic-resource-api-dg.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/lcm-dg.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/mdsal-resource.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.cred.props create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.props create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/sql-resource.properties create mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/svclogic.properties create mode 100755 sdnc-a1-controller/oam/installation/src/main/properties/svclogic.properties.sdnctldb01 create mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/keystore.sdnc.p12 create mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.keyfile create mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.p12 create mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.trust.jks create mode 100755 sdnc-a1-controller/oam/installation/src/main/stores/truststore.onap.client.jks create mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/truststore.openecomp.client.jks create mode 100644 sdnc-a1-controller/oam/installation/src/main/yaml/docker-compose.yml create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/pom.xml create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/src/main/docker/Dockerfile create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/src/main/properties/artifact.map create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/src/main/properties/dblib.properties create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/src/main/properties/log4j.properties create mode 100755 sdnc-a1-controller/oam/installation/ueb-listener/src/main/properties/ueb-listener.properties create mode 100644 sdnc-a1-controller/oam/installation/ueb-listener/src/main/scripts/start-ueb-listener.sh create mode 100644 sdnc-a1-controller/oam/platform-logic/.gitignore create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_data-change-notification.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery-of-zte.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-of-zte.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_sotn-notification-handler.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/json/DataChange_validate-esr-thirdparty-sdnc-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/resources/graph.versions create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_data-change-notification.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery-of-zte.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-of-zte.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_sotn-notification-handler.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/datachange/src/main/xml/DataChange_validate-esr-thirdparty-sdnc-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/pom.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_aai-get-aic-zone.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_aai-get-network-instance-group.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-delete.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_assign-vlan-tags.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_auto-ip-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-change-huawei.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-common-huawei.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-create-huawei.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-delete-huawei.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-create.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-delete.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_brg-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-create.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-delete.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation-unassign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_contrail-route-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_create-l3-subnet.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_create-route-target-and-vpn-binding.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_dci-connects-network-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_dci-connects-network-topology-operation-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_eipam-allocate-generic-subnet.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_eipam-allocate-network-role-subnet.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_eipam-create-generic-pool.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_eipam-create-network-role-pool.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-FQPN.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-allottedresource-id.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-host-routes-host-route-id.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-l3network-network-id.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-panorama-name.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-subnets-subnet-id.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-unique-name.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generate-vpn-binding-id.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-notification-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-notification-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-notification-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-notification-unassign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-notification.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_generic-configuration-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_get-complex-resource-service-model.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_get-data-from-policy.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_get-tunnelxconn-ar.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_get-vnf-api-parent-instance.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-composite-match-pair.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-create-composite-path.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-create-simple-path.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-populate-from-grapi.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-populate-from-vnfapi.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-simple-match-pair.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-topology-operation-create.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_getpathsegment-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_gw-vfmodule-update.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-ipaddr-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-vni-assignment.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_naming-policy-generate-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_naming-policy-generate-unique-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign-automated.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign-vlantagging-instancegroup.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_pnf-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_pnf-topology-operation-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_pnf-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_pnf-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_pnf-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_policy-manager-create-policy.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_policy-manager-delete-policy.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_policy-update-notify-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-get-policy.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-rollback-capacity-db.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-activate-async.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-activate-sync.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-assign-async.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-assign-sync.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-async.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-create-vnfcs.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-deactivate-async.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-deactivate-sync.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-disable.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-enable.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-mapping-pprobe.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-mapping-vprobe.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-unassign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation-validation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_port-mirror-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_preload-network-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_preload-vf-module-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_process-eipam-pools.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_process-generic-eipam-pools.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_query-aai-l3-network-by-network-role.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_rollback-eipam-ip-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_rollback-generated-names.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-create.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-delete.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation-unassign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_security-zone-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-pnf-put.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-netbox-ip-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-pnf-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-pnf-generate-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-pnf-ra-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-pnf-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-generate-name-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-generate-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-mdsal-put.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-generate-name-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-generate-name.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-mdsal-put.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_send-so-response.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_service-topology-operation-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_service-topology-operation-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_service-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_service-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_service-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-api-contrail-route-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-brg-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-contrail-route-input.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-generic-configuration-input.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-getpathsegment-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input-parameters.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-overlay-network-input-parameters.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-pnf-input.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-security-zone-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-service-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-generate-heat-parameters.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-assign-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-no-preload.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-preload.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-async.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-activate.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-ip-addresses.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-get-resource-request.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-async.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/SUBNET-API_managed-network-notification.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/SUBNET-API_subnet-allocated-notification.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-device-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-site-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-tenant-auth.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-device-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-lanport-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-site-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-get-wan-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_validate-sdwan-vf-vpn-input-parameters.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-reoptimize.json create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/json/sotn/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.json create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/resources/graph.versions create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_aai-get-aic-zone.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_aai-get-network-instance-group.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_api-contrail-route-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_assign-vlan-tags.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_auto-ip-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-create-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-change-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-common-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-create-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-delete-huawei.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_brg-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-create.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation-unassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_contrail-route-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_create-l3-subnet.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_create-route-target-and-vpn-binding.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_dci-connects-network-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_dci-connects-network-topology-operation-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_eipam-allocate-generic-subnet.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_eipam-allocate-network-role-subnet.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_eipam-create-generic-pool.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_eipam-create-network-role-pool.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-FQPN.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-allottedresource-id.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-host-routes-host-route-id.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-l3network-network-id.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-panorama-name.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-subnets-subnet-id.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-unique-name.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-vpn-binding-id.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-notification-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-notification-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-notification-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-notification-unassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-notification.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generic-configuration-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_get-complex-resource-service-model.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_get-data-from-policy.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_get-tunnelxconn-ar.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_get-vnf-api-parent-instance.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-composite-match-pair.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-create-composite-path.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-create-simple-path.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-populate-from-grapi.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-populate-from-vnfapi.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-simple-match-pair.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-topology-operation-create.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_getpathsegment-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_gw-vfmodule-update.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-vni-assignment.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_naming-policy-generate-name.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_naming-policy-generate-unique-name.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign-automated.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign-from-preload.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign-vlantagging-instancegroup.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_pnf-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_pnf-topology-operation-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_pnf-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_pnf-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_pnf-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_policy-manager-create-policy.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_policy-manager-delete-policy.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_policy-update-notify-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-get-policy.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-rollback-capacity-db.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-activate-async.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-activate-sync.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-assign-async.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-assign-sync.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-async.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-create-vnfcs.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-deactivate-async.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-deactivate-sync.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-disable.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-enable.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-mapping-pprobe.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-mapping-vprobe.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-unassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation-validation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_port-mirror-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_preload-network-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_preload-vf-module-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_process-eipam-pools.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_process-generic-eipam-pools.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_query-aai-l3-network-by-network-role.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_rollback-eipam-ip-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_rollback-generated-names.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-create.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation-unassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_security-zone-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-pnf-put.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-netbox-ip-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-pnf-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-pnf-generate-name.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-pnf-ra-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-pnf-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-generate-name-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-generate-name.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-mdsal-put.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-generate-name-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-generate-name.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-mdsal-put.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_send-so-response.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_service-topology-operation-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_service-topology-operation-changeassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_service-topology-operation-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_service-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_service-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-api-contrail-route-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-bbs-network-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-brg-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-contrail-route-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-generic-configuration-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-getpathsegment-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-overlay-network-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-pnf-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-security-zone-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-service-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-generate-heat-parameters.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-assign-rollback.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-no-preload.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-preload.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-async.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-deactivate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-assign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-ip-addresses.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-get-resource-request.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-async.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/SUBNET-API_managed-network-notification.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/SUBNET-API_subnet-allocated-notification.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-device-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-site-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-tenant-auth.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-device-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-lanport-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-vf-module-site-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-get-wan-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-lanport-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-site-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-wanport-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-wanport-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_validate-sdwan-vf-vpn-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-attachment-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-get-saved-ar-param.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-create.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-deactivate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_sotn-network-topology-operation-reoptimize.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/sotn/GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/installer/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/installer/src/assembly/assemble_zip.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/pom.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_config-scale-out.json create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_distribute-traffic.json create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_health-check.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_lock.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_quiesce-traffic.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_resume-traffic.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_snapshot.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_unlock.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_upgrade-backup.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_upgrade-post-check.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_upgrade-pre-check.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/LCM_upgrade-software.json create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/json/lcm-restconf-configscaleout.json create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/resources/graph.versions create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_config-scale-out.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_distribute-traffic.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_health-check.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_lock.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_quiesce-traffic.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_resume-traffic.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_rollback.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_snapshot.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_unlock.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_upgrade-backup.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_upgrade-post-check.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_upgrade-pre-check.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/lcm/src/main/xml/LCM_upgrade-software.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/actokentemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/bbs-access-connectivity-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/bbs-internet-profile-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/bbs-token-template.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/brg-allotted-resource.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/contrail-route-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/getzteodutoponodedetailstemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/getzteodutoponodenepdetailstemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/getzteodutoponodetemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/getzteodutopotemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/l2-dci-connects-template.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/l3-dci-connects-template.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/l3smsitetemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/l3smvpntemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/l3smvrftemplate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/lcm-dmaap-publish-template.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/lcm-restconf-configscaleout.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/naming-ms-post-gen-name.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/network-provided-allotted-resources.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/oof-getpath.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/parent-provided-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-bridge-domain-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-bridge-domain.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-ip-subnets-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-ip-subnets.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-port-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdlan-port.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-attachment-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-device-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-device-port-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-device.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-network-orchestration.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-port-cellular.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-port-ethernet.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-port.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-hub.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-provision.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-spoke.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-add.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-tenant.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-underlay.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-vpn-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-vpn-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-vpn-topology-create.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-vpn-topology.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-vpn.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-wan-port-del.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-wan-port-dhcp.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-wan-port-static.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sdwan-wan-port.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/security-zone-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-capacity-release.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-capacity-reserve.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-mS-mac-address-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-mS-mac-address-unassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-mS-vlan-tag-assignments.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-mS-vlan-tag-unassignments.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-pnf-assignments.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-vfmodule-assignments.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/self-serve-vnf-assignments.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/so-response.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sotn-attachment-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/tunnelxconn-allotted-resource.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vcpe-l2-interface.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vcpe-services-service.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vcpe-vpp-bridge-domain.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vcpe-vxlan-tunnel.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vf-module-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vfmodule-vim-parameters.vgw.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vnf-data-assign.json create mode 100755 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/json/vnf-provided-allotted-resources.json create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/multipartfile/README.md create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/velocity/oofpcipoc-dmaap-publish-modifyconfig-resp-payload-template.vtl create mode 100644 sdnc-a1-controller/oam/platform-logic/restapi-templates/src/main/velocity/oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/cds/execution-service.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/notification/ietf-subscribed-notifications.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-service@2018-03-01.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-inet-types.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-routing-types@2017-10-13.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-te-types@2018-07-01.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-yang-types.yang create mode 100644 sdnc-a1-controller/oam/platform-logic/setup/pom.xml create mode 100755 sdnc-a1-controller/oam/platform-logic/src/main/scripts/updateDgNamespace.sh create mode 100755 sdnc-a1-controller/oam/platform-logic/src/main/scripts/updatePackages.sh create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/pom.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_generate-l3network-network-id.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_generate-subnets-subnet-id.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_network-topology-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_network-topology-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_network-topology-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_network-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_network-topology-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_preload-network-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_preload-vf-module-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_preload-vnf-instance-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_preload-vnf-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_rollback-eipam-ip-assignment.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-assign-vnf-networks.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vf-module-topology-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-assign-vnf-networks.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-instance-topology-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-activate.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-assign-vfmodule.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-automated-assign-vfmodule.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-automated-assign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-automated-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-automated-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-automated-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-changeassign.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-changedelete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-delete.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-preload-operation.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/json/VNF-API_vnf-topology-rollback.json create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/resources/graph.versions create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_generate-l3network-network-id.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_generate-subnets-subnet-id.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_network-topology-rollback.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_preload-network-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vf-module-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-instance-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_preload-vnf-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_rollback-eipam-ip-assignment.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign-vnf-networks.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vf-module-topology-rollback.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign-vnf-networks.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-instance-topology-rollback.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-activate.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign-vfmodule.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign-vfmodule.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-assign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-automated-rollback.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changeassign.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-changedelete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-delete.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-preload-operation.xml create mode 100644 sdnc-a1-controller/oam/platform-logic/vnfapi/src/main/xml/VNF-API_vnf-topology-rollback.xml create mode 100755 sdnc-a1-controller/oam/pom.xml create mode 100644 sdnc-a1-controller/oam/releases/1.6.1.yaml create mode 100644 sdnc-a1-controller/oam/releases/1.6.2.yaml create mode 100644 sdnc-a1-controller/oam/releases/1.7.3-container.yaml create mode 100644 sdnc-a1-controller/oam/releases/1.7.3.yaml create mode 100644 sdnc-a1-controller/oam/version.properties diff --git a/sdnc-a1-controller/northbound/.gitignore b/sdnc-a1-controller/northbound/.gitignore new file mode 100755 index 00000000..8b49fb2a --- /dev/null +++ b/sdnc-a1-controller/northbound/.gitignore @@ -0,0 +1,38 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +.checkstyle +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata +provider/src/main/java/META-INF/ +provider/src/main/java/inventory/ + +## BlackDuck generated file +sdnc-northbound_bdio.jsonld +blackDuckHubProjectName.txt +blackDuckHubProjectVersionName.txt diff --git a/sdnc-a1-controller/northbound/.gitreview b/sdnc-a1-controller/northbound/.gitreview new file mode 100644 index 00000000..ac3bf486 --- /dev/null +++ b/sdnc-a1-controller/northbound/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=gerrit.openecomp.org +port=29418 +project=sdnc/northbound.git diff --git a/sdnc-a1-controller/northbound/.scanignore b/sdnc-a1-controller/northbound/.scanignore new file mode 100644 index 00000000..eeb990cb --- /dev/null +++ b/sdnc-a1-controller/northbound/.scanignore @@ -0,0 +1,6 @@ +vnfapi/model/src/main/yang/VNF-API.yang: leaf aic-clli { +vnfapi/model/src/main/yang/VNF-API.yang: leaf aic-cloud-region { +vnfapi/model/src/main/yang/VNF-API.yang: description "The AIC cloud region which maps to contrail versions"; +vnfapi/model/src/main/yang/VNF-API.yang: leaf aic-clli { +vnfapi/model/src/main/yang/VNF-API.yang: leaf aic-cloud-region { +vnfapi/model/src/main/yang/VNF-API.yang: description "The AIC cloud region which maps to contrail versions"; diff --git a/sdnc-a1-controller/northbound/INFO.yaml b/sdnc-a1-controller/northbound/INFO.yaml new file mode 100644 index 00000000..74c68d04 --- /dev/null +++ b/sdnc-a1-controller/northbound/INFO.yaml @@ -0,0 +1,52 @@ +--- +project: 'sdnc-northbound' +project_creation_date: '2017-02-14' +project_category: '' +lifecycle_state: 'Incubation' +project_lead: &onap_sdnc_ptl + name: 'Dan Timoney' + email: 'dtimoney@att.com' + id: 'djtimoney' + company: 'ATT' + timezone: 'America/New York' +primary_contact: *onap_sdnc_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.onap.org/projects/SDNC' + key: 'SDNC' +mailing_list: + type: 'groups.io' + url: 'lists.onap.org' + tag: '<[vid]>' +realtime_discussion: '' +meetings: + - type: 'zoom' + agenda: 'https://wiki.onap.org/display/DW/Software+Defined+Network+Controller+Project' + url: 'https://wiki.onap.org/display/DW/Software+Defined+Network+Controller+Project#SoftwareDefinedNetworkControllerProject-Meetings' + server: 'n/a' + channel: 'n/a' + repeats: 'weekly' + time: '13:00 UTC' +repositories: + - 'sdnc/adaptors' + - 'sdnc/apps' + - 'sdnc/northbound' + - 'sdnc/oam' +committers: + - <<: *onap_sdnc_ptl + - name: 'Prabhuram Somasundaram' + email: 'ps7551@att.com' + company: 'ATT' + id: 'Prabhu_Ram' + timezone: '' + - name: 'David Stilwell' + email: 'stilwelld@att.com' + company: 'ATT' + id: 'stilwelld' + timezone: '' +tsc: + approval: 'https://lists.onap.org/pipermail/onap-tsc' + changes: + - type: 'Deletion' + name: 'Ryan Goulding' + link: 'https://lists.onap.org/g/onap-tsc/message/4261' diff --git a/sdnc-a1-controller/northbound/LICENSE.txt b/sdnc-a1-controller/northbound/LICENSE.txt new file mode 100644 index 00000000..3ea5081a --- /dev/null +++ b/sdnc-a1-controller/northbound/LICENSE.txt @@ -0,0 +1,22 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ diff --git a/sdnc-a1-controller/northbound/README.md b/sdnc-a1-controller/northbound/README.md new file mode 100644 index 00000000..64be1de0 --- /dev/null +++ b/sdnc-a1-controller/northbound/README.md @@ -0,0 +1,8 @@ +This source repository contains the code for the SDN Controller northbound interface adaptors. +To compile this code: + +1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the OpenECOMP repositories and OpenDaylight repositories. See example-settings.xml for an example. + +2. To compile, run "mvn clean install". + + diff --git a/sdnc-a1-controller/northbound/asdcApi/.gitignore b/sdnc-a1-controller/northbound/asdcApi/.gitignore new file mode 100755 index 00000000..b73caf31 --- /dev/null +++ b/sdnc-a1-controller/northbound/asdcApi/.gitignore @@ -0,0 +1,34 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## Folders which contain auto generated source code ## +yang-gen-config +yang-gen-sal diff --git a/sdnc-a1-controller/northbound/asdcApi/README.md b/sdnc-a1-controller/northbound/asdcApi/README.md new file mode 100644 index 00000000..acef0674 --- /dev/null +++ b/sdnc-a1-controller/northbound/asdcApi/README.md @@ -0,0 +1,3 @@ +ASDCAPI MOVED TO CCSDK! + +The code for asdcApi moved to the ccsdk/sli/northbound repository diff --git a/sdnc-a1-controller/northbound/dataChange/.gitignore b/sdnc-a1-controller/northbound/dataChange/.gitignore new file mode 100755 index 00000000..b73caf31 --- /dev/null +++ b/sdnc-a1-controller/northbound/dataChange/.gitignore @@ -0,0 +1,34 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## Folders which contain auto generated source code ## +yang-gen-config +yang-gen-sal diff --git a/sdnc-a1-controller/northbound/dataChange/.sonar/checkstyle.xml b/sdnc-a1-controller/northbound/dataChange/.sonar/checkstyle.xml new file mode 100755 index 00000000..3fa23153 --- /dev/null +++ b/sdnc-a1-controller/northbound/dataChange/.sonar/checkstyle.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/dataChange/.sonar/pmd.xml b/sdnc-a1-controller/northbound/dataChange/.sonar/pmd.xml new file mode 100755 index 00000000..80343b3b --- /dev/null +++ b/sdnc-a1-controller/northbound/dataChange/.sonar/pmd.xml @@ -0,0 +1,67 @@ + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 2 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 5 + + + 2 + + + 3 + + + 3 + + + diff --git a/sdnc-a1-controller/northbound/dataChange/README.md b/sdnc-a1-controller/northbound/dataChange/README.md new file mode 100644 index 00000000..c0a1dcb3 --- /dev/null +++ b/sdnc-a1-controller/northbound/dataChange/README.md @@ -0,0 +1,3 @@ +DATACHANGE MOVED TO CCSDK! + +The code for dataChange moved to the ccsdk/sli/northbound repository diff --git a/sdnc-a1-controller/northbound/dmaap-listener/.gitignore b/sdnc-a1-controller/northbound/dmaap-listener/.gitignore new file mode 100755 index 00000000..1b8a6ba9 --- /dev/null +++ b/sdnc-a1-controller/northbound/dmaap-listener/.gitignore @@ -0,0 +1,12 @@ +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +*.class +target/ +MANIFEST.MF +.DS_STORE +.metadata diff --git a/sdnc-a1-controller/northbound/dmaap-listener/.sonar/checkstyle.xml b/sdnc-a1-controller/northbound/dmaap-listener/.sonar/checkstyle.xml new file mode 100755 index 00000000..3fa23153 --- /dev/null +++ b/sdnc-a1-controller/northbound/dmaap-listener/.sonar/checkstyle.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/dmaap-listener/.sonar/pmd.xml b/sdnc-a1-controller/northbound/dmaap-listener/.sonar/pmd.xml new file mode 100755 index 00000000..80343b3b --- /dev/null +++ b/sdnc-a1-controller/northbound/dmaap-listener/.sonar/pmd.xml @@ -0,0 +1,67 @@ + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 2 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + 5 + + + 2 + + + 3 + + + 3 + + + diff --git a/sdnc-a1-controller/northbound/dmaap-listener/README.md b/sdnc-a1-controller/northbound/dmaap-listener/README.md new file mode 100644 index 00000000..ed067b1a --- /dev/null +++ b/sdnc-a1-controller/northbound/dmaap-listener/README.md @@ -0,0 +1,3 @@ +DMAAP-LISTENER MOVED TO CCSDK! + +The code for dmaap-listener moved to the ccsdk/sli/northbound repository diff --git a/sdnc-a1-controller/northbound/features/features-sdnc-northbound/pom.xml b/sdnc-a1-controller/northbound/features/features-sdnc-northbound/pom.xml new file mode 100644 index 00000000..96028b47 --- /dev/null +++ b/sdnc-a1-controller/northbound/features/features-sdnc-northbound/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + feature-repo-parent + 1.4.3 + + + + org.onap.sdnc.northbound + features-sdnc-northbound + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: features :: ${project.artifactId} + + + + ${project.groupId} + sdnc-northbound-all + ${project.version} + xml + features + + + + diff --git a/sdnc-a1-controller/northbound/features/installer/pom.xml b/sdnc-a1-controller/northbound/features/installer/pom.xml new file mode 100755 index 00000000..ea67490f --- /dev/null +++ b/sdnc-a1-controller/northbound/features/installer/pom.xml @@ -0,0 +1,136 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-northbound-features-installer + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: features :: ${project.artifactId} + + + sdnc-northbound-all + ${application.name} + mvn:org.onap.sdnc.northbound/${features.boot}/${project.version}/xml/features + false + + + + + + org.onap.sdnc.northbound + ${application.name} + ${project.version} + xml + features + + + * + * + + + + + + + + + + + maven-assembly-plugin + + + maven-repo-zip + + single + + package + + true + stage/${application.name}-${project.version} + + src/assembly/assemble_mvnrepo_zip.xml + + true + + + + installer-zip + + single + + package + + true + ${application.name}-${project.version}-installer + + src/assembly/assemble_installer_zip.xml + + false + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + + copy-dependencies + + prepare-package + + false + ${project.build.directory}/assembly/system + false + true + true + true + false + false + org.onap.sdnc.northbound + provided + + + + + + maven-resources-plugin + 2.6 + + + copy-version + + copy-resources + + validate + + ${basedir}/target/stage + + + src/main/resources/scripts + + install-feature.sh + + true + + + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_installer_zip.xml b/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_installer_zip.xml new file mode 100755 index 00000000..a6a22a9b --- /dev/null +++ b/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_installer_zip.xml @@ -0,0 +1,39 @@ + + + + bin + + + zip + + + + false + + + + target/stage/ + ${application.name} + 755 + + *.sh + + + + target/stage/ + ${application.name} + 644 + + *.sh + + + + + + + diff --git a/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_mvnrepo_zip.xml b/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_mvnrepo_zip.xml new file mode 100755 index 00000000..86b07f1f --- /dev/null +++ b/sdnc-a1-controller/northbound/features/installer/src/assembly/assemble_mvnrepo_zip.xml @@ -0,0 +1,29 @@ + + + + repo + + + zip + + + + false + + + + target/assembly/ + . + + + + + + + + diff --git a/sdnc-a1-controller/northbound/features/installer/src/main/resources/scripts/install-feature.sh b/sdnc-a1-controller/northbound/features/installer/src/main/resources/scripts/install-feature.sh new file mode 100644 index 00000000..e16e79a1 --- /dev/null +++ b/sdnc-a1-controller/northbound/features/installer/src/main/resources/scripts/install-feature.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} +ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client} +INSTALLERDIR=$(dirname $0) + +REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip + +if [ -f ${REPOZIP} ] +then + unzip -d ${ODL_HOME} ${REPOZIP} +else + echo "ERROR : repo zip ($REPOZIP) not found" + exit 1 +fi + +${ODL_KARAF_CLIENT} feature:repo-add ${features.repositories} +${ODL_KARAF_CLIENT} feature:install ${features.boot} diff --git a/sdnc-a1-controller/northbound/features/pom.xml b/sdnc-a1-controller/northbound/features/pom.xml new file mode 100755 index 00000000..37336a2b --- /dev/null +++ b/sdnc-a1-controller/northbound/features/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-northbound-feature-aggregator + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: features + + + sdnc-northbound-all + features-sdnc-northbound + installer + + diff --git a/sdnc-a1-controller/northbound/features/sdnc-northbound-all/pom.xml b/sdnc-a1-controller/northbound/features/sdnc-northbound-all/pom.xml new file mode 100644 index 00000000..59178948 --- /dev/null +++ b/sdnc-a1-controller/northbound/features/sdnc-northbound-all/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + single-feature-parent + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-northbound-all + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: features :: ${project.artifactId} + + + + org.onap.ccsdk.sli.core + sli-core-artifacts + ${ccsdk.sli.core.version} + pom + import + + + + + + + ${project.groupId} + sdnc-generic-resource-api + ${project.version} + xml + features + + + ${project.groupId} + sdnc-vnfapi + ${project.version} + xml + features + + + ${project.groupId} + sdnc-vnftools + ${project.version} + xml + features + + + ${project.groupId} + sdnc-nonrt-ric-api + ${project.version} + xml + features + + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/.gitignore b/sdnc-a1-controller/northbound/generic-resource-api/.gitignore new file mode 100644 index 00000000..930c0337 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/.gitignore @@ -0,0 +1,40 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## Folders which contain auto generated source code ## +yang-gen-config +yang-gen-sal + + + +#####Archetype specific .git ignore entries####### +generate +Archetype_Next_Steps.README + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/client/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/client/pom.xml new file mode 100644 index 00000000..ea73aa80 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/client/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + jar + org.onap.sdnc.northbound + generic-resource-api-client + 1.7.3-SNAPSHOT + + sdnc-northbound :: generic-resource-api:: ${project.artifactId} + http://wiki.onap.org + POM to be used for yang2swagger generation of client in SDNC project + + + org.onap.ccsdk.parent + client-parent + 1.4.3 + + + + + + ${project.groupId} + generic-resource-api-model + ${project.version} + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-dependency-plugin + + org.opendaylight.mdsal.model,org.opendaylight.mdsal.binding.model.ietf,org.onap.sdnc.northbound + + + + maven-antrun-plugin + + + org.opendaylight.yangtools + yang-maven-plugin + + + io.swagger + swagger-codegen-maven-plugin + + + + generate + + + + true + true + ${project.build.directory}/generated-sources/swagger + false + false + true + false + true + org.onap.sdnc.northbound.client.handler + org.onap.sdnc.northbound.client.model + org.onap.sdnc.northbound.client.invoker + src/main/java + true + true + true + + + + + + + org.apache.maven.plugins + maven-source-plugin + + + org.codehaus.mojo + build-helper-maven-plugin + 1.10 + + + attach-artifacts + package + + attach-artifact + + + + + target/generated-sources/swagger-maven-api-gen/client.yaml + yaml + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/features/features-generic-resource-api/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/features/features-generic-resource-api/pom.xml new file mode 100644 index 00000000..39804c65 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/features/features-generic-resource-api/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + feature-repo-parent + 1.4.3 + + + + org.onap.sdnc.northbound + features-generic-resource-api + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + + ${project.groupId} + sdnc-generic-resource-api + ${project.version} + xml + features + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/features/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/features/pom.xml new file mode 100644 index 00000000..71b96a56 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/features/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + generic-resource-api-features + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + sdnc-generic-resource-api + features-generic-resource-api + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/features/sdnc-generic-resource-api/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/features/sdnc-generic-resource-api/pom.xml new file mode 100644 index 00000000..fde6245e --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/features/sdnc-generic-resource-api/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + single-feature-parent + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-generic-resource-api + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + + org.opendaylight.controller + odl-mdsal-broker + xml + features + + + org.onap.ccsdk.sli.core + ccsdk-sli + ${ccsdk.sli.core.version} + xml + features + + + ${project.groupId} + generic-resource-api-model + ${project.version} + + + ${project.groupId} + generic-resource-api-provider + ${project.version} + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/installer/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/installer/pom.xml new file mode 100755 index 00000000..c24650bb --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/installer/pom.xml @@ -0,0 +1,142 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + generic-resource-api-installer + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + sdnc-generic-resource-api + ${application.name} + mvn:org.onap.sdnc.northbound/${application.name}/${project.version}/xml/features + false + + + + + + org.onap.sdnc.northbound + ${application.name} + ${project.version} + xml + features + + + * + * + + + + + + org.onap.sdnc.northbound + generic-resource-api-provider + ${project.version} + + + + + + + + + maven-assembly-plugin + 2.6 + + + maven-repo-zip + + single + + package + + true + stage/${application.name}-${project.version} + + src/assembly/assemble_mvnrepo_zip.xml + + + + + installer-zip + + single + + package + + true + ${application.name}-${project.version}-installer + + src/assembly/assemble_installer_zip.xml + + false + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + + copy-dependencies + + prepare-package + + false + ${project.build.directory}/assembly/system + false + true + true + true + false + false + org.onap.sdnc.northbound + provided + + + + + + maven-resources-plugin + 2.6 + + + copy-version + + copy-resources + + validate + + ${basedir}/target/stage + + + src/main/resources/scripts + + install-feature.sh + + true + + + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_installer_zip.xml b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_installer_zip.xml new file mode 100644 index 00000000..13156fda --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_installer_zip.xml @@ -0,0 +1,56 @@ + + + + + + installer_zip + + zip + + + + false + + + + target/stage/ + ${application.name} + 755 + + *.sh + + + + target/stage/ + ${application.name} + 644 + + *.sh + + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_mvnrepo_zip.xml b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_mvnrepo_zip.xml new file mode 100644 index 00000000..6a74ae5d --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/assembly/assemble_mvnrepo_zip.xml @@ -0,0 +1,44 @@ + + + + + + repo + + zip + + + + false + + + + target/assembly/ + . + + + + + + + + ../model/target/generic-resource-api.properties + ./configuration/generic-resource-api.properties + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/installer/src/main/resources/scripts/install-feature.sh b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/main/resources/scripts/install-feature.sh new file mode 100644 index 00000000..d5f620f1 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/installer/src/main/resources/scripts/install-feature.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} +ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client} +INSTALLERDIR=$(dirname $0) + +REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip + +if [ -f ${REPOZIP} ] +then + unzip -d ${ODL_HOME} ${REPOZIP} +else + echo "ERROR : repo zip ($REPOZIP) not found" + exit 1 +fi + +${ODL_KARAF_CLIENT} feature:repo-add ${features.repositories} +${ODL_KARAF_CLIENT} feature:install ${features.boot} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/model/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/model/pom.xml new file mode 100644 index 00000000..e8cd4984 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/model/pom.xml @@ -0,0 +1,54 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + generic-resource-api-model + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + + org.opendaylight.mdsal.binding.model.ietf + rfc6991 + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + + python + + scripts/python/yang2props.py + src/main/yang/GENERIC-RESOURCE-API.yang + target/generic-resource-api.properties + + + generation + generate-resources + + exec + + + + + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/model/scripts/python/yang2props.py b/sdnc-a1-controller/northbound/generic-resource-api/model/scripts/python/yang2props.py new file mode 100755 index 00000000..559d31b8 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/model/scripts/python/yang2props.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +import re +import sys + + +# Convert word from foo-bar to FooBar +# words begining with a digit will be converted to _digit +def to_enum(s): + if s[0].isdigit(): + s = "_" + s + else: + s = s[0].upper() + s[1:] + return re.sub(r'(?!^)-([a-zA-Z])', lambda m: m.group(1).upper(), s) + +leaf = "" +val = "" +li = [] + +if len(sys.argv) < 3: + print 'yang2props.py ' + sys.exit(2) + +with open(sys.argv[1], "r") as ins: + for line in ins: + # if we see a leaf save the name for later + if "leaf " in line: + match = re.search(r'leaf (\S+)', line) + if match: + leaf = match.group(1) + + # if we see enum convert the value to enum format and see if it changed + # if the value is different write a property entry + if "enum " in line: + match = re.search(r'enum "(\S+)";', line) + if match: + val = match.group(1) + enum = to_enum(val) + + # see if converting to enum changed the string + if val != enum: + property = "yang."+leaf+"."+enum+"="+val + if property not in li: + li.append( property) + + +# Open output file +fo = open(sys.argv[2], "wb") +fo.write("# yang conversion properties \n") +fo.write("# used to convert Enum back to the original yang value \n") +fo.write("\n".join(li)) +fo.write("\n") + +# Close opend file +fo.close() + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/resources/generic-resource-api.20170824.json b/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/resources/generic-resource-api.20170824.json new file mode 100644 index 00000000..3a49b93a --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/resources/generic-resource-api.20170824.json @@ -0,0 +1,102510 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0.0" + }, + "basePath": "/restconf", + "paths": { + "/config": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)services", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)services-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-route-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)security-zone-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)tunnelxconn-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)brg-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-attachment-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)port-mirror-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configurations-TOP" + } + }, + { + "in": "body", + "name": "**(config)generic-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)generic-configurations-TOP" + } + }, + { + "in": "body", + "name": "**(config)preload-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)GENERIC-RESOURCE-API_modulePOST" + } + } + }, + "operationId": "POST-GENERIC-RESOURCE-API_module" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-allotted-resources" + } + } + }, + "operationId": "GET-brg-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)brg-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-brg-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)brg-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-brg-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-allotted-resource" + } + } + }, + "operationId": "GET-brg-allotted-resource" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-allotted-resourcePOST" + } + } + }, + "operationId": "POST-brg-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-brg-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-data" + } + } + }, + "operationId": "GET-allotted-resource-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)brg-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)brg-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-dataPOST" + } + } + }, + "operationId": "POST-allotted-resource-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-data" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-oper-status" + } + } + }, + "operationId": "GET-allotted-resource-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-information" + } + } + }, + "operationId": "GET-allotted-resource-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)brg-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-information" + } + } + }, + "operationId": "GET-allotted-resource-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/brg-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-request-input" + } + } + }, + "operationId": "GET-brg-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input-TOP" + } + } + }, + "operationId": "PUT-brg-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-parameters" + } + } + }, + "operationId": "GET-brg-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-parametersPOST" + } + } + }, + "operationId": "POST-brg-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters-TOP" + } + } + }, + "operationId": "PUT-brg-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-topology" + } + } + }, + "operationId": "GET-brg-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)brg-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)brg-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-topologyPOST" + } + } + }, + "operationId": "POST-brg-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology-TOP" + } + } + }, + "operationId": "PUT-brg-topology" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/allotted-resource-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-identifiers" + } + } + }, + "operationId": "GET-allotted-resource-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/brg-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-assignments" + } + } + }, + "operationId": "GET-brg-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments-TOP" + } + } + }, + "operationId": "PUT-brg-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/brg-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-brg-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-parameters" + } + } + }, + "operationId": "GET-brg-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)brg-parametersPOST" + } + } + }, + "operationId": "POST-brg-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)brg-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters-TOP" + } + } + }, + "operationId": "PUT-brg-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/brg-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/brg-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/brg-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-data/brg-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/allotted-resource-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-status" + } + } + }, + "operationId": "GET-allotted-resource-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-status" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-allotted-resources" + } + } + }, + "operationId": "GET-connection-attachment-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)connection-attachment-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-connection-attachment-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)connection-attachment-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-allotted-resource" + } + } + }, + "operationId": "GET-connection-attachment-allotted-resource" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-allotted-resourcePOST" + } + } + }, + "operationId": "POST-connection-attachment-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-data" + } + } + }, + "operationId": "GET-allotted-resource-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-attachment-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-attachment-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-dataPOST" + } + } + }, + "operationId": "POST-allotted-resource-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-data" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-oper-status" + } + } + }, + "operationId": "GET-allotted-resource-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-information" + } + } + }, + "operationId": "GET-allotted-resource-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-attachment-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-information" + } + } + }, + "operationId": "GET-allotted-resource-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-request-input" + } + } + }, + "operationId": "GET-connection-attachment-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-request-inputPOST" + } + } + }, + "operationId": "POST-connection-attachment-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-parameters" + } + } + }, + "operationId": "GET-connection-attachment-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-parametersPOST" + } + } + }, + "operationId": "POST-connection-attachment-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-topology" + } + } + }, + "operationId": "GET-connection-attachment-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)connection-attachment-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-attachment-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-topologyPOST" + } + } + }, + "operationId": "POST-connection-attachment-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-topology" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/allotted-resource-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-identifiers" + } + } + }, + "operationId": "GET-allotted-resource-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/connection-attachment-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-assignments" + } + } + }, + "operationId": "GET-connection-attachment-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-attachment-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-parameters" + } + } + }, + "operationId": "GET-connection-attachment-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-attachment-parametersPOST" + } + } + }, + "operationId": "POST-connection-attachment-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-attachment-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters-TOP" + } + } + }, + "operationId": "PUT-connection-attachment-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-data/connection-attachment-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/allotted-resource-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-status" + } + } + }, + "operationId": "GET-allotted-resource-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-status" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-allotted-resources" + } + } + }, + "operationId": "GET-contrail-route-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)contrail-route-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-contrail-route-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)contrail-route-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-contrail-route-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-allotted-resource" + } + } + }, + "operationId": "GET-contrail-route-allotted-resource" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-allotted-resourcePOST" + } + } + }, + "operationId": "POST-contrail-route-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-contrail-route-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-data" + } + } + }, + "operationId": "GET-allotted-resource-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-route-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-dataPOST" + } + } + }, + "operationId": "POST-allotted-resource-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-data" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-oper-status" + } + } + }, + "operationId": "GET-allotted-resource-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-information" + } + } + }, + "operationId": "GET-allotted-resource-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-route-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-information" + } + } + }, + "operationId": "GET-allotted-resource-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-request-input" + } + } + }, + "operationId": "GET-contrail-route-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)source-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network-TOP" + } + }, + { + "in": "body", + "name": "**(config)dest-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-applied-service-info", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-route-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-request-inputPOST" + } + } + }, + "operationId": "POST-contrail-route-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input-TOP" + } + } + }, + "operationId": "PUT-contrail-route-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-applied-service-info": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-applied-service-info" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-applied-service-info" + } + } + }, + "operationId": "GET-contrail-applied-service-info" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-applied-service-info", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info-TOP" + } + } + }, + "operationId": "PUT-contrail-applied-service-info" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-input-parameters" + } + } + }, + "operationId": "GET-contrail-route-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-input-parametersPOST" + } + } + }, + "operationId": "POST-contrail-route-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters-TOP" + } + } + }, + "operationId": "PUT-contrail-route-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/dest-network": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-dest-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-network" + } + } + }, + "operationId": "GET-dest-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)dest-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network-TOP" + } + } + }, + "operationId": "PUT-dest-network" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/source-network": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-network" + } + } + }, + "operationId": "GET-source-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network-TOP" + } + } + }, + "operationId": "PUT-source-network" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-topology" + } + } + }, + "operationId": "GET-contrail-route-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)contrail-route-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-route-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-topologyPOST" + } + } + }, + "operationId": "POST-contrail-route-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology-TOP" + } + } + }, + "operationId": "PUT-contrail-route-topology" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/allotted-resource-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-identifiers" + } + } + }, + "operationId": "GET-allotted-resource-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-assignments" + } + } + }, + "operationId": "GET-contrail-route-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)source-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network-TOP" + } + }, + { + "in": "body", + "name": "**(config)dest-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network-TOP" + } + }, + { + "in": "body", + "name": "**(config)contrail-applied-service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-assignmentsPOST" + } + } + }, + "operationId": "POST-contrail-route-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments-TOP" + } + } + }, + "operationId": "PUT-contrail-route-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-assignments/contrail-applied-service": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-applied-service" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-applied-service" + } + } + }, + "operationId": "GET-contrail-applied-service" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-applied-service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service-TOP" + } + } + }, + "operationId": "PUT-contrail-applied-service" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-assignments/dest-network": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-dest-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-network" + } + } + }, + "operationId": "GET-dest-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)dest-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network-TOP" + } + } + }, + "operationId": "PUT-dest-network" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-assignments/source-network": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-network" + } + } + }, + "operationId": "GET-source-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network-TOP" + } + } + }, + "operationId": "PUT-source-network" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-route-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-parameters" + } + } + }, + "operationId": "GET-contrail-route-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-route-parametersPOST" + } + } + }, + "operationId": "POST-contrail-route-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-route-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters-TOP" + } + } + }, + "operationId": "PUT-contrail-route-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-data/contrail-route-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/allotted-resource-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-status" + } + } + }, + "operationId": "GET-allotted-resource-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-status" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-generic-configurations" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)generic-configurations" + } + } + }, + "operationId": "GET-generic-configurations" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)gc-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)generic-configurationsPOST" + } + } + }, + "operationId": "POST-generic-configurations" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)generic-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)generic-configurations-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)generic-configurations-TOP" + } + } + }, + "operationId": "PUT-generic-configurations" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-gc-configuration" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)gc-configuration" + } + } + }, + "operationId": "GET-gc-configuration" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)configuration-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)gc-configurationPOST" + } + } + }, + "operationId": "POST-gc-configuration" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)gc-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration-TOP" + } + } + }, + "operationId": "PUT-gc-configuration" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-data" + } + } + }, + "operationId": "GET-configuration-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)configuration-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-dataPOST" + } + } + }, + "operationId": "POST-configuration-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data-TOP" + } + } + }, + "operationId": "PUT-configuration-data" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-oper-status" + } + } + }, + "operationId": "GET-configuration-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + }, + "operationId": "PUT-configuration-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-operation-information" + } + } + }, + "operationId": "GET-configuration-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)gc-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-operation-informationPOST" + } + } + }, + "operationId": "POST-configuration-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information-TOP" + } + } + }, + "operationId": "PUT-configuration-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/configuration-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-information" + } + } + }, + "operationId": "GET-configuration-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-informationPOST" + } + } + }, + "operationId": "POST-configuration-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + } + }, + "operationId": "PUT-configuration-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/configuration-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/gc-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-gc-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)gc-request-input" + } + } + }, + "operationId": "GET-gc-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)gc-request-inputPOST" + } + } + }, + "operationId": "POST-gc-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)gc-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input-TOP" + } + } + }, + "operationId": "PUT-gc-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/gc-request-input/input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)input-parameters" + } + } + }, + "operationId": "GET-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)input-parametersPOST" + } + } + }, + "operationId": "POST-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters-TOP" + } + } + }, + "operationId": "PUT-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-data/configuration-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:generic-configurations/gc-configuration/{configuration-id}/configuration-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-status" + } + } + }, + "operationId": "GET-configuration-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status-TOP" + } + } + }, + "operationId": "PUT-configuration-status" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configurations" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configurations" + } + } + }, + "operationId": "GET-port-mirror-configurations" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)port-mirror-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configurationsPOST" + } + } + }, + "operationId": "POST-port-mirror-configurations" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)port-mirror-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configurations-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configurations-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configurations" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration" + } + } + }, + "operationId": "GET-port-mirror-configuration" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)configuration-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configurationPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-data" + } + } + }, + "operationId": "GET-configuration-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)configuration-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)port-mirror-configuration-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-dataPOST" + } + } + }, + "operationId": "POST-configuration-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data-TOP" + } + } + }, + "operationId": "PUT-configuration-data" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-oper-status" + } + } + }, + "operationId": "GET-configuration-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status-TOP" + } + } + }, + "operationId": "PUT-configuration-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-operation-information" + } + } + }, + "operationId": "GET-configuration-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)port-mirror-configuration-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-operation-informationPOST" + } + } + }, + "operationId": "POST-configuration-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information-TOP" + } + } + }, + "operationId": "PUT-configuration-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/configuration-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-information" + } + } + }, + "operationId": "GET-configuration-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-informationPOST" + } + } + }, + "operationId": "POST-configuration-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP" + } + } + }, + "operationId": "PUT-configuration-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/configuration-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-request-input" + } + } + }, + "operationId": "GET-port-mirror-configuration-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)source-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port-TOP" + } + }, + { + "in": "body", + "name": "**(config)dest-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port-TOP" + } + }, + { + "in": "body", + "name": "**(config)port-mirror-configuration-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-request-inputPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-dest-port" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-port" + } + } + }, + "operationId": "GET-dest-port" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)pnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-portPOST" + } + } + }, + "operationId": "POST-dest-port" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)dest-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port-TOP" + } + } + }, + "operationId": "PUT-dest-port" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-pnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)pnf-information" + } + } + }, + "operationId": "GET-pnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)pnf-informationPOST" + } + } + }, + "operationId": "POST-pnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)pnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information-TOP" + } + } + }, + "operationId": "PUT-pnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-information" + } + } + }, + "operationId": "GET-vnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-informationPOST" + } + } + }, + "operationId": "POST-vnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information-TOP" + } + } + }, + "operationId": "PUT-vnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-input-parameters" + } + } + }, + "operationId": "GET-port-mirror-configuration-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-input-parametersPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-port" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-port" + } + } + }, + "operationId": "GET-source-port" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)pnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-portPOST" + } + } + }, + "operationId": "POST-source-port" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port-TOP" + } + } + }, + "operationId": "PUT-source-port" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-pnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)pnf-information" + } + } + }, + "operationId": "GET-pnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)pnf-informationPOST" + } + } + }, + "operationId": "POST-pnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)pnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information-TOP" + } + } + }, + "operationId": "PUT-pnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-information" + } + } + }, + "operationId": "GET-vnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-informationPOST" + } + } + }, + "operationId": "POST-vnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information-TOP" + } + } + }, + "operationId": "PUT-vnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/configuration-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-topology" + } + } + }, + "operationId": "GET-port-mirror-configuration-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)port-mirror-configuration-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)configuration-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)port-mirror-configuration-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-topologyPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration-topology" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/configuration-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-identifiers" + } + } + }, + "operationId": "GET-configuration-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers-TOP" + } + } + }, + "operationId": "PUT-configuration-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-assignments" + } + } + }, + "operationId": "GET-port-mirror-configuration-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)contrail-vmi-params", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params-TOP" + } + }, + { + "in": "body", + "name": "**(config)source-vnfc-instance-group-id", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id-TOP" + } + }, + { + "in": "body", + "name": "**(config)dest-vnfc-instance-group-id", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id-TOP" + } + }, + { + "in": "body", + "name": "**(config)source-to-dest-maps", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-assignmentsPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-contrail-vmi-params" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-vmi-params" + } + } + }, + "operationId": "GET-contrail-vmi-params" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)contrail-vmi-paramsPOST" + } + } + }, + "operationId": "POST-contrail-vmi-params" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)contrail-vmi-params", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params-TOP" + } + } + }, + "operationId": "PUT-contrail-vmi-params" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/dest-vnfc-instance-group-id": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-dest-vnfc-instance-group-id" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-vnfc-instance-group-id" + } + } + }, + "operationId": "GET-dest-vnfc-instance-group-id" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)dest-vnfc-instance-group-id", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id-TOP" + } + } + }, + "operationId": "PUT-dest-vnfc-instance-group-id" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-to-dest-maps" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-to-dest-maps" + } + } + }, + "operationId": "GET-source-to-dest-maps" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)source-to-dest-map", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-to-dest-mapsPOST" + } + } + }, + "operationId": "POST-source-to-dest-maps" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-to-dest-maps", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps-TOP" + } + } + }, + "operationId": "PUT-source-to-dest-maps" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/{source-port-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-to-dest-map" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-to-dest-map" + } + } + }, + "operationId": "GET-source-to-dest-map" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)dest-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-to-dest-mapPOST" + } + } + }, + "operationId": "POST-source-to-dest-map" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-to-dest-map", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map-TOP" + } + } + }, + "operationId": "PUT-source-to-dest-map" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/{source-port-id}/dest-ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-dest-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-ip-addresses" + } + } + }, + "operationId": "GET-dest-ip-addresses" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)dest-ip-addressesPOST" + } + } + }, + "operationId": "POST-dest-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)dest-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses-TOP" + } + } + }, + "operationId": "PUT-dest-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/{source-port-id}/dest-ip-addresses/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "source-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-vnfc-instance-group-id": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-source-vnfc-instance-group-id" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)source-vnfc-instance-group-id" + } + } + }, + "operationId": "GET-source-vnfc-instance-group-id" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)source-vnfc-instance-group-id", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id-TOP" + } + } + }, + "operationId": "PUT-source-vnfc-instance-group-id" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-port-mirror-configuration-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-parameters" + } + } + }, + "operationId": "GET-port-mirror-configuration-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)port-mirror-configuration-parametersPOST" + } + } + }, + "operationId": "POST-port-mirror-configuration-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)port-mirror-configuration-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters-TOP" + } + } + }, + "operationId": "PUT-port-mirror-configuration-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/configuration-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-configuration-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)configuration-status" + } + } + }, + "operationId": "GET-configuration-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)configuration-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status-TOP" + } + } + }, + "operationId": "PUT-configuration-status" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-information" + } + } + }, + "operationId": "GET-preload-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)preload-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-informationPOST" + } + } + }, + "operationId": "POST-preload-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)preload-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-information-TOP" + } + } + }, + "operationId": "PUT-preload-information" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-list" + } + } + }, + "operationId": "GET-preload-list" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)preload-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-listPOST" + } + } + }, + "operationId": "POST-preload-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)preload-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list-TOP" + } + } + }, + "operationId": "PUT-preload-list" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-data" + } + } + }, + "operationId": "GET-preload-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)preload-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)preload-network-topology-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)preload-vf-module-topology-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-dataPOST" + } + } + }, + "operationId": "POST-preload-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)preload-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data-TOP" + } + } + }, + "operationId": "PUT-preload-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-network-topology-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-network-topology-information" + } + } + }, + "operationId": "GET-preload-network-topology-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)route-table-reference", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy-TOP" + } + }, + { + "in": "body", + "name": "**(config)vpn-bindings", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings-TOP" + } + }, + { + "in": "body", + "name": "**(config)host-routes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure-TOP" + } + }, + { + "in": "body", + "name": "**(config)subnets", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-network-topology-informationPOST" + } + } + }, + "operationId": "POST-preload-network-topology-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)preload-network-topology-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information-TOP" + } + } + }, + "operationId": "PUT-preload-network-topology-information" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/host-routes/{route-prefix}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-prefix", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-host-routes" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-prefix", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)host-routes" + } + } + }, + "operationId": "GET-host-routes" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-prefix", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)host-routes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes-TOP" + } + } + }, + "operationId": "PUT-host-routes" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/network-policy/{network-policy-fqdn}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-policy-fqdn", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-policy" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-policy-fqdn", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-policy" + } + } + }, + "operationId": "GET-network-policy" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-policy-fqdn", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy-TOP" + } + } + }, + "operationId": "PUT-network-policy" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/network-topology-identifier-structure": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-topology-identifier-structure" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topology-identifier-structure" + } + } + }, + "operationId": "GET-network-topology-identifier-structure" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topology-identifier-structurePOST" + } + } + }, + "operationId": "POST-network-topology-identifier-structure" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure-TOP" + } + } + }, + "operationId": "PUT-network-topology-identifier-structure" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/route-table-reference/{route-table-reference-fqdn}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-table-reference-fqdn", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-route-table-reference" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-table-reference-fqdn", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)route-table-reference" + } + } + }, + "operationId": "GET-route-table-reference" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "route-table-reference-fqdn", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)route-table-reference", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference-TOP" + } + } + }, + "operationId": "PUT-route-table-reference" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/subnets/{start-address}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnets" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets" + } + } + }, + "operationId": "GET-subnets" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnets", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets-TOP" + } + } + }, + "operationId": "PUT-subnets" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-network-topology-information/vpn-bindings/{vpn-binding-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vpn-bindings" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vpn-bindings" + } + } + }, + "operationId": "GET-vpn-bindings" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vpn-bindings", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings-TOP" + } + } + }, + "operationId": "PUT-vpn-bindings" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-oper-status" + } + } + }, + "operationId": "GET-preload-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)preload-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status-TOP" + } + } + }, + "operationId": "PUT-preload-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-preload-vf-module-topology-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-vf-module-topology-information" + } + } + }, + "operationId": "GET-preload-vf-module-topology-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-resource-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)preload-vf-module-topology-informationPOST" + } + } + }, + "operationId": "POST-preload-vf-module-topology-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)preload-vf-module-topology-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information-TOP" + } + } + }, + "operationId": "PUT-preload-vf-module-topology-information" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topology" + } + } + }, + "operationId": "GET-vf-module-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topologyPOST" + } + } + }, + "operationId": "POST-vf-module-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology-TOP" + } + } + }, + "operationId": "PUT-vf-module-topology" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-assignments" + } + } + }, + "operationId": "GET-vf-module-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vms", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + }, + { + "in": "body", + "name": "**(config)vlan-vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-assignmentsPOST" + } + } + }, + "operationId": "POST-vf-module-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments-TOP" + } + } + }, + "operationId": "PUT-vf-module-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnfc-instance-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groups" + } + } + }, + "operationId": "GET-vlan-vnfc-instance-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groupsPOST" + } + } + }, + "operationId": "POST-vlan-vnfc-instance-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + }, + "operationId": "PUT-vlan-vnfc-instance-groups" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnfc-instance-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-group" + } + } + }, + "operationId": "GET-vlan-vnfc-instance-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groupPOST" + } + } + }, + "operationId": "POST-vlan-vnfc-instance-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + }, + "operationId": "PUT-vlan-vnfc-instance-group" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfcs" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcs" + } + } + }, + "operationId": "GET-vnfcs" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcsPOST" + } + } + }, + "operationId": "POST-vnfcs" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + }, + "operationId": "PUT-vnfcs" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc" + } + } + }, + "operationId": "GET-vnfc" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcPOST" + } + } + }, + "operationId": "POST-vnfc" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + }, + "operationId": "PUT-vnfc" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groups" + } + } + }, + "operationId": "GET-vnic-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groupsPOST" + } + } + }, + "operationId": "POST-vnic-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + }, + "operationId": "PUT-vnic-groups" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-group" + } + } + }, + "operationId": "GET-vnic-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-common-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + }, + { + "in": "body", + "name": "**(config)vlan-vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groupPOST" + } + } + }, + "operationId": "POST-vnic-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + }, + "operationId": "PUT-vnic-group" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-common-ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-common-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-common-ip-addresses" + } + } + }, + "operationId": "GET-vlan-common-ip-addresses" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-common-ip-addressesPOST" + } + } + }, + "operationId": "POST-vlan-common-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-common-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + } + }, + "operationId": "PUT-vlan-common-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-common-ip-addresses/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnics" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnics" + } + } + }, + "operationId": "GET-vlan-vnics" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnicsPOST" + } + } + }, + "operationId": "POST-vlan-vnics" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + }, + "operationId": "PUT-vlan-vnics" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnic" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnic" + } + } + }, + "operationId": "GET-vlan-vnic" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnicPOST" + } + } + }, + "operationId": "POST-vlan-vnic" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + }, + "operationId": "PUT-vlan-vnic" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-sub-interfaces" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfaces" + } + } + }, + "operationId": "GET-vnic-sub-interfaces" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfacesPOST" + } + } + }, + "operationId": "POST-vnic-sub-interfaces" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + }, + "operationId": "PUT-vnic-sub-interfaces" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-data" + } + } + }, + "operationId": "GET-sub-interface-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-dataPOST" + } + } + }, + "operationId": "POST-sub-interface-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + }, + "operationId": "PUT-sub-interface-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vms" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vms" + } + } + }, + "operationId": "GET-vms" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vmsPOST" + } + } + }, + "operationId": "POST-vms" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vms", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + } + }, + "operationId": "PUT-vms" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm" + } + } + }, + "operationId": "GET-vm" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + }, + { + "in": "body", + "name": "**(config)vm-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vmPOST" + } + } + }, + "operationId": "POST-vm" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + }, + "operationId": "PUT-vm" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-names" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-names" + } + } + }, + "operationId": "GET-vm-names" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-namesPOST" + } + } + }, + "operationId": "POST-vm-names" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + } + }, + "operationId": "PUT-vm-names" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-names" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-names" + } + } + }, + "operationId": "GET-vnfc-names" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-namesPOST" + } + } + }, + "operationId": "POST-vnfc-names" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + }, + "operationId": "PUT-vnfc-names" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-networks" + } + } + }, + "operationId": "GET-vnfc-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-networksPOST" + } + } + }, + "operationId": "POST-vnfc-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + }, + "operationId": "PUT-vnfc-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-network-data" + } + } + }, + "operationId": "GET-vnfc-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-ports", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnfc-subnet", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-point", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-network-dataPOST" + } + } + }, + "operationId": "POST-vnfc-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + }, + "operationId": "PUT-vnfc-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/connection-point": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-point" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-point" + } + } + }, + "operationId": "GET-connection-point" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-pointPOST" + } + } + }, + "operationId": "POST-connection-point" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-point", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + }, + "operationId": "PUT-connection-point" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/connection-point/vlan-data/{vlan-uuid}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-data" + } + } + }, + "operationId": "GET-vlan-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + }, + "operationId": "PUT-vlan-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-ports" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ports" + } + } + }, + "operationId": "GET-vnfc-ports" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-portsPOST" + } + } + }, + "operationId": "POST-vnfc-ports" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-ports", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + } + }, + "operationId": "PUT-vnfc-ports" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-port" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-port" + } + } + }, + "operationId": "GET-vnfc-port" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-portPOST" + } + } + }, + "operationId": "POST-vnfc-port" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + }, + "operationId": "PUT-vnfc-port" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-sub-interfaces" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfaces" + } + } + }, + "operationId": "GET-vnic-sub-interfaces" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfacesPOST" + } + } + }, + "operationId": "POST-vnic-sub-interfaces" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + }, + "operationId": "PUT-vnic-sub-interfaces" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-data" + } + } + }, + "operationId": "GET-sub-interface-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-dataPOST" + } + } + }, + "operationId": "POST-sub-interface-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + }, + "operationId": "PUT-sub-interface-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-subnet" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnet" + } + } + }, + "operationId": "GET-vnfc-subnet" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-ip-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnetPOST" + } + } + }, + "operationId": "POST-vnfc-subnet" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-subnet", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + } + }, + "operationId": "PUT-vnfc-subnet" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}/vnfc-ip-assignments/{vnfc-address-family}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-ip-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ip-assignments" + } + } + }, + "operationId": "GET-vnfc-ip-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-subnet-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ip-assignmentsPOST" + } + } + }, + "operationId": "POST-vnfc-ip-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-ip-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + }, + "operationId": "PUT-vnfc-ip-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}/vnfc-ip-assignments/{vnfc-address-family}/vnfc-subnet-ip/{vnfc-ip-address}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-subnet-ip" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnet-ip" + } + } + }, + "operationId": "GET-vnfc-subnet-ip" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-subnet-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + }, + "operationId": "PUT-vnfc-subnet-ip" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networks" + } + } + }, + "operationId": "GET-vm-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networksPOST" + } + } + }, + "operationId": "POST-vm-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + } + }, + "operationId": "PUT-vm-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-network" + } + } + }, + "operationId": "GET-vm-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)mac-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + }, + { + "in": "body", + "name": "**(config)interface-route-prefixes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + }, + { + "in": "body", + "name": "**(config)sriov-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networkPOST" + } + } + }, + "operationId": "POST-vm-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + }, + "operationId": "PUT-vm-network" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/interface-route-prefixes": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-interface-route-prefixes" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)interface-route-prefixes" + } + } + }, + "operationId": "GET-interface-route-prefixes" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)interface-route-prefixes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + } + }, + "operationId": "PUT-interface-route-prefixes" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/mac-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-mac-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)mac-addresses" + } + } + }, + "operationId": "GET-mac-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)mac-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + } + }, + "operationId": "PUT-mac-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sriov-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sriov-parameters" + } + } + }, + "operationId": "GET-sriov-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)heat-vlan-filters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + }, + { + "in": "body", + "name": "**(config)application-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sriov-parametersPOST" + } + } + }, + "operationId": "POST-sriov-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sriov-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + } + }, + "operationId": "PUT-sriov-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-application-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)application-tags" + } + } + }, + "operationId": "GET-application-tags" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)c-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + }, + { + "in": "body", + "name": "**(config)s-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)application-tagsPOST" + } + } + }, + "operationId": "POST-application-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)application-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + }, + "operationId": "PUT-application-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags/c-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-c-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)c-tags" + } + } + }, + "operationId": "GET-c-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)c-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + } + }, + "operationId": "PUT-c-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags/s-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-s-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)s-tags" + } + } + }, + "operationId": "GET-s-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)s-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + }, + "operationId": "PUT-s-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/heat-vlan-filters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-heat-vlan-filters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)heat-vlan-filters" + } + } + }, + "operationId": "GET-heat-vlan-filters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)heat-vlan-filters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + } + }, + "operationId": "PUT-heat-vlan-filters" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-parameters" + } + } + }, + "operationId": "GET-vf-module-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-parametersPOST" + } + } + }, + "operationId": "POST-vf-module-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters-TOP" + } + } + }, + "operationId": "PUT-vf-module-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-topology-identifier": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-topology-identifier" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topology-identifier" + } + } + }, + "operationId": "GET-vf-module-topology-identifier" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + } + }, + "operationId": "PUT-vf-module-topology-identifier" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-resource-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-resource-assignments" + } + } + }, + "operationId": "GET-vnf-resource-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)availability-zones", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-resource-assignmentsPOST" + } + } + }, + "operationId": "POST-vnf-resource-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-resource-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments-TOP" + } + } + }, + "operationId": "PUT-vnf-resource-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/availability-zones": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-availability-zones" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)availability-zones" + } + } + }, + "operationId": "GET-availability-zones" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)availability-zones", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones-TOP" + } + } + }, + "operationId": "PUT-availability-zones" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networks" + } + } + }, + "operationId": "GET-vnf-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networksPOST" + } + } + }, + "operationId": "POST-vnf-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + }, + "operationId": "PUT-vnf-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network" + } + } + }, + "operationId": "GET-vnf-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networkPOST" + } + } + }, + "operationId": "POST-vnf-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + }, + "operationId": "PUT-vnf-network" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/subnets-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnets-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-data" + } + } + }, + "operationId": "GET-subnets-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-dataPOST" + } + } + }, + "operationId": "POST-subnets-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + }, + "operationId": "PUT-subnets-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/subnets-data/subnet-data/{sdnc-subnet-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnet-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnet-data" + } + } + }, + "operationId": "GET-subnet-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + }, + "operationId": "PUT-subnet-data" + } + }, + "/config/GENERIC-RESOURCE-API:preload-information/preload-list/{preload-id}/{preload-type}/preload-data/preload-vf-module-topology-information/vnf-topology-identifier-structure": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-topology-identifier-structure" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-topology-identifier-structure" + } + } + }, + "operationId": "GET-vnf-topology-identifier-structure" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "vf-module-name or network name", + "in": "path", + "name": "preload-id", + "required": true, + "type": "string" + }, + { + "description": "network or vf-module", + "in": "path", + "name": "preload-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure-TOP" + } + } + }, + "operationId": "PUT-vnf-topology-identifier-structure" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-allotted-resources" + } + } + }, + "operationId": "GET-security-zone-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)security-zone-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-security-zone-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)security-zone-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-security-zone-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-allotted-resource" + } + } + }, + "operationId": "GET-security-zone-allotted-resource" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-allotted-resourcePOST" + } + } + }, + "operationId": "POST-security-zone-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-security-zone-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-data" + } + } + }, + "operationId": "GET-allotted-resource-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)security-zone-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)security-zone-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-dataPOST" + } + } + }, + "operationId": "POST-allotted-resource-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-data" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-oper-status" + } + } + }, + "operationId": "GET-allotted-resource-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-information" + } + } + }, + "operationId": "GET-allotted-resource-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)security-zone-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-information" + } + } + }, + "operationId": "GET-allotted-resource-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-request-input" + } + } + }, + "operationId": "GET-security-zone-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)security-zone-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-request-inputPOST" + } + } + }, + "operationId": "POST-security-zone-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input-TOP" + } + } + }, + "operationId": "PUT-security-zone-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-input-parameters" + } + } + }, + "operationId": "GET-security-zone-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-input-parametersPOST" + } + } + }, + "operationId": "POST-security-zone-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters-TOP" + } + } + }, + "operationId": "PUT-security-zone-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-parameters" + } + } + }, + "operationId": "GET-security-zone-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-parametersPOST" + } + } + }, + "operationId": "POST-security-zone-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters-TOP" + } + } + }, + "operationId": "PUT-security-zone-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-topology" + } + } + }, + "operationId": "GET-security-zone-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)security-zone-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)security-zone-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-topologyPOST" + } + } + }, + "operationId": "POST-security-zone-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology-TOP" + } + } + }, + "operationId": "PUT-security-zone-topology" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/allotted-resource-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-identifiers" + } + } + }, + "operationId": "GET-allotted-resource-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/security-zone-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-assignments" + } + } + }, + "operationId": "GET-security-zone-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments-TOP" + } + } + }, + "operationId": "PUT-security-zone-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/security-zone-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-security-zone-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-parameters" + } + } + }, + "operationId": "GET-security-zone-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)security-zone-parametersPOST" + } + } + }, + "operationId": "POST-security-zone-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)security-zone-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters-TOP" + } + } + }, + "operationId": "PUT-security-zone-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/security-zone-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/security-zone-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-data/security-zone-topology/security-zone-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/allotted-resource-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-status" + } + } + }, + "operationId": "GET-allotted-resource-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-status" + } + }, + "/config/GENERIC-RESOURCE-API:services": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-services" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)services" + } + } + }, + "operationId": "GET-services" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)servicesPOST" + } + } + }, + "operationId": "POST-services" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)services", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)services-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)services-TOP" + } + } + }, + "operationId": "PUT-services" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service" + } + } + }, + "operationId": "GET-service" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)servicePOST" + } + } + }, + "operationId": "POST-service" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service-TOP" + } + } + }, + "operationId": "PUT-service" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-data" + } + } + }, + "operationId": "GET-service-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnfs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs-TOP" + } + }, + { + "in": "body", + "name": "**(config)consumed-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)provided-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups-TOP" + } + }, + { + "in": "body", + "name": "**(config)forwarding-paths", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-dataPOST" + } + } + }, + "operationId": "POST-service-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data-TOP" + } + } + }, + "operationId": "PUT-service-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/consumed-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-consumed-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)consumed-allotted-resources" + } + } + }, + "operationId": "GET-consumed-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)consumed-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)consumed-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-consumed-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)consumed-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-consumed-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/consumed-allotted-resources/consumed-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-consumed-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)consumed-allotted-resource" + } + } + }, + "operationId": "GET-consumed-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)consumed-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-consumed-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-forwarding-paths" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)forwarding-paths" + } + } + }, + "operationId": "GET-forwarding-paths" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)forwarding-path", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)forwarding-pathsPOST" + } + } + }, + "operationId": "POST-forwarding-paths" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)forwarding-paths", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths-TOP" + } + } + }, + "operationId": "PUT-forwarding-paths" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-forwarding-path" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)forwarding-path" + } + } + }, + "operationId": "GET-forwarding-path" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-paths", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)forwarding-pathPOST" + } + } + }, + "operationId": "POST-forwarding-path" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)forwarding-path", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path-TOP" + } + } + }, + "operationId": "PUT-forwarding-path" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-paths" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-paths" + } + } + }, + "operationId": "GET-service-paths" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-path", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-pathsPOST" + } + } + }, + "operationId": "POST-service-paths" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-paths", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths-TOP" + } + } + }, + "operationId": "PUT-service-paths" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths/service-path/{service-path-instance-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-path" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-path" + } + } + }, + "operationId": "GET-service-path" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-pathPOST" + } + } + }, + "operationId": "POST-service-path" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-path", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path-TOP" + } + } + }, + "operationId": "PUT-service-path" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths/service-path/{service-path-instance-id}/service/{service-instance-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service" + } + } + }, + "operationId": "GET-service" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)servicePOST" + } + } + }, + "operationId": "POST-service" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service-TOP" + } + } + }, + "operationId": "PUT-service" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths/service-path/{service-path-instance-id}/service/{service-instance-id}/vnfs": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfs" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfs" + } + } + }, + "operationId": "GET-vnfs" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfsPOST" + } + } + }, + "operationId": "POST-vnfs" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs-TOP" + } + } + }, + "operationId": "PUT-vnfs" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths/service-path/{service-path-instance-id}/service/{service-instance-id}/vnfs/vnf/{vnf-instance-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf" + } + } + }, + "operationId": "GET-vnf" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-instance", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfPOST" + } + } + }, + "operationId": "POST-vnf" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf-TOP" + } + } + }, + "operationId": "PUT-vnf" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/forwarding-paths/forwarding-path/{forwarding-path-id}/service-paths/service-path/{service-path-instance-id}/service/{service-instance-id}/vnfs/vnf/{vnf-instance-id}/vf-module-instance": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-instance" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-instance" + } + } + }, + "operationId": "GET-vf-module-instance" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Generated by SDNC", + "in": "path", + "name": "forwarding-path-id", + "required": true, + "type": "string" + }, + { + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition", + "in": "path", + "name": "service-path-instance-id", + "required": true, + "type": "string" + }, + { + "description": "service-instance-id of each service-instance in the service-path-instance", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "VNF instance ID in the path", + "in": "path", + "name": "vnf-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-instance", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance-TOP" + } + } + }, + "operationId": "PUT-vf-module-instance" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-instance-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-instance-groups" + } + } + }, + "operationId": "GET-network-instance-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-instance-groupsPOST" + } + } + }, + "operationId": "POST-network-instance-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups-TOP" + } + } + }, + "operationId": "PUT-network-instance-groups" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-instance-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-instance-group" + } + } + }, + "operationId": "GET-network-instance-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnet-assignment-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy-TOP" + } + }, + { + "in": "body", + "name": "**(config)vpn-binding-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy-TOP" + } + }, + { + "in": "body", + "name": "**(config)networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)subnets", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-instance-groupPOST" + } + } + }, + "operationId": "POST-network-instance-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group-TOP" + } + } + }, + "operationId": "PUT-network-instance-group" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networks" + } + } + }, + "operationId": "GET-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networksPOST" + } + } + }, + "operationId": "POST-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks-TOP" + } + } + }, + "operationId": "PUT-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/networks/network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network" + } + } + }, + "operationId": "GET-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)customer-bonding-requests", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests-TOP" + } + }, + { + "in": "body", + "name": "**(config)vpn-bindings", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networkPOST" + } + } + }, + "operationId": "POST-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network-TOP" + } + } + }, + "operationId": "PUT-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/networks/network/{network-id}/customer-bonding-requests": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-customer-bonding-requests" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-requests" + } + } + }, + "operationId": "GET-customer-bonding-requests" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)customer-bonding-request", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-requestsPOST" + } + } + }, + "operationId": "POST-customer-bonding-requests" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)customer-bonding-requests", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests-TOP" + } + } + }, + "operationId": "PUT-customer-bonding-requests" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/networks/network/{network-id}/customer-bonding-requests/customer-bonding-request/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-customer-bonding-request" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-request" + } + } + }, + "operationId": "GET-customer-bonding-request" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)customer-bonding-request", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + }, + "operationId": "PUT-customer-bonding-request" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/networks/network/{network-id}/vpn-bindings/{vpn-binding-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vpn-bindings" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vpn-bindings" + } + } + }, + "operationId": "GET-vpn-bindings" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "description": "Index into network-topology-identifier structure", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vpn-binding-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vpn-bindings", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings-TOP" + } + } + }, + "operationId": "PUT-vpn-bindings" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/subnet-assignment-policy": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnet-assignment-policy" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnet-assignment-policy" + } + } + }, + "operationId": "GET-subnet-assignment-policy" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnet-assignment-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy-TOP" + } + } + }, + "operationId": "PUT-subnet-assignment-policy" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/subnets/{start-address}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnets" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets" + } + } + }, + "operationId": "GET-subnets" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "start-address", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnets", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets-TOP" + } + } + }, + "operationId": "PUT-subnets" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/network-instance-groups/network-instance-group/{network-instance-group-id}/vpn-binding-policy": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vpn-binding-policy" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vpn-binding-policy" + } + } + }, + "operationId": "GET-vpn-binding-policy" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "Also a Key in Network Instance Group in A&AI", + "in": "path", + "name": "network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vpn-binding-policy", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy-TOP" + } + } + }, + "operationId": "PUT-vpn-binding-policy" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networks" + } + } + }, + "operationId": "GET-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks(config)network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networksPOST" + } + } + }, + "operationId": "POST-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks-TOP" + } + } + }, + "operationId": "PUT-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network" + } + } + }, + "operationId": "GET-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)networkPOST" + } + } + }, + "operationId": "POST-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks(config)network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks(config)network-TOP" + } + } + }, + "operationId": "PUT-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-data" + } + } + }, + "operationId": "GET-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-dataPOST" + } + } + }, + "operationId": "POST-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data-TOP" + } + } + }, + "operationId": "PUT-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information" + } + } + }, + "operationId": "GET-network-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-informationPOST" + } + } + }, + "operationId": "POST-network-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information-TOP" + } + } + }, + "operationId": "PUT-network-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-level-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-level-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-level-oper-status" + } + } + }, + "operationId": "GET-network-level-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status-TOP" + } + } + }, + "operationId": "PUT-network-level-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-provided-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-provided-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-provided-allotted-resources" + } + } + }, + "operationId": "GET-network-provided-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-network-provided-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-request-input" + } + } + }, + "operationId": "GET-network-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-request-inputPOST" + } + } + }, + "operationId": "POST-network-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input-TOP" + } + } + }, + "operationId": "PUT-network-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-request-input/network-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-input-parameters" + } + } + }, + "operationId": "GET-network-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-input-parametersPOST" + } + } + }, + "operationId": "POST-network-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters-TOP" + } + } + }, + "operationId": "PUT-network-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-request-input/network-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-request-input/network-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-request-input/network-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topology" + } + } + }, + "operationId": "GET-network-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)network-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topologyPOST" + } + } + }, + "operationId": "POST-network-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology-TOP" + } + } + }, + "operationId": "PUT-network-topology" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-assignments" + } + } + }, + "operationId": "GET-network-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments-TOP" + } + } + }, + "operationId": "PUT-network-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-parameters" + } + } + }, + "operationId": "GET-network-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-parameter", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-parametersPOST" + } + } + }, + "operationId": "POST-network-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters-TOP" + } + } + }, + "operationId": "PUT-network-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-parameters/network-parameter/{network-parameter-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-parameter-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-parameter" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-parameter-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-parameter" + } + } + }, + "operationId": "GET-network-parameter" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-parameter-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-parameter", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter-TOP" + } + } + }, + "operationId": "PUT-network-parameter" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-topology-identifier-structure": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-topology-identifier-structure" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topology-identifier-structure" + } + } + }, + "operationId": "GET-network-topology-identifier-structure" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-topology-identifier-structurePOST" + } + } + }, + "operationId": "POST-network-topology-identifier-structure" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure-TOP" + } + } + }, + "operationId": "PUT-network-topology-identifier-structure" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-topology-identifier-structure/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/provided-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-provided-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-allotted-resources" + } + } + }, + "operationId": "GET-provided-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)provided-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-provided-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-provided-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/provided-allotted-resources/provided-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-provided-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-allotted-resource" + } + } + }, + "operationId": "GET-provided-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)provided-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-provided-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/provided-configurations": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-provided-configurations" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-configurations" + } + } + }, + "operationId": "GET-provided-configurations" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)provided-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-configurationsPOST" + } + } + }, + "operationId": "POST-provided-configurations" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)provided-configurations", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations-TOP" + } + } + }, + "operationId": "PUT-provided-configurations" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/provided-configurations/provided-configuration/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-provided-configuration" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)provided-configuration" + } + } + }, + "operationId": "GET-provided-configuration" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)provided-configuration", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration-TOP" + } + } + }, + "operationId": "PUT-provided-configuration" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-level-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-level-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-level-oper-status" + } + } + }, + "operationId": "GET-service-level-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status-TOP" + } + } + }, + "operationId": "PUT-service-level-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-request-input" + } + } + }, + "operationId": "GET-service-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-request-inputPOST" + } + } + }, + "operationId": "POST-service-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input-TOP" + } + } + }, + "operationId": "PUT-service-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-request-input/service-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-input-parameters" + } + } + }, + "operationId": "GET-service-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-input-parametersPOST" + } + } + }, + "operationId": "POST-service-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters-TOP" + } + } + }, + "operationId": "PUT-service-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-request-input/service-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-request-input/service-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-request-input/service-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-topology" + } + } + }, + "operationId": "GET-service-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-topologyPOST" + } + } + }, + "operationId": "POST-service-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology-TOP" + } + } + }, + "operationId": "PUT-service-topology" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology/service-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-assignments" + } + } + }, + "operationId": "GET-service-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments-TOP" + } + } + }, + "operationId": "PUT-service-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology/service-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-parameters" + } + } + }, + "operationId": "GET-service-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)service-parameter", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-parametersPOST" + } + } + }, + "operationId": "POST-service-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters-TOP" + } + } + }, + "operationId": "PUT-service-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology/service-parameters/service-parameter/{service-parameter-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "service-parameter-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-parameter" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "service-parameter-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-parameter" + } + } + }, + "operationId": "GET-service-parameter" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "service-parameter-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-parameter", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter-TOP" + } + } + }, + "operationId": "PUT-service-parameter" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/service-topology/service-topology-identifier": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-topology-identifier" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-topology-identifier" + } + } + }, + "operationId": "GET-service-topology-identifier" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier-TOP" + } + } + }, + "operationId": "PUT-service-topology-identifier" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-instance-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-instance-groups" + } + } + }, + "operationId": "GET-vnfc-instance-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-instance-groupsPOST" + } + } + }, + "operationId": "POST-vnfc-instance-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups-TOP" + } + } + }, + "operationId": "PUT-vnfc-instance-groups" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-instance-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-instance-group" + } + } + }, + "operationId": "GET-vnfc-instance-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-objects", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-instance-groupPOST" + } + } + }, + "operationId": "POST-vnfc-instance-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group-TOP" + } + } + }, + "operationId": "PUT-vnfc-instance-group" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-objects" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-objects" + } + } + }, + "operationId": "GET-vnfc-objects" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-object", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-objectsPOST" + } + } + }, + "operationId": "POST-vnfc-objects" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-objects", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects-TOP" + } + } + }, + "operationId": "PUT-vnfc-objects" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-object" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-object" + } + } + }, + "operationId": "GET-vnfc-object" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-objectPOST" + } + } + }, + "operationId": "POST-vnfc-object" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-object", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object-TOP" + } + } + }, + "operationId": "PUT-vnfc-object" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}/vnics": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnics" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnics" + } + } + }, + "operationId": "GET-vnics" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnicsPOST" + } + } + }, + "operationId": "POST-vnics" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics-TOP" + } + } + }, + "operationId": "PUT-vnics" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}/vnics/vnic/{vnic-port-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic" + } + } + }, + "operationId": "GET-vnic" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)capacity", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnic-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnicPOST" + } + } + }, + "operationId": "POST-vnic" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic-TOP" + } + } + }, + "operationId": "PUT-vnic" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}/vnics/vnic/{vnic-port-name}/capacity": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-capacity" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)capacity" + } + } + }, + "operationId": "GET-capacity" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)capacity", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity-TOP" + } + } + }, + "operationId": "PUT-capacity" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}/vnics/vnic/{vnic-port-name}/vnic-ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-ip-addresses" + } + } + }, + "operationId": "GET-vnic-ip-addresses" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-ip-addressesPOST" + } + } + }, + "operationId": "POST-vnic-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses-TOP" + } + } + }, + "operationId": "PUT-vnic-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfc-instance-groups/vnfc-instance-group/{instance-group-role}/{nfc-naming-code}/{configuration-id}/vnfc-objects/vnfc-object/{vnfc-key}/vnics/vnic/{vnic-port-name}/vnic-ip-addresses/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "description": "i.e.TSBC_VNFC_group", + "in": "path", + "name": "instance-group-role", + "required": true, + "type": "string" + }, + { + "description": "Set to nfc-naming-code from A&AI", + "in": "path", + "name": "nfc-naming-code", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-key", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfs" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfs" + } + } + }, + "operationId": "GET-vnfs" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfsPOST" + } + } + }, + "operationId": "POST-vnfs" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs-TOP" + } + } + }, + "operationId": "PUT-vnfs" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf" + } + } + }, + "operationId": "GET-vnf" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfPOST" + } + } + }, + "operationId": "POST-vnf" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf-TOP" + } + } + }, + "operationId": "PUT-vnf" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-data" + } + } + }, + "operationId": "GET-vnf-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-network-collections", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-sub-interface-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-modules", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)license-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-dataPOST" + } + } + }, + "operationId": "POST-vnf-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data-TOP" + } + } + }, + "operationId": "PUT-vnf-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/license-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-license-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-information" + } + } + }, + "operationId": "GET-license-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)entitlement-pool-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list-TOP" + } + }, + { + "in": "body", + "name": "**(config)license-key-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-informationPOST" + } + } + }, + "operationId": "POST-license-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)license-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information-TOP" + } + } + }, + "operationId": "PUT-license-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/license-information/entitlement-pool-list/{entitlement-pool-uuid}/{action}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "entitlement-pool-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-entitlement-pool-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "entitlement-pool-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)entitlement-pool-list" + } + } + }, + "operationId": "GET-entitlement-pool-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "entitlement-pool-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)entitlement-pool-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list-TOP" + } + } + }, + "operationId": "PUT-entitlement-pool-list" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/license-information/license-key-group-list/{license-key-group-uuid}/{action}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "license-key-group-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-license-key-group-list" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "license-key-group-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)license-key-group-list" + } + } + }, + "operationId": "GET-license-key-group-list" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "license-key-group-uuid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "action", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)license-key-group-list", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list-TOP" + } + } + }, + "operationId": "PUT-license-key-group-list" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-modules" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-modules" + } + } + }, + "operationId": "GET-vf-modules" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-modulesPOST" + } + } + }, + "operationId": "POST-vf-modules" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-modules", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules-TOP" + } + } + }, + "operationId": "PUT-vf-modules" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module" + } + } + }, + "operationId": "GET-vf-module" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-modulePOST" + } + } + }, + "operationId": "POST-vf-module" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module-TOP" + } + } + }, + "operationId": "PUT-vf-module" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-data" + } + } + }, + "operationId": "GET-vf-module-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status-TOP" + } + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-dataPOST" + } + } + }, + "operationId": "POST-vf-module-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data-TOP" + } + } + }, + "operationId": "PUT-vf-module-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-information" + } + } + }, + "operationId": "GET-vf-module-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-informationPOST" + } + } + }, + "operationId": "POST-vf-module-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information-TOP" + } + } + }, + "operationId": "PUT-vf-module-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-level-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-level-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-level-oper-status" + } + } + }, + "operationId": "GET-vf-module-level-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status-TOP" + } + } + }, + "operationId": "PUT-vf-module-level-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-request-input" + } + } + }, + "operationId": "GET-vf-module-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-request-inputPOST" + } + } + }, + "operationId": "POST-vf-module-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input-TOP" + } + } + }, + "operationId": "PUT-vf-module-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-request-input/vf-module-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-input-parameters" + } + } + }, + "operationId": "GET-vf-module-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-input-parametersPOST" + } + } + }, + "operationId": "POST-vf-module-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters-TOP" + } + } + }, + "operationId": "PUT-vf-module-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topology" + } + } + }, + "operationId": "GET-vf-module-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vf-module-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + }, + { + "in": "body", + "name": "**(config)vf-module-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topologyPOST" + } + } + }, + "operationId": "POST-vf-module-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology-TOP" + } + } + }, + "operationId": "PUT-vf-module-topology" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-assignments" + } + } + }, + "operationId": "GET-vf-module-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vms", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + }, + { + "in": "body", + "name": "**(config)vlan-vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-assignmentsPOST" + } + } + }, + "operationId": "POST-vf-module-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments-TOP" + } + } + }, + "operationId": "PUT-vf-module-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnfc-instance-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groups" + } + } + }, + "operationId": "GET-vlan-vnfc-instance-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groupsPOST" + } + } + }, + "operationId": "POST-vlan-vnfc-instance-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnfc-instance-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP" + } + } + }, + "operationId": "PUT-vlan-vnfc-instance-groups" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnfc-instance-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-group" + } + } + }, + "operationId": "GET-vlan-vnfc-instance-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnfc-instance-groupPOST" + } + } + }, + "operationId": "POST-vlan-vnfc-instance-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnfc-instance-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP" + } + } + }, + "operationId": "PUT-vlan-vnfc-instance-group" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfcs" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcs" + } + } + }, + "operationId": "GET-vnfcs" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcsPOST" + } + } + }, + "operationId": "POST-vnfcs" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP" + } + } + }, + "operationId": "PUT-vnfcs" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc" + } + } + }, + "operationId": "GET-vnfc" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcPOST" + } + } + }, + "operationId": "POST-vnfc" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP" + } + } + }, + "operationId": "PUT-vnfc" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groups" + } + } + }, + "operationId": "GET-vnic-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groupsPOST" + } + } + }, + "operationId": "POST-vnic-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP" + } + } + }, + "operationId": "PUT-vnic-groups" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-group" + } + } + }, + "operationId": "GET-vnic-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-common-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + }, + { + "in": "body", + "name": "**(config)vlan-vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-groupPOST" + } + } + }, + "operationId": "POST-vnic-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP" + } + } + }, + "operationId": "PUT-vnic-group" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-common-ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-common-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-common-ip-addresses" + } + } + }, + "operationId": "GET-vlan-common-ip-addresses" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-common-ip-addressesPOST" + } + } + }, + "operationId": "POST-vlan-common-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-common-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP" + } + } + }, + "operationId": "PUT-vlan-common-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-common-ip-addresses/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnics" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnics" + } + } + }, + "operationId": "GET-vlan-vnics" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnicsPOST" + } + } + }, + "operationId": "POST-vlan-vnics" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP" + } + } + }, + "operationId": "PUT-vlan-vnics" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-vnic" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnic" + } + } + }, + "operationId": "GET-vlan-vnic" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-vnicPOST" + } + } + }, + "operationId": "POST-vlan-vnic" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP" + } + } + }, + "operationId": "PUT-vlan-vnic" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-sub-interfaces" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfaces" + } + } + }, + "operationId": "GET-vnic-sub-interfaces" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfacesPOST" + } + } + }, + "operationId": "POST-vnic-sub-interfaces" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP" + } + } + }, + "operationId": "PUT-vnic-sub-interfaces" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-data" + } + } + }, + "operationId": "GET-sub-interface-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-dataPOST" + } + } + }, + "operationId": "POST-sub-interface-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + }, + "operationId": "PUT-sub-interface-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/{instance-group-id}/vnfcs/vnfc/{vnfc-name}/vnic-groups/vnic-group/{vnic-interface-role}/vlan-vnics/vlan-vnic/{vnic-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "description": "A&AI ID", + "in": "path", + "name": "instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "description": "Same as network-role of network where vnic is connected", + "in": "path", + "name": "vnic-interface-role", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vms" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vms" + } + } + }, + "operationId": "GET-vms" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vmsPOST" + } + } + }, + "operationId": "POST-vms" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vms", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms-TOP" + } + } + }, + "operationId": "PUT-vms" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm" + } + } + }, + "operationId": "GET-vm" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + }, + { + "in": "body", + "name": "**(config)vm-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vmPOST" + } + } + }, + "operationId": "POST-vm" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm-TOP" + } + } + }, + "operationId": "PUT-vm" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-names" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-names" + } + } + }, + "operationId": "GET-vm-names" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-namesPOST" + } + } + }, + "operationId": "POST-vm-names" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP" + } + } + }, + "operationId": "PUT-vm-names" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-names" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-names" + } + } + }, + "operationId": "GET-vnfc-names" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-namesPOST" + } + } + }, + "operationId": "POST-vnfc-names" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-names", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP" + } + } + }, + "operationId": "PUT-vnfc-names" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-networks" + } + } + }, + "operationId": "GET-vnfc-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-networksPOST" + } + } + }, + "operationId": "POST-vnfc-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP" + } + } + }, + "operationId": "PUT-vnfc-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-network-data" + } + } + }, + "operationId": "GET-vnfc-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-ports", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnfc-subnet", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + }, + { + "in": "body", + "name": "**(config)connection-point", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-network-dataPOST" + } + } + }, + "operationId": "POST-vnfc-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP" + } + } + }, + "operationId": "PUT-vnfc-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/connection-point": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-connection-point" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-point" + } + } + }, + "operationId": "GET-connection-point" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)connection-pointPOST" + } + } + }, + "operationId": "POST-connection-point" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)connection-point", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP" + } + } + }, + "operationId": "PUT-connection-point" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/connection-point/vlan-data/{vlan-uuid}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-data" + } + } + }, + "operationId": "GET-vlan-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS", + "in": "path", + "name": "vlan-uuid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP" + } + } + }, + "operationId": "PUT-vlan-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-ports" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ports" + } + } + }, + "operationId": "GET-vnfc-ports" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-portsPOST" + } + } + }, + "operationId": "POST-vnfc-ports" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-ports", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP" + } + } + }, + "operationId": "PUT-vnfc-ports" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-port" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-port" + } + } + }, + "operationId": "GET-vnfc-port" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-portPOST" + } + } + }, + "operationId": "POST-vnfc-port" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-port", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP" + } + } + }, + "operationId": "PUT-vnfc-port" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic-sub-interfaces" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfaces" + } + } + }, + "operationId": "GET-vnic-sub-interfaces" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic-sub-interfacesPOST" + } + } + }, + "operationId": "POST-vnic-sub-interfaces" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic-sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP" + } + } + }, + "operationId": "PUT-vnic-sub-interfaces" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-network-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-data" + } + } + }, + "operationId": "GET-sub-interface-network-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network-dataPOST" + } + } + }, + "operationId": "POST-sub-interface-network-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-network-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP" + } + } + }, + "operationId": "PUT-sub-interface-network-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-ports/vnfc-port/{vnfc-port-id}/vnic-sub-interfaces/sub-interface-network-data/{network-id}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y", + "in": "path", + "name": "vnfc-port-id", + "required": true, + "type": "string" + }, + { + "description": "Subinterface network id (UUID in A&AI)", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-subnet" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnet" + } + } + }, + "operationId": "GET-vnfc-subnet" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-ip-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnetPOST" + } + } + }, + "operationId": "POST-vnfc-subnet" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-subnet", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP" + } + } + }, + "operationId": "PUT-vnfc-subnet" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}/vnfc-ip-assignments/{vnfc-address-family}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-ip-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ip-assignments" + } + } + }, + "operationId": "GET-vnfc-ip-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc-subnet-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-ip-assignmentsPOST" + } + } + }, + "operationId": "POST-vnfc-ip-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-ip-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP" + } + } + }, + "operationId": "PUT-vnfc-ip-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-names/vnfc-names/{vnfc-name}/vnfc-networks/vnfc-network-data/{vnfc-network-role}/vnfc-subnet/{vnfc-subnet-role}/vnfc-ip-assignments/{vnfc-address-family}/vnfc-subnet-ip/{vnfc-ip-address}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc-subnet-ip" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc-subnet-ip" + } + } + }, + "operationId": "GET-vnfc-subnet-ip" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-network-role", + "required": true, + "type": "string" + }, + { + "description": "Default value if subnet role is not defined.", + "in": "path", + "name": "vnfc-subnet-role", + "required": true, + "type": "string" + }, + { + "description": "indicates if this is IpV4 or IpV6", + "in": "path", + "name": "vnfc-address-family", + "required": true, + "type": "string" + }, + { + "description": "Either IpV4 IP or IpV6 IP addresses should be present", + "in": "path", + "name": "vnfc-ip-address", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc-subnet-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP" + } + } + }, + "operationId": "PUT-vnfc-subnet-ip" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networks" + } + } + }, + "operationId": "GET-vm-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vm-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networksPOST" + } + } + }, + "operationId": "POST-vm-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP" + } + } + }, + "operationId": "PUT-vm-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vm-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-network" + } + } + }, + "operationId": "GET-vm-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + }, + { + "in": "body", + "name": "**(config)mac-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + }, + { + "in": "body", + "name": "**(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + }, + { + "in": "body", + "name": "**(config)interface-route-prefixes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + }, + { + "in": "body", + "name": "**(config)sriov-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vm-networkPOST" + } + } + }, + "operationId": "POST-vm-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vm-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP" + } + } + }, + "operationId": "PUT-vm-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/floating-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-floating-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)floating-ips" + } + } + }, + "operationId": "GET-floating-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)floating-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP" + } + } + }, + "operationId": "PUT-floating-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/interface-route-prefixes": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-interface-route-prefixes" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)interface-route-prefixes" + } + } + }, + "operationId": "GET-interface-route-prefixes" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)interface-route-prefixes", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP" + } + } + }, + "operationId": "PUT-interface-route-prefixes" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/mac-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-mac-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)mac-addresses" + } + } + }, + "operationId": "GET-mac-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)mac-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP" + } + } + }, + "operationId": "PUT-mac-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-items" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-items" + } + } + }, + "operationId": "GET-network-information-items" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemsPOST" + } + } + }, + "operationId": "POST-network-information-items" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-items", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP" + } + } + }, + "operationId": "PUT-network-information-items" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items/network-information-item/{ip-version}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-information-item" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-item" + } + } + }, + "operationId": "GET-network-information-item" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-information-itemPOST" + } + } + }, + "operationId": "POST-network-information-item" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-information-item", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP" + } + } + }, + "operationId": "PUT-network-information-item" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/network-information-items/network-information-item/{ip-version}/network-ips": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-network-ips" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)network-ips" + } + } + }, + "operationId": "GET-network-ips" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Use ipv4 or ipv6", + "in": "path", + "name": "ip-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)network-ips", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP" + } + } + }, + "operationId": "PUT-network-ips" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sriov-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sriov-parameters" + } + } + }, + "operationId": "GET-sriov-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)heat-vlan-filters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + }, + { + "in": "body", + "name": "**(config)application-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sriov-parametersPOST" + } + } + }, + "operationId": "POST-sriov-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sriov-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP" + } + } + }, + "operationId": "PUT-sriov-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-application-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)application-tags" + } + } + }, + "operationId": "GET-application-tags" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)c-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + }, + { + "in": "body", + "name": "**(config)s-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)application-tagsPOST" + } + } + }, + "operationId": "POST-application-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)application-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP" + } + } + }, + "operationId": "PUT-application-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags/c-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-c-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)c-tags" + } + } + }, + "operationId": "GET-c-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)c-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP" + } + } + }, + "operationId": "PUT-c-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/application-tags/s-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-s-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)s-tags" + } + } + }, + "operationId": "GET-s-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)s-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP" + } + } + }, + "operationId": "PUT-s-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/{vm-type}/vm-networks/vm-network/{network-role}/sriov-parameters/heat-vlan-filters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-heat-vlan-filters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)heat-vlan-filters" + } + } + }, + "operationId": "GET-heat-vlan-filters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vm-type", + "required": true, + "type": "string" + }, + { + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)heat-vlan-filters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP" + } + } + }, + "operationId": "PUT-heat-vlan-filters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-parameters" + } + } + }, + "operationId": "GET-vf-module-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-parametersPOST" + } + } + }, + "operationId": "POST-vf-module-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters-TOP" + } + } + }, + "operationId": "PUT-vf-module-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vf-module-topology/vf-module-topology-identifier": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vf-module-topology-identifier" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vf-module-topology-identifier" + } + } + }, + "operationId": "GET-vf-module-topology-identifier" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vf-module-topology-identifier", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier-TOP" + } + } + }, + "operationId": "PUT-vf-module-topology-identifier" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-information" + } + } + }, + "operationId": "GET-vnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-informationPOST" + } + } + }, + "operationId": "POST-vnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information-TOP" + } + } + }, + "operationId": "PUT-vnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/vf-module-data/vnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vf-module-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-information" + } + } + }, + "operationId": "GET-vnf-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-informationPOST" + } + } + }, + "operationId": "POST-vnf-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information-TOP" + } + } + }, + "operationId": "PUT-vnf-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-level-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-level-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-level-oper-status" + } + } + }, + "operationId": "GET-vnf-level-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-level-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status-TOP" + } + } + }, + "operationId": "PUT-vnf-level-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-network-collections": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network-collections" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network-collections" + } + } + }, + "operationId": "GET-vnf-network-collections" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-network-collection", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network-collectionsPOST" + } + } + }, + "operationId": "POST-vnf-network-collections" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network-collections", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections-TOP" + } + } + }, + "operationId": "PUT-vnf-network-collections" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-network-collections/vnf-network-collection/{network-instance-group-function}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network-collection" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network-collection" + } + } + }, + "operationId": "GET-vnf-network-collection" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-floating-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network-collectionPOST" + } + } + }, + "operationId": "POST-vnf-network-collection" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network-collection", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection-TOP" + } + } + }, + "operationId": "PUT-vnf-network-collection" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-network-collections/vnf-network-collection/{network-instance-group-function}/vnf-floating-ip": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-floating-ip" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-floating-ip" + } + } + }, + "operationId": "GET-vnf-floating-ip" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-floating-ipPOST" + } + } + }, + "operationId": "POST-vnf-floating-ip" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-floating-ip", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip-TOP" + } + } + }, + "operationId": "PUT-vnf-floating-ip" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-network-collections/vnf-network-collection/{network-instance-group-function}/vnf-floating-ip/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "Network Instance-Group function in A&AI", + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-provided-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-provided-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-provided-allotted-resources" + } + } + }, + "operationId": "GET-vnf-provided-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-provided-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-vnf-provided-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-request-input" + } + } + }, + "operationId": "GET-vnf-request-input" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-network-instance-group-ids", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-request-inputPOST" + } + } + }, + "operationId": "POST-vnf-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input-TOP" + } + } + }, + "operationId": "PUT-vnf-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-input-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-input-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-input-parameters" + } + } + }, + "operationId": "GET-vnf-input-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-input-parametersPOST" + } + } + }, + "operationId": "POST-vnf-input-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-input-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters-TOP" + } + } + }, + "operationId": "PUT-vnf-input-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-input-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-input-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-input-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-network-instance-group-ids/{vnf-network-instance-group-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "List of vnf network-instance-group", + "in": "path", + "name": "vnf-network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network-instance-group-ids" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "List of vnf network-instance-group", + "in": "path", + "name": "vnf-network-instance-group-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network-instance-group-ids" + } + } + }, + "operationId": "GET-vnf-network-instance-group-ids" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "List of vnf network-instance-group", + "in": "path", + "name": "vnf-network-instance-group-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network-instance-group-ids", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids-TOP" + } + } + }, + "operationId": "PUT-vnf-network-instance-group-ids" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networks" + } + } + }, + "operationId": "GET-vnf-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networksPOST" + } + } + }, + "operationId": "POST-vnf-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks-TOP" + } + } + }, + "operationId": "PUT-vnf-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network" + } + } + }, + "operationId": "GET-vnf-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networkPOST" + } + } + }, + "operationId": "POST-vnf-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network-TOP" + } + } + }, + "operationId": "PUT-vnf-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}/subnets-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnets-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-data" + } + } + }, + "operationId": "GET-subnets-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-dataPOST" + } + } + }, + "operationId": "POST-subnets-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + }, + "operationId": "PUT-subnets-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-request-input/vnf-networks/vnf-network/{network-role}/subnets-data/subnet-data/{sdnc-subnet-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnet-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnet-data" + } + } + }, + "operationId": "GET-subnet-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + }, + "operationId": "PUT-subnet-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-sub-interface-groups" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-sub-interface-groups" + } + } + }, + "operationId": "GET-vnf-sub-interface-groups" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-sub-interface-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-sub-interface-groupsPOST" + } + } + }, + "operationId": "POST-vnf-sub-interface-groups" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-sub-interface-groups", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups-TOP" + } + } + }, + "operationId": "PUT-vnf-sub-interface-groups" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-sub-interface-group" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-sub-interface-group" + } + } + }, + "operationId": "GET-vnf-sub-interface-group" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)customer-bonding-requests", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-sub-interface-groupPOST" + } + } + }, + "operationId": "POST-vnf-sub-interface-group" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-sub-interface-group", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group-TOP" + } + } + }, + "operationId": "PUT-vnf-sub-interface-group" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/customer-bonding-requests": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-customer-bonding-requests" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-requests" + } + } + }, + "operationId": "GET-customer-bonding-requests" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)customer-bonding-request", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-requestsPOST" + } + } + }, + "operationId": "POST-customer-bonding-requests" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)customer-bonding-requests", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests-TOP" + } + } + }, + "operationId": "PUT-customer-bonding-requests" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/customer-bonding-requests/customer-bonding-request/{configuration-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-customer-bonding-request" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)customer-bonding-request" + } + } + }, + "operationId": "GET-customer-bonding-request" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "e.g. vlan network receptor configuration id", + "in": "path", + "name": "configuration-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)customer-bonding-request", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request-TOP" + } + } + }, + "operationId": "PUT-customer-bonding-request" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfcs" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcs" + } + } + }, + "operationId": "GET-vnfcs" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcsPOST" + } + } + }, + "operationId": "POST-vnfcs" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfcs", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs-TOP" + } + } + }, + "operationId": "PUT-vnfcs" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnfc" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfc" + } + } + }, + "operationId": "GET-vnfc" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnfcPOST" + } + } + }, + "operationId": "POST-vnfc" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnfc", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc-TOP" + } + } + }, + "operationId": "PUT-vnfc" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnics" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnics" + } + } + }, + "operationId": "GET-vnics" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnicsPOST" + } + } + }, + "operationId": "POST-vnics" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnics", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics-TOP" + } + } + }, + "operationId": "PUT-vnics" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnic" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnic" + } + } + }, + "operationId": "GET-vnic" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnicPOST" + } + } + }, + "operationId": "POST-vnic" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnic", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic-TOP" + } + } + }, + "operationId": "PUT-vnic" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interfaces" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interfaces" + } + } + }, + "operationId": "GET-sub-interfaces" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interfacesPOST" + } + } + }, + "operationId": "POST-sub-interfaces" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interfaces", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces-TOP" + } + } + }, + "operationId": "PUT-sub-interfaces" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces/sub-interface/{sub-interface-port-name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface" + } + } + }, + "operationId": "GET-sub-interface" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sub-interface-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses-TOP" + } + }, + { + "in": "body", + "name": "**(config)sub-interface-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network-TOP" + } + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interfacePOST" + } + } + }, + "operationId": "POST-sub-interface" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface-TOP" + } + } + }, + "operationId": "PUT-sub-interface" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces/sub-interface/{sub-interface-port-name}/sub-interface-ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-ip-addresses" + } + } + }, + "operationId": "GET-sub-interface-ip-addresses" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-ip-addressesPOST" + } + } + }, + "operationId": "POST-sub-interface-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses-TOP" + } + } + }, + "operationId": "PUT-sub-interface-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces/sub-interface/{sub-interface-port-name}/sub-interface-ip-addresses/ip-addresses": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-ip-addresses" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)ip-addresses" + } + } + }, + "operationId": "GET-ip-addresses" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)ip-addresses", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses-TOP" + } + } + }, + "operationId": "PUT-ip-addresses" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces/sub-interface/{sub-interface-port-name}/sub-interface-network": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sub-interface-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sub-interface-network" + } + } + }, + "operationId": "GET-sub-interface-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sub-interface-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network-TOP" + } + } + }, + "operationId": "PUT-sub-interface-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/{vnfc-instance-group-function}/{network-instance-group-function}/{parent-port-role}/vnfcs/vnfc/{vnfc-name}/vnics/vnic/{vnic-port-name}/sub-interfaces/sub-interface/{sub-interface-port-name}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnfc-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "network-instance-group-function", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "parent-port-role", + "required": true, + "type": "string" + }, + { + "description": "Vnfc name as key in A&AI", + "in": "path", + "name": "vnfc-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnic-port-name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "sub-interface-port-name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-topology" + } + } + }, + "operationId": "GET-vnf-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-parameters-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-resource-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-topologyPOST" + } + } + }, + "operationId": "POST-vnf-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology-TOP" + } + } + }, + "operationId": "PUT-vnf-topology" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-parameters-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-parameters-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-parameters-data" + } + } + }, + "operationId": "GET-vnf-parameters-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-parameters-dataPOST" + } + } + }, + "operationId": "POST-vnf-parameters-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-parameters-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data-TOP" + } + } + }, + "operationId": "PUT-vnf-parameters-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-parameters-data/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-parameters-data/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-parameters-data/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-resource-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-resource-assignments" + } + } + }, + "operationId": "GET-vnf-resource-assignments" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)availability-zones", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones-TOP" + } + }, + { + "in": "body", + "name": "**(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-resource-assignmentsPOST" + } + } + }, + "operationId": "POST-vnf-resource-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-resource-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments-TOP" + } + } + }, + "operationId": "PUT-vnf-resource-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/availability-zones": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-availability-zones" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)availability-zones" + } + } + }, + "operationId": "GET-availability-zones" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)availability-zones", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones-TOP" + } + } + }, + "operationId": "PUT-availability-zones" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networks" + } + } + }, + "operationId": "GET-vnf-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networksPOST" + } + } + }, + "operationId": "POST-vnf-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks-TOP" + } + } + }, + "operationId": "PUT-vnf-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-network" + } + } + }, + "operationId": "GET-vnf-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-networkPOST" + } + } + }, + "operationId": "POST-vnf-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP" + } + } + }, + "operationId": "PUT-vnf-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-networks" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networks" + } + } + }, + "operationId": "GET-related-networks" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networksPOST" + } + } + }, + "operationId": "POST-related-networks" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-networks", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP" + } + } + }, + "operationId": "PUT-related-networks" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-related-network" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-network" + } + } + }, + "operationId": "GET-related-network" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)related-networkPOST" + } + } + }, + "operationId": "POST-related-network" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)related-network", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP" + } + } + }, + "operationId": "PUT-related-network" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/related-networks/related-network/{network-id}/vlan-tags": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vlan-tags" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vlan-tags" + } + } + }, + "operationId": "GET-vlan-tags" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Key to l3-network object", + "in": "path", + "name": "network-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vlan-tags", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP" + } + } + }, + "operationId": "PUT-vlan-tags" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/subnets-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnets-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-data" + } + } + }, + "operationId": "GET-subnets-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnets-dataPOST" + } + } + }, + "operationId": "POST-subnets-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnets-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP" + } + } + }, + "operationId": "PUT-subnets-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/{network-role}/subnets-data/subnet-data/{sdnc-subnet-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-subnet-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)subnet-data" + } + } + }, + "operationId": "GET-subnet-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "description": "A Network Role to which a VNF must connect", + "in": "path", + "name": "network-role", + "required": true, + "type": "string" + }, + { + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API", + "in": "path", + "name": "sdnc-subnet-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)subnet-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP" + } + } + }, + "operationId": "PUT-subnet-data" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-topology/vnf-topology-identifier-structure": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-vnf-topology-identifier-structure" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)vnf-topology-identifier-structure" + } + } + }, + "operationId": "GET-vnf-topology-identifier-structure" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "vnf-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)vnf-topology-identifier-structure", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure-TOP" + } + } + }, + "operationId": "PUT-vnf-topology-identifier-structure" + } + }, + "/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-status" + } + } + }, + "operationId": "GET-service-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "description": "Keep as M", + "in": "path", + "name": "service-instance-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status-TOP" + } + } + }, + "operationId": "PUT-service-status" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-allotted-resources" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-allotted-resources" + } + } + }, + "operationId": "GET-tunnelxconn-allotted-resources" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "**(config)tunnelxconn-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-allotted-resourcesPOST" + } + } + }, + "operationId": "POST-tunnelxconn-allotted-resources" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "(config)tunnelxconn-allotted-resources", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-allotted-resources" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-allotted-resource" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-allotted-resource" + } + } + }, + "operationId": "GET-tunnelxconn-allotted-resource" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-allotted-resourcePOST" + } + } + }, + "operationId": "POST-tunnelxconn-allotted-resource" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-allotted-resource", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-allotted-resource" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-data" + } + } + }, + "operationId": "GET-allotted-resource-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)tunnelxconn-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology-TOP" + } + }, + { + "in": "body", + "name": "**(config)tunnelxconn-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-dataPOST" + } + } + }, + "operationId": "POST-allotted-resource-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-data" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-oper-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-oper-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-oper-status" + } + } + }, + "operationId": "GET-allotted-resource-oper-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-oper-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-oper-status" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-operation-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-information" + } + } + }, + "operationId": "GET-allotted-resource-operation-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + }, + { + "in": "body", + "name": "**(config)tunnelxconn-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input-TOP" + } + }, + { + "in": "body", + "name": "**(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-operation-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-operation-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-operation-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-operation-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-information" + } + } + }, + "operationId": "GET-allotted-resource-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-informationPOST" + } + } + }, + "operationId": "POST-allotted-resource-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/request-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-request-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)request-information" + } + } + }, + "operationId": "GET-request-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)request-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP" + } + } + }, + "operationId": "PUT-request-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/sdnc-request-header": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-sdnc-request-header" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)sdnc-request-header" + } + } + }, + "operationId": "GET-sdnc-request-header" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)sdnc-request-header", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP" + } + } + }, + "operationId": "PUT-sdnc-request-header" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-service-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-information" + } + } + }, + "operationId": "GET-service-information" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)service-informationPOST" + } + } + }, + "operationId": "POST-service-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)service-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP" + } + } + }, + "operationId": "PUT-service-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/service-information/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/allotted-resource-operation-information/tunnelxconn-request-input": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-request-input" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-request-input" + } + } + }, + "operationId": "GET-tunnelxconn-request-input" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-request-input", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-request-input" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-parameters" + } + } + }, + "operationId": "GET-tunnelxconn-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-parametersPOST" + } + } + }, + "operationId": "POST-tunnelxconn-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-topology" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-topology" + } + } + }, + "operationId": "GET-tunnelxconn-topology" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)tunnelxconn-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters-TOP" + } + }, + { + "in": "body", + "name": "**(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers-TOP" + } + }, + { + "in": "body", + "name": "**(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information-TOP" + } + }, + { + "in": "body", + "name": "**(config)tunnelxconn-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-topologyPOST" + } + } + }, + "operationId": "POST-tunnelxconn-topology" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-topology", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-topology" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/allotted-resource-identifiers": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-identifiers" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-identifiers" + } + } + }, + "operationId": "GET-allotted-resource-identifiers" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-identifiers", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-identifiers" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/onap-model-information": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-onap-model-information" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)onap-model-information" + } + } + }, + "operationId": "GET-onap-model-information" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)onap-model-information", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information-TOP" + } + } + }, + "operationId": "PUT-onap-model-information" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/tunnelxconn-assignments": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-assignments" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-assignments" + } + } + }, + "operationId": "GET-tunnelxconn-assignments" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-assignments", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-assignments" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-tunnelxconn-parameters" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-parameters" + } + } + }, + "operationId": "GET-tunnelxconn-parameters" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)tunnelxconn-parametersPOST" + } + } + }, + "operationId": "POST-tunnelxconn-parameters" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)tunnelxconn-parameters", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters-TOP" + } + } + }, + "operationId": "PUT-tunnelxconn-parameters" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-param" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)param" + } + } + }, + "operationId": "GET-param" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)paramPOST" + } + } + }, + "operationId": "POST-param" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)param", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param-TOP" + } + } + }, + "operationId": "PUT-param" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/{name}/resource-resolution-data": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-resolution-data" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-data" + } + } + }, + "operationId": "GET-resource-resolution-data" + }, + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "**(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-resolution-dataPOST" + } + } + }, + "operationId": "POST-resource-resolution-data" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-resolution-data", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data-TOP" + } + } + }, + "operationId": "PUT-resource-resolution-data" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/{name}/resource-resolution-data/resource-key/{name}": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-resource-key" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)resource-key" + } + } + }, + "operationId": "GET-resource-key" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "name", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)resource-key", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP" + } + } + }, + "operationId": "PUT-resource-key" + } + }, + "/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/allotted-resource-status": { + "delete": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "DELETE-allotted-resource-status" + }, + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(config)allotted-resource-status" + } + } + }, + "operationId": "GET-allotted-resource-status" + }, + "put": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "path", + "name": "allotted-resource-id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "(config)allotted-resource-status", + "required": false, + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status-TOP" + } + } + }, + "operationId": "PUT-allotted-resource-status" + } + }, + "/operational/GENERIC-RESOURCE-API:brg-allotted-resources": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)brg-allotted-resources" + } + } + }, + "operationId": "GET-brg-allotted-resources" + } + }, + "/operational/GENERIC-RESOURCE-API:connection-attachment-allotted-resources": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)connection-attachment-allotted-resources" + } + } + }, + "operationId": "GET-connection-attachment-allotted-resources" + } + }, + "/operational/GENERIC-RESOURCE-API:contrail-route-allotted-resources": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)contrail-route-allotted-resources" + } + } + }, + "operationId": "GET-contrail-route-allotted-resources" + } + }, + "/operational/GENERIC-RESOURCE-API:generic-configurations": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)generic-configurations" + } + } + }, + "operationId": "GET-generic-configurations" + } + }, + "/operational/GENERIC-RESOURCE-API:port-mirror-configurations": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)port-mirror-configurations" + } + } + }, + "operationId": "GET-port-mirror-configurations" + } + }, + "/operational/GENERIC-RESOURCE-API:preload-information": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)preload-information" + } + } + }, + "operationId": "GET-preload-information" + } + }, + "/operational/GENERIC-RESOURCE-API:security-zone-allotted-resources": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)security-zone-allotted-resources" + } + } + }, + "operationId": "GET-security-zone-allotted-resources" + } + }, + "/operational/GENERIC-RESOURCE-API:services": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)services" + } + } + }, + "operationId": "GET-services" + } + }, + "/operational/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources": { + "get": { + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(operational)tunnelxconn-allotted-resources" + } + } + }, + "operationId": "GET-tunnelxconn-allotted-resources" + } + }, + "/operations/GENERIC-RESOURCE-API:brg-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(brg-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(brg-topology-operation)output-TOP" + } + } + }, + "operationId": "brg-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:connection-attachment-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(connection-attachment-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(connection-attachment-topology-operation)output-TOP" + } + } + }, + "operationId": "connection-attachment-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:contrail-route-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(contrail-route-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(contrail-route-topology-operation)output-TOP" + } + } + }, + "operationId": "contrail-route-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:generic-configuration-notification": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(generic-configuration-notification)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified" + } + }, + "operationId": "generic-configuration-notification" + } + }, + "/operations/GENERIC-RESOURCE-API:generic-configuration-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(generic-configuration-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(generic-configuration-topology-operation)output-TOP" + } + } + }, + "operationId": "generic-configuration-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:getpathsegment-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(getpathsegment-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(getpathsegment-topology-operation)output-TOP" + } + } + }, + "operationId": "getpathsegment-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:network-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(network-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(network-topology-operation)output-TOP" + } + } + }, + "operationId": "network-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:policy-update-notify-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(policy-update-notify-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(policy-update-notify-operation)output-TOP" + } + } + }, + "operationId": "policy-update-notify-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:port-mirror-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(port-mirror-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(port-mirror-topology-operation)output-TOP" + } + } + }, + "operationId": "port-mirror-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:preload-network-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(preload-network-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(preload-network-topology-operation)output-TOP" + } + } + }, + "operationId": "preload-network-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:preload-vf-module-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(preload-vf-module-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(preload-vf-module-topology-operation)output-TOP" + } + } + }, + "operationId": "preload-vf-module-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:security-zone-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(security-zone-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(security-zone-topology-operation)output-TOP" + } + } + }, + "operationId": "security-zone-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:service-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(service-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(service-topology-operation)output-TOP" + } + } + }, + "operationId": "service-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:tunnelxconn-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(tunnelxconn-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(tunnelxconn-topology-operation)output-TOP" + } + } + }, + "operationId": "tunnelxconn-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:vf-module-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(vf-module-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(vf-module-topology-operation)output-TOP" + } + } + }, + "operationId": "vf-module-topology-operation" + } + }, + "/operations/GENERIC-RESOURCE-API:vnf-get-resource-request": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(vnf-get-resource-request)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(vnf-get-resource-request)output-TOP" + } + } + }, + "operationId": "vnf-get-resource-request" + } + }, + "/operations/GENERIC-RESOURCE-API:vnf-topology-operation": { + "post": { + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": false, + "schema": { + "$ref": "#/definitions/(vnf-topology-operation)input-TOP" + } + } + ], + "responses": { + "200": { + "description": "No response was specified", + "schema": { + "$ref": "#/definitions/(vnf-topology-operation)output-TOP" + } + } + }, + "operationId": "vnf-topology-operation" + } + } + }, + "definitions": { + "(brg-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(brg-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(brg-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(brg-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:brg-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(brg-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(brg-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)GENERIC-RESOURCE-API_modulePOST": { + "properties": { + "brg-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-allotted-resources" + }, + "type": "object" + }, + "connection-attachment-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources" + }, + "type": "object" + }, + "contrail-route-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-allotted-resources" + }, + "type": "object" + }, + "generic-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)generic-configurations" + }, + "type": "object" + }, + "port-mirror-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configurations" + }, + "type": "object" + }, + "preload-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-information" + }, + "type": "object" + }, + "security-zone-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-allotted-resources" + }, + "type": "object" + }, + "services": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)services" + }, + "type": "object" + }, + "tunnelxconn-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)allotted-resource-dataPOST": { + "properties": { + "allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters" + }, + "type": "object" + }, + "connection-attachment-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)allotted-resource-identifiersPOST": { + "properties": { + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "(config)allotted-resource-informationPOST": { + "properties": { + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "(config)allotted-resource-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)allotted-resource-operation-informationPOST": { + "properties": { + "allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "connection-attachment-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input" + }, + "type": "object" + }, + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)allotted-resource-statusPOST": { + "properties": { + "action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)application-tagsPOST": { + "properties": { + "c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + }, + "s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)availability-zonesPOST": { + "properties": { + "max-count": { + "$ref": "#/definitions/Optional.empty", + "description": "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF." + } + }, + "type": "object" + }, + "(config)brg-allotted-resourcePOST": { + "properties": { + "allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "allotted-resource-id" + ], + "type": "object" + }, + "(config)brg-allotted-resourcesPOST": { + "properties": { + "brg-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)brg-assignmentsPOST": { + "properties": { + "vbrg-wan-ip": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)brg-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)brg-request-inputPOST": { + "properties": { + "brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + }, + "vgmux-bearer-ip": { + "$ref": "#/definitions/Optional.empty" + }, + "vni": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)brg-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)brg-topologyPOST": { + "properties": { + "allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "brg-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments" + }, + "type": "object" + }, + "brg-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)c-tagsPOST": { + "type": "object" + }, + "(config)capacityPOST": { + "properties": { + "used-capacity": { + "$ref": "#/definitions/Optional.empty", + "description": "Updated for destination port when source port is mapped/unmapped." + }, + "vnic-capacity": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)configuration-dataPOST": { + "properties": { + "configuration-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status" + }, + "type": "object" + }, + "configuration-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)configuration-identifiersPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": " vprobe and pprobe" + }, + "configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration." + }, + "parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this resource belongs." + } + }, + "type": "object" + }, + "(config)configuration-informationPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration" + }, + "configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)configuration-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)configuration-operation-informationPOST": { + "properties": { + "configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information" + }, + "type": "object" + }, + "gc-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input" + }, + "type": "object" + }, + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)configuration-statusPOST": { + "properties": { + "action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)connection-attachment-allotted-resourcePOST": { + "properties": { + "allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "allotted-resource-id" + ], + "type": "object" + }, + "(config)connection-attachment-allotted-resourcesPOST": { + "properties": { + "connection-attachment-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)connection-attachment-assignmentsPOST": { + "type": "object" + }, + "(config)connection-attachment-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)connection-attachment-request-inputPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)connection-attachment-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)connection-attachment-topologyPOST": { + "properties": { + "allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "connection-attachment-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments" + }, + "type": "object" + }, + "connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)connection-pointPOST": { + "properties": { + "connection-point-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to CP object in A&AI" + }, + "port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "port-index when multiple CPs connect to same network. Default zero (0)" + }, + "vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)consumed-allotted-resourcePOST": { + "properties": { + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-pointer": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the allotted-resources topology" + }, + "allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + } + }, + "type": "object" + }, + "(config)consumed-allotted-resourcesPOST": { + "properties": { + "consumed-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)contrail-applied-service-infoPOST": { + "properties": { + "contrail-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing." + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data." + } + }, + "type": "object" + }, + "(config)contrail-applied-servicePOST": { + "properties": { + "contrail-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the fq-name of the Contrail service instance through which the route is passing." + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the vnf from which the contrail applied service is coming" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The vnf representing the contrail applied service" + } + }, + "type": "object" + }, + "(config)contrail-route-allotted-resourcePOST": { + "properties": { + "allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "allotted-resource-id" + ], + "type": "object" + }, + "(config)contrail-route-allotted-resourcesPOST": { + "properties": { + "contrail-route-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)contrail-route-assignmentsPOST": { + "properties": { + "contrail-applied-service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service" + }, + "type": "object" + }, + "contrail-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The ID assigned by Contrail to the network-policy (one for one with the fq-name)" + }, + "dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network" + }, + "type": "object" + }, + "fq-name": { + "$ref": "#/definitions/Optional.empty", + "description": "The Contrail fq-name of the network policy" + }, + "source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network" + }, + "type": "object" + }, + "vlan-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Contrail-assigned vlan-tag to the vipr vm interface for this route." + } + }, + "type": "object" + }, + "(config)contrail-route-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)contrail-route-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)contrail-route-request-inputPOST": { + "properties": { + "contrail-applied-service-info": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-applied-service-info" + }, + "type": "object" + }, + "contrail-route-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-route-input-parameters" + }, + "type": "object" + }, + "dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)dest-network" + }, + "type": "object" + }, + "source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)contrail-route-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)contrail-route-topologyPOST": { + "properties": { + "allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "contrail-route-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments" + }, + "type": "object" + }, + "contrail-route-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)contrail-vmi-paramsPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)customer-bonding-requestPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vlan network receptor configuration id" + } + }, + "type": "object" + }, + "(config)customer-bonding-requestsPOST": { + "properties": { + "customer-bonding-request": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)dest-ip-addressesPOST": { + "properties": { + "ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)dest-networkPOST": { + "properties": { + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)dest-portPOST": { + "properties": { + "pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)pnf-information" + }, + "type": "object" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)dest-vnfc-instance-group-idPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "instance-group-role": { + "$ref": "#/definitions/Optional.empty" + }, + "nfc-naming-code": { + "$ref": "#/definitions/Optional.empty" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)entitlement-pool-listPOST": { + "properties": { + "action": { + "$ref": "#/definitions/Optional.empty" + }, + "entitlement-pool-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "entitlement-pool-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "entitlement-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "action", + "entitlement-pool-uuid" + ], + "type": "object" + }, + "(config)floating-ipsPOST": { + "type": "object" + }, + "(config)forwarding-path-request-inputPOST": { + "properties": { + "forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input(config)forwarding-paths" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)forwarding-pathPOST": { + "properties": { + "forwarding-path-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Generated by SDNC" + }, + "forwarding-path-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Fowarding-path name from TOSCA model, or name generated by SDNC" + }, + "forwarding-path-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information" + }, + "type": "object" + }, + "service-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths" + }, + "type": "object" + } + }, + "required": [ + "forwarding-path-id" + ], + "type": "object" + }, + "(config)forwarding-pathsPOST": { + "properties": { + "forwarding-path-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Forwarding-path-name from tosca-model. " + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input/forwarding-paths(config)onap-model-information" + }, + "type": "object" + } + }, + "required": [ + "forwarding-path-name" + ], + "type": "object" + }, + "(config)gc-configurationPOST": { + "properties": { + "configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data" + }, + "type": "object" + }, + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "required": [ + "configuration-id" + ], + "type": "object" + }, + "(config)gc-request-inputPOST": { + "properties": { + "input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input(config)input-parameters" + }, + "type": "object" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)gc-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)generic-configurationsPOST": { + "properties": { + "gc-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)getpathsegment-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)heat-vlan-filtersPOST": { + "type": "object" + }, + "(config)host-routesPOST": { + "properties": { + "next-hop": { + "$ref": "#/definitions/Optional.empty", + "description": "Could be ip-address or hostname or service-instance" + }, + "route-prefix": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)interface-route-prefixesPOST": { + "type": "object" + }, + "(config)ip-addressesPOST": { + "properties": { + "ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "(config)license-informationPOST": { + "properties": { + "entitlement-pool-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)entitlement-pool-list" + }, + "type": "array" + }, + "license-key-group-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)license-key-group-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)license-key-group-listPOST": { + "properties": { + "action": { + "$ref": "#/definitions/Optional.empty" + }, + "license-key": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + }, + "license-key-group-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "license-key-group-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "license-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "action", + "license-key-group-uuid" + ], + "type": "object" + }, + "(config)mac-addressesPOST": { + "type": "object" + }, + "(config)network-assignmentsPOST": { + "type": "object" + }, + "(config)network-dataPOST": { + "properties": { + "network-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information" + }, + "type": "object" + }, + "network-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status" + }, + "type": "object" + }, + "network-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources" + }, + "type": "object" + }, + "network-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input" + }, + "type": "object" + }, + "network-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology" + }, + "type": "object" + }, + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)network-information-itemPOST": { + "properties": { + "ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "(config)network-information-itemsPOST": { + "properties": { + "network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)network-informationPOST": { + "properties": { + "from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)network-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)network-instance-groupPOST": { + "properties": { + "network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Also a Key in Network Instance Group in A&AI" + }, + "networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information" + }, + "type": "object" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "subnet-assignment-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy" + }, + "type": "object" + }, + "subnet-key-value": { + "$ref": "#/definitions/Optional.empty", + "description": "key-value provided to EIPAM when creating shared subnet" + }, + "subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets" + }, + "type": "array" + }, + "vpn-binding-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy" + }, + "type": "object" + } + }, + "required": [ + "network-instance-group-id" + ], + "type": "object" + }, + "(config)network-instance-groupsPOST": { + "properties": { + "network-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)network-ipsPOST": { + "type": "object" + }, + "(config)network-level-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)network-parameterPOST": { + "properties": { + "network-parameter-name": { + "$ref": "#/definitions/Optional.empty" + }, + "network-parameter-value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)network-parametersPOST": { + "properties": { + "network-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)network-policyPOST": { + "properties": { + "network-policy-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "network-policy-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)network-provided-allotted-resourcesPOST": { + "type": "object" + }, + "(config)network-request-inputPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "network-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input(config)network-input-parameters" + }, + "type": "object" + }, + "network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network has instance-group role in service model" + }, + "network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)network-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)network-topology-identifier-structurePOST": { + "properties": { + "eipam-v4-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "eipam-v6-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network is part of network instance-Group-data & instance Group in A&AI" + }, + "network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + }, + "segmentation-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)network-topologyPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "network-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments" + }, + "type": "object" + }, + "network-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters" + }, + "type": "object" + }, + "network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information" + }, + "type": "object" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)networkPOST": { + "properties": { + "customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests" + }, + "type": "object" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Index into network-topology-identifier structure" + }, + "network-status": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned, unassigned" + }, + "vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings" + }, + "type": "array" + } + }, + "required": [ + "network-id" + ], + "type": "object" + }, + "(config)networksPOST": { + "properties": { + "network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)onap-model-informationPOST": { + "properties": { + "model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)paramPOST": { + "properties": { + "name": { + "$ref": "#/definitions/Optional.empty" + }, + "resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)pnf-informationPOST": { + "properties": { + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information" + }, + "type": "object" + }, + "pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Key for A&AI query" + }, + "pnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)port-mirror-configuration-assignmentsPOST": { + "properties": { + "cloud-owner": { + "$ref": "#/definitions/Optional.empty" + }, + "cloud-region-id": { + "$ref": "#/definitions/Optional.empty" + }, + "contrail-vmi-params": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params" + }, + "type": "object" + }, + "dest-network-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "dest-p-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe; from policy manager" + }, + "dest-pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe" + }, + "dest-pnf-port-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe; from tosca model" + }, + "dest-tenant": { + "$ref": "#/definitions/Optional.empty", + "description": "Tenant name from A&AI for destination VNF" + }, + "dest-tenant-id": { + "$ref": "#/definitions/Optional.empty", + "description": "tenant-id from A&AI for destination VNF" + }, + "dest-vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "For vProbe" + }, + "dest-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id" + }, + "type": "object" + }, + "owning-entity": { + "$ref": "#/definitions/Optional.empty" + }, + "probe-type": { + "$ref": "#/definitions/Optional.empty", + "description": "vprobe or pprobe; derived from configuration-information.configuration-sub-type" + }, + "route-allotted-resource-id": { + "$ref": "#/definitions/Optional.empty", + "description": "For vProbe" + }, + "source-capacity": { + "$ref": "#/definitions/Optional.empty", + "description": "Source port pps (packets per second) rating from tosca model" + }, + "source-network-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "source-to-dest-maps": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps" + }, + "type": "object" + }, + "source-vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "source-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id" + }, + "type": "object" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty", + "description": "Tenant name from A&AI for source VNF" + }, + "tenant-context": { + "$ref": "#/definitions/Optional.empty", + "description": "From tenant object in A&AI" + }, + "tenant-id": { + "$ref": "#/definitions/Optional.empty", + "description": "tenant-id from A&AI for source VNF" + }, + "vnics-group-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)port-mirror-configuration-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)port-mirror-configuration-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)port-mirror-configuration-request-inputPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "dest-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)dest-port" + }, + "type": "object" + }, + "port-mirror-configuration-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters" + }, + "type": "object" + }, + "source-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)source-port" + }, + "type": "object" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)port-mirror-configuration-topologyPOST": { + "properties": { + "configuration-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information" + }, + "type": "object" + }, + "port-mirror-configuration-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments" + }, + "type": "object" + }, + "port-mirror-configuration-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)port-mirror-configurationPOST": { + "properties": { + "configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data" + }, + "type": "object" + }, + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "required": [ + "configuration-id" + ], + "type": "object" + }, + "(config)port-mirror-configurationsPOST": { + "properties": { + "port-mirror-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)port-mirror-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)preload-dataPOST": { + "properties": { + "preload-network-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information" + }, + "type": "object" + }, + "preload-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status" + }, + "type": "object" + }, + "preload-vf-module-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)preload-informationPOST": { + "properties": { + "preload-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)preload-listPOST": { + "properties": { + "preload-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data" + }, + "type": "object" + }, + "preload-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name or network name" + }, + "preload-type": { + "$ref": "#/definitions/Optional.empty", + "description": "network or vf-module" + } + }, + "required": [ + "preload-id", + "preload-type" + ], + "type": "object" + }, + "(config)preload-network-topology-informationPOST": { + "properties": { + "host-routes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)host-routes" + }, + "type": "array" + }, + "is-external-network": { + "$ref": "#/definitions/Optional.empty" + }, + "is-provider-network": { + "$ref": "#/definitions/Optional.empty" + }, + "is-shared-network": { + "$ref": "#/definitions/Optional.empty" + }, + "network-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-policy" + }, + "type": "array" + }, + "network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-topology-identifier-structure" + }, + "type": "object" + }, + "physical-network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "route-table-reference": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)route-table-reference" + }, + "type": "array" + }, + "subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)subnets" + }, + "type": "array" + }, + "vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)preload-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "last-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty" + }, + "maintenance-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)preload-vf-module-topology-informationPOST": { + "properties": { + "vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vf-module-topology" + }, + "type": "object" + }, + "vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-resource-assignments" + }, + "type": "object" + }, + "vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)provided-allotted-resourcePOST": { + "properties": { + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-pointer": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the allotted-resources topology" + }, + "allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + } + }, + "type": "object" + }, + "(config)provided-allotted-resourcesPOST": { + "properties": { + "provided-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)provided-configurationPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are vprobe and pprobe" + }, + "configuration-topology-link": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the configurations topology" + }, + "configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor" + } + }, + "type": "object" + }, + "(config)provided-configurationsPOST": { + "properties": { + "provided-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)related-networkPOST": { + "properties": { + "network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)related-networksPOST": { + "properties": { + "related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)request-informationPOST": { + "properties": { + "notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)resource-keyPOST": { + "properties": { + "name": { + "$ref": "#/definitions/Optional.empty" + }, + "value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)resource-resolution-dataPOST": { + "properties": { + "capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "(config)route-table-referencePOST": { + "properties": { + "route-table-reference-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "route-table-reference-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "route-table-reference-fqdn" + ], + "type": "object" + }, + "(config)s-tagsPOST": { + "type": "object" + }, + "(config)sdnc-request-headerPOST": { + "properties": { + "svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "(config)security-zone-allotted-resourcePOST": { + "properties": { + "allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "allotted-resource-id" + ], + "type": "object" + }, + "(config)security-zone-allotted-resourcesPOST": { + "properties": { + "security-zone-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)security-zone-assignmentsPOST": { + "properties": { + "security-zone-name-trusted": { + "$ref": "#/definitions/Optional.empty" + }, + "security-zone-name-untrusted": { + "$ref": "#/definitions/Optional.empty" + }, + "security-zone-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Will be the same as the parent-service-instance-id" + }, + "security-zone-vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Selected by SDNC from the security-zone-service-instance-id" + }, + "trusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the landing networks network-role; used in naming" + }, + "untrusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the tenant oam networks network-role; used in naming" + }, + "vlan-tag": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)security-zone-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)security-zone-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)security-zone-request-inputPOST": { + "properties": { + "security-zone-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input(config)security-zone-input-parameters" + }, + "type": "object" + }, + "trusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the landing networks network-role; used in naming" + }, + "untrusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the tenant oam networks network-role; used in naming" + }, + "vlan-tag": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)security-zone-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)security-zone-topologyPOST": { + "properties": { + "allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information" + }, + "type": "object" + }, + "security-zone-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments" + }, + "type": "object" + }, + "security-zone-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)service-assignmentsPOST": { + "type": "object" + }, + "(config)service-dataPOST": { + "properties": { + "consumed-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources" + }, + "type": "object" + }, + "forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths" + }, + "type": "object" + }, + "network-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups" + }, + "type": "object" + }, + "networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks" + }, + "type": "object" + }, + "provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources" + }, + "type": "object" + }, + "provided-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations" + }, + "type": "object" + }, + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information" + }, + "type": "object" + }, + "service-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status" + }, + "type": "object" + }, + "service-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input" + }, + "type": "object" + }, + "service-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology" + }, + "type": "object" + }, + "vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups" + }, + "type": "object" + }, + "vnfs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)service-informationPOST": { + "properties": { + "global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-information(config)onap-model-information" + }, + "type": "object" + }, + "service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "(config)service-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)service-level-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)service-parameterPOST": { + "properties": { + "service-parameter-name": { + "$ref": "#/definitions/Optional.empty" + }, + "service-parameter-value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)service-parametersPOST": { + "properties": { + "service-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)service-pathPOST": { + "properties": { + "service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service" + }, + "type": "array" + }, + "service-path-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition" + }, + "service-path-instance-name": { + "$ref": "#/definitions/Optional.empty", + "description": "A unique name generated by SDNC ( forwarding-path-name + service-path-instance-id )" + }, + "version": { + "$ref": "#/definitions/Optional.empty", + "description": "Only one version of the service-path-instance data will be available in MD-SAL. version will be updated when the service-path-instance is reevaluated " + } + }, + "type": "object" + }, + "(config)service-pathsPOST": { + "properties": { + "service-path": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)service-request-inputPOST": { + "properties": { + "service-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input(config)service-input-parameters" + }, + "type": "object" + }, + "service-instance-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)service-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)service-statusPOST": { + "properties": { + "action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)service-topology-identifierPOST": { + "properties": { + "global-customer-id": { + "$ref": "#/definitions/Optional.empty" + }, + "service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "from MSO input on STO assign" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "repeated" + }, + "service-instance-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from service-request-input container or is assigned by sdn-c" + }, + "service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "tag labeled subscription-service-type in the service-information input" + } + }, + "type": "object" + }, + "(config)service-topologyPOST": { + "properties": { + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information" + }, + "type": "object" + }, + "service-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments" + }, + "type": "object" + }, + "service-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters" + }, + "type": "object" + }, + "service-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)servicePOST": { + "properties": { + "service-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data" + }, + "type": "object" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Keep as M" + }, + "service-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status" + }, + "type": "object" + } + }, + "required": [ + "service-instance-id" + ], + "type": "object" + }, + "(config)servicesPOST": { + "properties": { + "service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)source-networkPOST": { + "properties": { + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)source-portPOST": { + "properties": { + "pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)pnf-information" + }, + "type": "object" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "source-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "needed for srv-action=disable/enable" + }, + "vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)source-to-dest-mapPOST": { + "properties": { + "dest-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses" + }, + "type": "object" + }, + "dest-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "dest-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "dest-vserver-id": { + "$ref": "#/definitions/Optional.empty" + }, + "link-name": { + "$ref": "#/definitions/Optional.empty" + }, + "source-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "source-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "source-vserver-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "source-port-id" + ], + "type": "object" + }, + "(config)source-to-dest-mapsPOST": { + "properties": { + "source-to-dest-map": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)source-vnfc-instance-group-idPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "instance-group-role": { + "$ref": "#/definitions/Optional.empty" + }, + "nfc-naming-code": { + "$ref": "#/definitions/Optional.empty" + }, + "service-instance-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)sriov-parametersPOST": { + "properties": { + "application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + }, + "heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)sub-interface-ip-addressesPOST": { + "properties": { + "ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)sub-interface-network-dataPOST": { + "properties": { + "floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "network-id" + ], + "type": "object" + }, + "(config)sub-interface-networkPOST": { + "properties": { + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)sub-interfacePOST": { + "properties": { + "sub-interface-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses" + }, + "type": "object" + }, + "sub-interface-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network" + }, + "type": "object" + }, + "sub-interface-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "sub-interface-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "sub-interface-status": { + "$ref": "#/definitions/Optional.empty", + "description": "NULL, unassigned, assigned" + }, + "vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)sub-interfacesPOST": { + "properties": { + "sub-interface": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)subnet-assignment-policyPOST": { + "properties": { + "subnet-use": { + "$ref": "#/definitions/Optional.empty", + "description": "Current valid values - unique, shared (default)" + } + }, + "type": "object" + }, + "(config)subnet-dataPOST": { + "properties": { + "cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "(config)subnets-dataPOST": { + "properties": { + "subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)subnetsPOST": { + "properties": { + "addr-from-start": { + "$ref": "#/definitions/Optional.empty", + "description": "Default is N" + }, + "cidr-mask": { + "$ref": "#/definitions/Optional.empty" + }, + "dhcp-enabled": { + "$ref": "#/definitions/Optional.empty" + }, + "dhcp-end-address": { + "$ref": "#/definitions/Optional.empty" + }, + "dhcp-start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "gateway-address": { + "$ref": "#/definitions/Optional.empty" + }, + "ip-version": { + "$ref": "#/definitions/Optional.empty" + }, + "start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "subnet-name": { + "$ref": "#/definitions/Optional.empty" + }, + "subnet-role": { + "$ref": "#/definitions/Optional.empty" + }, + "subnet-sequence": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)tunnelxconn-allotted-resourcePOST": { + "properties": { + "allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "allotted-resource-id" + ], + "type": "object" + }, + "(config)tunnelxconn-allotted-resourcesPOST": { + "properties": { + "tunnelxconn-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)tunnelxconn-assignmentsPOST": { + "properties": { + "vg-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will assign the VG IP address from local inventory" + }, + "vgmux-bearer-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will look up the vgmux bearer ip from the vgmux vf module" + }, + "vgmux-lan-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will look up the vgmux lan ip from the vgmux vg module" + }, + "vni": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will assign a VNI value from the associated vGMUX VNI pool" + } + }, + "type": "object" + }, + "(config)tunnelxconn-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)tunnelxconn-request-inputPOST": { + "properties": { + "brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)tunnelxconn-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)tunnelxconn-topologyPOST": { + "properties": { + "allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information" + }, + "type": "object" + }, + "tunnelxconn-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments" + }, + "type": "object" + }, + "tunnelxconn-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vf-module-assignmentsPOST": { + "properties": { + "vf-module-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + }, + "vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + }, + "vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vf-module-dataPOST": { + "properties": { + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information" + }, + "type": "object" + }, + "vf-module-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information" + }, + "type": "object" + }, + "vf-module-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status" + }, + "type": "object" + }, + "vf-module-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input" + }, + "type": "object" + }, + "vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology" + }, + "type": "object" + }, + "vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vf-module-informationPOST": { + "properties": { + "from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-information(config)onap-model-information" + }, + "type": "object" + }, + "vf-module-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vf-module-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vf-module-instancePOST": { + "properties": { + "vf-module-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vf-module-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vf-module-level-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)vf-module-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vf-module-request-inputPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "request-version": { + "$ref": "#/definitions/Optional.empty", + "description": "keep this?" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "vf-module-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input(config)vf-module-input-parameters" + }, + "type": "object" + }, + "vf-module-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vf-module-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)vf-module-topology-identifierPOST": { + "properties": { + "vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module id" + }, + "vf-module-name": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name" + }, + "vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vf-module-topologyPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information" + }, + "type": "object" + }, + "sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + }, + "vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + }, + "vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vf-modulePOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module(config)param" + }, + "type": "array" + }, + "vf-module-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vf-modulesPOST": { + "properties": { + "vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vlan-common-ip-addressesPOST": { + "properties": { + "ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vlan-dataPOST": { + "properties": { + "vlan-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Inner/Outer roles" + }, + "vlan-tag-description": { + "$ref": "#/definitions/Optional.empty" + }, + "vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vlan-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS" + } + }, + "type": "object" + }, + "(config)vlan-tagsPOST": { + "properties": { + "is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "(config)vlan-vnfc-instance-groupPOST": { + "properties": { + "instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI ID" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "instance-group-id" + ], + "type": "object" + }, + "(config)vlan-vnfc-instance-groupsPOST": { + "properties": { + "vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vlan-vnicPOST": { + "properties": { + "vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "vnic-port-id" + ], + "type": "object" + }, + "(config)vlan-vnicsPOST": { + "properties": { + "vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vm-namesPOST": { + "properties": { + "vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vm-networkPOST": { + "properties": { + "floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + }, + "interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + }, + "is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + }, + "network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + }, + "network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF" + }, + "network-role-tag": { + "$ref": "#/definitions/Optional.empty" + }, + "related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + }, + "segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "required": [ + "network-role" + ], + "type": "object" + }, + "(config)vm-networksPOST": { + "properties": { + "vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vmPOST": { + "properties": { + "nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vm naming(draft 29: changed from nfc-code)" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + }, + "vm-count": { + "$ref": "#/definitions/Optional.empty" + }, + "vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + }, + "vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + }, + "vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "vm-type-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "from tosca data on vfc" + } + }, + "required": [ + "vm-type" + ], + "type": "object" + }, + "(config)vmsPOST": { + "properties": { + "vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-dataPOST": { + "properties": { + "license-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information" + }, + "type": "object" + }, + "request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information" + }, + "type": "object" + }, + "sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header" + }, + "type": "object" + }, + "service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information" + }, + "type": "object" + }, + "vf-modules": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules" + }, + "type": "object" + }, + "vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information" + }, + "type": "object" + }, + "vnf-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status" + }, + "type": "object" + }, + "vnf-network-collections": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections" + }, + "type": "object" + }, + "vnf-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources" + }, + "type": "object" + }, + "vnf-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input" + }, + "type": "object" + }, + "vnf-sub-interface-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups" + }, + "type": "object" + }, + "vnf-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnf-floating-ipPOST": { + "properties": { + "ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnf-get-resource-response-informationPOST": { + "properties": { + "service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "service-instance-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-informationPOST": { + "properties": { + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vnf-input-parametersPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-level-oper-statusPOST": { + "properties": { + "create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "(config)vnf-network-collectionPOST": { + "properties": { + "network-collection-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI" + }, + "network-collection-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of service that created the network collection" + }, + "network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "Network Instance-Group function in A&AI" + }, + "network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Network Instance-Group id in A&AI" + }, + "vnf-floating-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip" + }, + "type": "object" + } + }, + "required": [ + "network-instance-group-function" + ], + "type": "object" + }, + "(config)vnf-network-collectionsPOST": { + "properties": { + "vnf-network-collection": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-network-instance-group-idsPOST": { + "properties": { + "vnf-network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "List of vnf network-instance-group" + } + }, + "type": "object" + }, + "(config)vnf-networkPOST": { + "properties": { + "contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnf-networksPOST": { + "properties": { + "vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-parameters-dataPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-provided-allotted-resourcesPOST": { + "type": "object" + }, + "(config)vnf-request-inputPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "request-version": { + "$ref": "#/definitions/Optional.empty" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-input-parameters" + }, + "type": "object" + }, + "vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-network-instance-group-ids": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-network-instance-group-ids" + }, + "type": "array" + }, + "vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnf-resource-assignmentsPOST": { + "properties": { + "availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + }, + "vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + }, + "vnf-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + } + }, + "type": "object" + }, + "(config)vnf-response-informationPOST": { + "properties": { + "instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "(config)vnf-sub-interface-groupPOST": { + "properties": { + "customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests" + }, + "type": "object" + }, + "network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "parent-port-role": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "network-instance-group-function", + "parent-port-role", + "vnfc-instance-group-function" + ], + "type": "object" + }, + "(config)vnf-sub-interface-groupsPOST": { + "properties": { + "vnf-sub-interface-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnf-topology-identifier-structurePOST": { + "properties": { + "nf-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vnf naming" + }, + "nf-function": { + "$ref": "#/definitions/Optional.empty" + }, + "nf-role": { + "$ref": "#/definitions/Optional.empty" + }, + "nf-type": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from vnf-request-input container or is assigned by sdn-c" + }, + "vnf-type": { + "$ref": "#/definitions/Optional.empty", + "description": "In preload tree, this label is used for the vf-module-type" + } + }, + "type": "object" + }, + "(config)vnf-topologyPOST": { + "properties": { + "aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information" + }, + "type": "object" + }, + "sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc generated cloud param" + }, + "tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-parameters-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data" + }, + "type": "object" + }, + "vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments" + }, + "type": "object" + }, + "vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnfPOST": { + "properties": { + "param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)param" + }, + "type": "array" + }, + "vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)vf-module" + }, + "type": "array" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vnfc-instance-groupPOST": { + "properties": { + "configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "group-type": { + "$ref": "#/definitions/Optional.empty", + "description": " port-mirror-source or port-mirror-dest" + }, + "instance-group-role": { + "$ref": "#/definitions/Optional.empty", + "description": "i.e.TSBC_VNFC_group" + }, + "nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "Set to nfc-naming-code from A&AI" + }, + "vnfc-objects": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects" + }, + "type": "object" + } + }, + "required": [ + "configuration-id", + "instance-group-role", + "nfc-naming-code" + ], + "type": "object" + }, + "(config)vnfc-instance-groupsPOST": { + "properties": { + "vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnfc-ip-assignmentsPOST": { + "properties": { + "vnfc-address-family": { + "$ref": "#/definitions/Optional.empty", + "description": "indicates if this is IpV4 or IpV6" + }, + "vnfc-subnet-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned " + }, + "vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + }, + "vnfc-subnet-ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of IP addresses to be assigned per vnfc for this subnet role" + } + }, + "type": "object" + }, + "(config)vnfc-namesPOST": { + "properties": { + "vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnfc-network-dataPOST": { + "properties": { + "connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + }, + "vnfc-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + }, + "vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + }, + "vnfc-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "vnfc-network-role" + ], + "type": "object" + }, + "(config)vnfc-networksPOST": { + "properties": { + "vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnfc-objectPOST": { + "properties": { + "vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-key": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Vnfc name as key in A&AI" + }, + "vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics" + }, + "type": "object" + }, + "vserver-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vserver-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vnfc-objectsPOST": { + "properties": { + "vnfc-object": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnfc-portPOST": { + "properties": { + "common-sub-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "If sub-interfaces have common interface role (network role)" + }, + "vnfc-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y" + }, + "vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "vnfc-port-id" + ], + "type": "object" + }, + "(config)vnfc-portsPOST": { + "properties": { + "vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnfc-subnet-ipPOST": { + "properties": { + "ip-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. " + }, + "vnfc-client-key": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-ip-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Either IpV4 IP or IpV6 IP addresses should be present" + } + }, + "type": "object" + }, + "(config)vnfc-subnetPOST": { + "properties": { + "vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + }, + "vnfc-subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Default value if subnet role is not defined." + } + }, + "required": [ + "vnfc-subnet-role" + ], + "type": "object" + }, + "(config)vnfcPOST": { + "properties": { + "vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnfcsPOST": { + "properties": { + "vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnfsPOST": { + "properties": { + "vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnic-groupPOST": { + "properties": { + "network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect" + }, + "vlan-assignment-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Policy name in ASDC model & policy definition in Policy Engine" + }, + "vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + }, + "vlan-tag-index-next": { + "$ref": "#/definitions/Optional.empty", + "description": "Next tag to be assigned" + }, + "vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + }, + "vnic-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Same as network-role of network where vnic is connected" + } + }, + "required": [ + "vnic-interface-role" + ], + "type": "object" + }, + "(config)vnic-groupsPOST": { + "properties": { + "vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnic-ip-addressesPOST": { + "properties": { + "ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "(config)vnic-sub-interfacesPOST": { + "properties": { + "sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnicPOST": { + "properties": { + "capacity": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity" + }, + "type": "object" + }, + "vnic-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses" + }, + "type": "object" + }, + "vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnic-port-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vnicsPOST": { + "properties": { + "vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "(config)vnr-parametersPOST": { + "properties": { + "lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-collection-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "service instance id that created network-collection" + }, + "network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "network-instance-group-id": { + "$ref": "#/definitions/Optional.empty" + }, + "parent-port-role": { + "$ref": "#/definitions/Optional.empty" + }, + "upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnf-service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vnfc-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vpn-binding-policyPOST": { + "properties": { + "global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-binding": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-name": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-platform": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(config)vpn-bindingsPOST": { + "properties": { + "aic-zone": { + "$ref": "#/definitions/Optional.empty", + "description": "AIC Zone the route target associated with" + }, + "global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-binding-id": { + "$ref": "#/definitions/Optional.empty" + }, + "vpn-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(connection-attachment-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(connection-attachment-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(connection-attachment-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(connection-attachment-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:connection-attachment-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(connection-attachment-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(connection-attachment-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(contrail-route-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(contrail-route-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(contrail-route-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(contrail-route-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:contrail-route-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(contrail-route-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(contrail-route-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(generic-configuration-notification)input": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)configuration-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:configuration-topology-link": { + "$ref": "#/definitions/Optional.empty", + "description": "Returns URL to generic-configuration-topology " + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + }, + "GENERIC-RESOURCE-API:vnr-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnr-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "(generic-configuration-notification)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(generic-configuration-notification)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(generic-configuration-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)configuration-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:gc-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)gc-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(generic-configuration-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(generic-configuration-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(generic-configuration-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:gc-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)gc-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(generic-configuration-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(generic-configuration-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(getpathsegment-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)forwarding-path-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(getpathsegment-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(getpathsegment-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(getpathsegment-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:getpathsegment-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)getpathsegment-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(getpathsegment-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(getpathsegment-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(network-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:network-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(network-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(network-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(network-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:network-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(network-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(network-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(policy-update-notify-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:policy-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:update-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:version-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Map JSON versionNo to version-id" + } + }, + "required": [ + "GENERIC-RESOURCE-API:policy-name", + "GENERIC-RESOURCE-API:update-type", + "GENERIC-RESOURCE-API:version-id" + ], + "type": "object" + }, + "(policy-update-notify-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(policy-update-notify-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(policy-update-notify-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:error-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:error-msg": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(policy-update-notify-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(policy-update-notify-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(port-mirror-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)configuration-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configuration-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(port-mirror-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(port-mirror-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(port-mirror-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:port-mirror-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(port-mirror-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(port-mirror-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-network-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:preload-network-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-network-topology-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-network-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(preload-network-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-network-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(preload-network-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(preload-network-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-vf-module-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:preload-vf-module-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-vf-module-topology-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-vf-module-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(preload-vf-module-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(preload-vf-module-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "(preload-vf-module-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(preload-vf-module-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(security-zone-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(security-zone-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(security-zone-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(security-zone-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:security-zone-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(security-zone-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(security-zone-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(service-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(service-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(service-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(service-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + } + }, + "type": "object" + }, + "(service-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(service-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(tunnelxconn-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(tunnelxconn-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(tunnelxconn-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(tunnelxconn-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + }, + "GENERIC-RESOURCE-API:tunnelxconn-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(tunnelxconn-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(tunnelxconn-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-module-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-module-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(vf-module-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-module-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + }, + "GENERIC-RESOURCE-API:vf-module-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vf-module-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(vf-module-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-get-resource-request)input": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "(vnf-get-resource-request)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(vnf-get-resource-request)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-get-resource-request)output": { + "properties": { + "GENERIC-RESOURCE-API:vnf-get-resource-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-get-resource-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-get-resource-request)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(vnf-get-resource-request)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-topology-operation)input": { + "properties": { + "GENERIC-RESOURCE-API:license-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)license-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-topology-operation)input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input": { + "items": { + "$ref": "#/definitions/(vnf-topology-operation)input" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-topology-operation)output": { + "properties": { + "GENERIC-RESOURCE-API:ack-final-indicator": { + "$ref": "#/definitions/Optional.empty", + "description": "Expected to be Y or N." + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty", + "description": "a success code or an defined error codeKeep as M" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty", + "description": "message included for error code" + }, + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "the request id from the request message for which this is the responseKeep as M" + }, + "GENERIC-RESOURCE-API:vnf-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "(vnf-topology-operation)output-TOP": { + "properties": { + "GENERIC-RESOURCE-API:output": { + "items": { + "$ref": "#/definitions/(vnf-topology-operation)output" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:brg-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-request-input": { + "properties": { + "GENERIC-RESOURCE-API:brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vgmux-bearer-ip": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vni": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)brg-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)brg-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)configuration-information": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration" + }, + "GENERIC-RESOURCE-API:configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)configuration-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)configuration-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-request-input": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)connection-attachment-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)connection-attachment-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-request-input": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service-info": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-applied-service-info" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-route-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)dest-network" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)contrail-route-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)contrail-route-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)forwarding-path-request-input": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input(config)forwarding-paths" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)forwarding-path-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)forwarding-path-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)gc-request-input": { + "properties": { + "GENERIC-RESOURCE-API:input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input(config)input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)gc-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:gc-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)gc-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)gc-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)gc-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:gc-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)gc-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)generic-configurations": { + "properties": { + "GENERIC-RESOURCE-API:gc-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)generic-configurations-TOP": { + "properties": { + "GENERIC-RESOURCE-API:generic-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)generic-configurations" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)getpathsegment-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)getpathsegment-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:getpathsegment-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)getpathsegment-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)license-information": { + "properties": { + "GENERIC-RESOURCE-API:entitlement-pool-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)entitlement-pool-list" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:license-key-group-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)license-key-group-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)license-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:license-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)license-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-information": { + "properties": { + "GENERIC-RESOURCE-API:from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:network-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input(config)network-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network has instance-group role in service model" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)network-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)network-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-configuration-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:dest-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)dest-port" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:source-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)source-port" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-configuration-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configuration-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-configurations": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-configurations-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-configurations" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)port-mirror-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)port-mirror-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-information": { + "properties": { + "GENERIC-RESOURCE-API:preload-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-network-topology-information": { + "properties": { + "GENERIC-RESOURCE-API:host-routes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)host-routes" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:is-external-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-provider-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-shared-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-policy" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-topology-identifier-structure" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:physical-network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-table-reference": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)route-table-reference" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)subnets" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-network-topology-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-network-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-network-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-vf-module-topology-information": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vf-module-topology" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-resource-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)preload-vf-module-topology-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-vf-module-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)preload-vf-module-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-request-input": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input(config)security-zone-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:trusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the landing networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:untrusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the tenant oam networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:vlan-tag": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)security-zone-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)security-zone-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-request-input": { + "properties": { + "GENERIC-RESOURCE-API:service-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input(config)service-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)service-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)service-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)services": { + "properties": { + "GENERIC-RESOURCE-API:service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)services-TOP": { + "properties": { + "GENERIC-RESOURCE-API:services": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)services" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-request-input": { + "properties": { + "GENERIC-RESOURCE-API:brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)tunnelxconn-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)tunnelxconn-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-information": { + "properties": { + "GENERIC-RESOURCE-API:from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:request-version": { + "$ref": "#/definitions/Optional.empty", + "description": "keep this?" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input(config)vf-module-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vf-module-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vf-module-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf": { + "properties": { + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf(config)vf-module" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-get-resource-response-information": { + "properties": { + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:service-instance-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-get-resource-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-get-resource-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-get-resource-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:request-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-network-instance-group-ids": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-network-instance-group-ids" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-response-information": { + "properties": { + "GENERIC-RESOURCE-API:instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:object-path": { + "$ref": "#/definitions/Optional.empty", + "description": "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnf-response-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-response-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnf-response-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnr-parameters": { + "properties": { + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-collection-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "service instance id that created network-collection" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:parent-port-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(config)vnr-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnr-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(config)vnr-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)brg-allotted-resources": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)brg-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)brg-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)connection-attachment-allotted-resources": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)connection-attachment-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)connection-attachment-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)contrail-route-allotted-resources": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)contrail-route-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)contrail-route-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)generic-configurations": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)generic-configurations-TOP": { + "properties": { + "GENERIC-RESOURCE-API:generic-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)generic-configurations" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)port-mirror-configurations": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)port-mirror-configurations-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)port-mirror-configurations" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)preload-information": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)preload-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)preload-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)security-zone-allotted-resources": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)security-zone-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)security-zone-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)services": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)services-TOP": { + "properties": { + "GENERIC-RESOURCE-API:services": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)services" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)tunnelxconn-allotted-resources": { + "type": "object" + }, + "GENERIC-RESOURCE-API(operational)tunnelxconn-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API(operational)tunnelxconn-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:allotted-resource-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources(config)brg-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:brg-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data(config)brg-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input": { + "properties": { + "GENERIC-RESOURCE-API:brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vgmux-bearer-ip": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vni": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)brg-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "GENERIC-RESOURCE-API:consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)allotted-resource-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vbrg-wan-ip": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:brg-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)brg-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/brg-allotted-resources/brg-allotted-resource/allotted-resource-data/brg-topology/brg-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/configuration-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/configuration-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:allotted-resource-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources(config)connection-attachment-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data(config)connection-attachment-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)connection-attachment-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/connection-attachment-request-input/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "GENERIC-RESOURCE-API:consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)allotted-resource-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments": { + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-attachment-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)connection-attachment-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-allotted-resources/connection-attachment-allotted-resource/allotted-resource-data/connection-attachment-topology/connection-attachment-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/connection-attachment-request-input/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/connection-attachment-request-input/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:allotted-resource-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources(config)contrail-route-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data(config)contrail-route-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service-info": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-route-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)contrail-route-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info": { + "properties": { + "GENERIC-RESOURCE-API:contrail-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing." + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service-info": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-applied-service-info" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)contrail-route-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)dest-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "GENERIC-RESOURCE-API:consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)allotted-resource-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:contrail-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The ID assigned by Contrail to the network-policy (one for one with the fq-name)" + }, + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:fq-name": { + "$ref": "#/definitions/Optional.empty", + "description": "The Contrail fq-name of the network policy" + }, + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vlan-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Contrail-assigned vlan-tag to the vipr vm interface for this route." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)contrail-route-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service": { + "properties": { + "GENERIC-RESOURCE-API:contrail-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the fq-name of the Contrail service instance through which the route is passing." + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the vnf from which the contrail applied service is coming" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The vnf representing the contrail applied service" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)contrail-applied-service" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)dest-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-assignments(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-allotted-resources/contrail-route-allotted-resource/allotted-resource-data/contrail-route-topology/contrail-route-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-applied-service-info": { + "properties": { + "GENERIC-RESOURCE-API:contrail-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing." + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-applied-service-info-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-applied-service-info": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-applied-service-info" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-route-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-route-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-route-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)contrail-route-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)dest-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)dest-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)dest-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)source-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input(config)source-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input(config)source-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/contrail-route-request-input/contrail-route-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/forwarding-path-request-input(config)forwarding-paths": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Forwarding-path-name from tosca-model. " + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input/forwarding-paths(config)onap-model-information" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:forwarding-path-name" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/forwarding-path-request-input(config)forwarding-paths-TOP": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input(config)forwarding-paths" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/forwarding-path-request-input/forwarding-paths(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/forwarding-path-request-input/forwarding-paths(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/forwarding-path-request-input/forwarding-paths(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input(config)input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input(config)input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input(config)input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration": { + "properties": { + "GENERIC-RESOURCE-API:configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:configuration-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration-TOP": { + "properties": { + "GENERIC-RESOURCE-API:gc-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations(config)gc-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data": { + "properties": { + "GENERIC-RESOURCE-API:configuration-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:configuration-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:gc-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data(config)configuration-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration" + }, + "GENERIC-RESOURCE-API:configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)configuration-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input": { + "properties": { + "GENERIC-RESOURCE-API:input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:gc-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)gc-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input(config)input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/gc-request-input/input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/generic-configurations/gc-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/license-information(config)entitlement-pool-list": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-pool-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-pool-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "GENERIC-RESOURCE-API:action", + "GENERIC-RESOURCE-API:entitlement-pool-uuid" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/license-information(config)entitlement-pool-list-TOP": { + "properties": { + "GENERIC-RESOURCE-API:entitlement-pool-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)entitlement-pool-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/license-information(config)license-key-group-list": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-key": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + }, + "GENERIC-RESOURCE-API:license-key-group-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-key-group-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "GENERIC-RESOURCE-API:action", + "GENERIC-RESOURCE-API:license-key-group-uuid" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/license-information(config)license-key-group-list-TOP": { + "properties": { + "GENERIC-RESOURCE-API:license-key-group-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/license-information(config)license-key-group-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input(config)network-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input(config)network-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input(config)network-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)dest-port": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)pnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)dest-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)dest-port" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)source-port": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)pnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "GENERIC-RESOURCE-API:source-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "needed for srv-action=disable/enable" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)source-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input(config)source-port" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)pnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Key for A&AI query" + }, + "GENERIC-RESOURCE-API:pnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)pnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)pnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)pnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Key for A&AI query" + }, + "GENERIC-RESOURCE-API:pnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)pnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)pnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration": { + "properties": { + "GENERIC-RESOURCE-API:configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:configuration-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations(config)port-mirror-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data": { + "properties": { + "GENERIC-RESOURCE-API:configuration-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:configuration-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration(config)configuration-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)configuration-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology": { + "properties": { + "GENERIC-RESOURCE-API:configuration-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data(config)port-mirror-configuration-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration" + }, + "GENERIC-RESOURCE-API:configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)configuration-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:dest-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:port-mirror-configuration-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:source-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)port-mirror-configuration-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/configuration-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)dest-port" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)port-mirror-configuration-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "May not be need." + }, + "GENERIC-RESOURCE-API:source-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "needed for srv-action=disable/enable" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input(config)source-port" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Key for A&AI query" + }, + "GENERIC-RESOURCE-API:pnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)pnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/pnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/dest-port/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/port-mirror-configuration-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Key for A&AI query" + }, + "GENERIC-RESOURCE-API:pnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:pnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)pnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/pnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/port-mirror-configuration-request-input/source-port/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/configuration-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": " vprobe and pprobe" + }, + "GENERIC-RESOURCE-API:configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration." + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:configuration-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)configuration-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments": { + "properties": { + "GENERIC-RESOURCE-API:cloud-owner": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:cloud-region-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:contrail-vmi-params": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:dest-network-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dest-p-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe; from policy manager" + }, + "GENERIC-RESOURCE-API:dest-pnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe" + }, + "GENERIC-RESOURCE-API:dest-pnf-port-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For pProbe; from tosca model" + }, + "GENERIC-RESOURCE-API:dest-tenant": { + "$ref": "#/definitions/Optional.empty", + "description": "Tenant name from A&AI for destination VNF" + }, + "GENERIC-RESOURCE-API:dest-tenant-id": { + "$ref": "#/definitions/Optional.empty", + "description": "tenant-id from A&AI for destination VNF" + }, + "GENERIC-RESOURCE-API:dest-vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "For vProbe" + }, + "GENERIC-RESOURCE-API:dest-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:owning-entity": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:probe-type": { + "$ref": "#/definitions/Optional.empty", + "description": "vprobe or pprobe; derived from configuration-information.configuration-sub-type" + }, + "GENERIC-RESOURCE-API:route-allotted-resource-id": { + "$ref": "#/definitions/Optional.empty", + "description": "For vProbe" + }, + "GENERIC-RESOURCE-API:source-capacity": { + "$ref": "#/definitions/Optional.empty", + "description": "Source port pps (packets per second) rating from tosca model" + }, + "GENERIC-RESOURCE-API:source-network-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:source-to-dest-maps": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:source-vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:source-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty", + "description": "Tenant name from A&AI for source VNF" + }, + "GENERIC-RESOURCE-API:tenant-context": { + "$ref": "#/definitions/Optional.empty", + "description": "From tenant object in A&AI" + }, + "GENERIC-RESOURCE-API:tenant-id": { + "$ref": "#/definitions/Optional.empty", + "description": "tenant-id from A&AI for source VNF" + }, + "GENERIC-RESOURCE-API:vnics-group-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:port-mirror-configuration-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology(config)port-mirror-configuration-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params-TOP": { + "properties": { + "GENERIC-RESOURCE-API:contrail-vmi-params": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)contrail-vmi-params" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:instance-group-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)dest-vnfc-instance-group-id" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps": { + "properties": { + "GENERIC-RESOURCE-API:source-to-dest-map": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-to-dest-maps": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-to-dest-maps" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:instance-group-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-vnfc-instance-group-id": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments(config)source-vnfc-instance-group-id" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/contrail-vmi-params/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map": { + "properties": { + "GENERIC-RESOURCE-API:dest-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:dest-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dest-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dest-vserver-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:link-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:source-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:source-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:source-vserver-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:source-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map-TOP": { + "properties": { + "GENERIC-RESOURCE-API:source-to-dest-map": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps(config)source-to-dest-map" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:dest-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map(config)dest-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-assignments/source-to-dest-maps/source-to-dest-map/dest-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/port-mirror-configurations/port-mirror-configuration/configuration-data/port-mirror-configuration-topology/port-mirror-configuration-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information(config)preload-list": { + "properties": { + "GENERIC-RESOURCE-API:preload-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:preload-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name or network name" + }, + "GENERIC-RESOURCE-API:preload-type": { + "$ref": "#/definitions/Optional.empty", + "description": "network or vf-module" + } + }, + "required": [ + "GENERIC-RESOURCE-API:preload-id", + "GENERIC-RESOURCE-API:preload-type" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information(config)preload-list-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information(config)preload-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data": { + "properties": { + "GENERIC-RESOURCE-API:preload-network-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:preload-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:preload-vf-module-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list(config)preload-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information": { + "properties": { + "GENERIC-RESOURCE-API:host-routes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:is-external-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-provider-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-shared-network": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:physical-network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-table-reference": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-network-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-network-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:maintenance-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:preload-vf-module-topology-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data(config)preload-vf-module-topology-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes": { + "properties": { + "GENERIC-RESOURCE-API:next-hop": { + "$ref": "#/definitions/Optional.empty", + "description": "Could be ip-address or hostname or service-instance" + }, + "GENERIC-RESOURCE-API:route-prefix": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes-TOP": { + "properties": { + "GENERIC-RESOURCE-API:host-routes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)host-routes" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy": { + "properties": { + "GENERIC-RESOURCE-API:network-policy-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-policy-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:eipam-v4-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:eipam-v6-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network is part of network instance-Group-data & instance Group in A&AI" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)network-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference": { + "properties": { + "GENERIC-RESOURCE-API:route-table-reference-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-table-reference-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:route-table-reference-fqdn" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference-TOP": { + "properties": { + "GENERIC-RESOURCE-API:route-table-reference": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)route-table-reference" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets": { + "properties": { + "GENERIC-RESOURCE-API:addr-from-start": { + "$ref": "#/definitions/Optional.empty", + "description": "Default is N" + }, + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-end-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-sequence": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)subnets" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings": { + "properties": { + "GENERIC-RESOURCE-API:aic-zone": { + "$ref": "#/definitions/Optional.empty", + "description": "AIC Zone the route target associated with" + }, + "GENERIC-RESOURCE-API:global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-binding-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vf-module-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-resource-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:nf-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vnf naming" + }, + "GENERIC-RESOURCE-API:nf-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from vnf-request-input container or is assigned by sdn-c" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty", + "description": "In preload tree, this label is used for the vf-module-type" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + }, + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module id" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name" + }, + "GENERIC-RESOURCE-API:vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group": { + "properties": { + "GENERIC-RESOURCE-API:instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI ID" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:instance-group-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect" + }, + "GENERIC-RESOURCE-API:vlan-assignment-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Policy name in ASDC model & policy definition in Policy Engine" + }, + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vlan-tag-index-next": { + "$ref": "#/definitions/Optional.empty", + "description": "Next tag to be assigned" + }, + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Same as network-role of network where vnic is connected" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-interface-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic": { + "properties": { + "GENERIC-RESOURCE-API:vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm": { + "properties": { + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vm naming(draft 29: changed from nfc-code)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-count": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-type-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "from tosca data on vfc" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vm-type" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names": { + "properties": { + "GENERIC-RESOURCE-API:vm-name": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point": { + "properties": { + "GENERIC-RESOURCE-API:connection-point-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to CP object in A&AI" + }, + "GENERIC-RESOURCE-API:port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "port-index when multiple CPs connect to same network. Default zero (0)" + }, + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Default value if subnet role is not defined." + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-subnet-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data": { + "properties": { + "GENERIC-RESOURCE-API:vlan-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Inner/Outer roles" + }, + "GENERIC-RESOURCE-API:vlan-tag-description": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port": { + "properties": { + "GENERIC-RESOURCE-API:common-sub-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "If sub-interfaces have common interface role (network role)" + }, + "GENERIC-RESOURCE-API:vnfc-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-address-family": { + "$ref": "#/definitions/Optional.empty", + "description": "indicates if this is IpV4 or IpV6" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned " + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of IP addresses to be assigned per vnfc for this subnet role" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip": { + "properties": { + "GENERIC-RESOURCE-API:ip-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. " + }, + "GENERIC-RESOURCE-API:vnfc-client-key": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ip-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Either IpV4 IP or IpV6 IP addresses should be present" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF" + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefix": { + "description": "ordered-by: user", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses": { + "properties": { + "GENERIC-RESOURCE-API:mac-address": { + "description": "List of network assignments for this vm-type", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filter": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags": { + "properties": { + "GENERIC-RESOURCE-API:s-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones": { + "properties": { + "GENERIC-RESOURCE-API:availability-zone": { + "description": "Openstack availability zone name or UUID", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:max-count": { + "$ref": "#/definitions/Optional.empty", + "description": "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones-TOP": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network": { + "properties": { + "GENERIC-RESOURCE-API:contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "GENERIC-RESOURCE-API:neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data": { + "properties": { + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "GENERIC-RESOURCE-API:sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "GENERIC-RESOURCE-API:subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-information/preload-list/preload-data/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)host-routes": { + "properties": { + "GENERIC-RESOURCE-API:next-hop": { + "$ref": "#/definitions/Optional.empty", + "description": "Could be ip-address or hostname or service-instance" + }, + "GENERIC-RESOURCE-API:route-prefix": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)host-routes-TOP": { + "properties": { + "GENERIC-RESOURCE-API:host-routes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)host-routes" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)network-policy": { + "properties": { + "GENERIC-RESOURCE-API:network-policy-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-policy-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)network-policy-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)network-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:eipam-v4-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:eipam-v6-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network is part of network instance-Group-data & instance Group in A&AI" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)network-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)network-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)route-table-reference": { + "properties": { + "GENERIC-RESOURCE-API:route-table-reference-fqdn": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-table-reference-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:route-table-reference-fqdn" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)route-table-reference-TOP": { + "properties": { + "GENERIC-RESOURCE-API:route-table-reference": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)route-table-reference" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)subnets": { + "properties": { + "GENERIC-RESOURCE-API:addr-from-start": { + "$ref": "#/definitions/Optional.empty", + "description": "Default is N" + }, + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-end-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-sequence": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)subnets-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)subnets" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)vpn-bindings": { + "properties": { + "GENERIC-RESOURCE-API:aic-zone": { + "$ref": "#/definitions/Optional.empty", + "description": "AIC Zone the route target associated with" + }, + "GENERIC-RESOURCE-API:global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-binding-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information(config)vpn-bindings-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-network-topology-information/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vf-module-topology": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vf-module-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vf-module-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-resource-assignments": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-resource-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-resource-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:nf-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vnf naming" + }, + "GENERIC-RESOURCE-API:nf-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from vnf-request-input container or is assigned by sdn-c" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty", + "description": "In preload tree, this label is used for the vf-module-type" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + }, + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module id" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name" + }, + "GENERIC-RESOURCE-API:vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group": { + "properties": { + "GENERIC-RESOURCE-API:instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI ID" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:instance-group-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect" + }, + "GENERIC-RESOURCE-API:vlan-assignment-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Policy name in ASDC model & policy definition in Policy Engine" + }, + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vlan-tag-index-next": { + "$ref": "#/definitions/Optional.empty", + "description": "Next tag to be assigned" + }, + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Same as network-role of network where vnic is connected" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-interface-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic": { + "properties": { + "GENERIC-RESOURCE-API:vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm": { + "properties": { + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vm naming(draft 29: changed from nfc-code)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-count": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-type-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "from tosca data on vfc" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vm-type" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names": { + "properties": { + "GENERIC-RESOURCE-API:vm-name": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point": { + "properties": { + "GENERIC-RESOURCE-API:connection-point-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to CP object in A&AI" + }, + "GENERIC-RESOURCE-API:port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "port-index when multiple CPs connect to same network. Default zero (0)" + }, + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Default value if subnet role is not defined." + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-subnet-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data": { + "properties": { + "GENERIC-RESOURCE-API:vlan-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Inner/Outer roles" + }, + "GENERIC-RESOURCE-API:vlan-tag-description": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port": { + "properties": { + "GENERIC-RESOURCE-API:common-sub-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "If sub-interfaces have common interface role (network role)" + }, + "GENERIC-RESOURCE-API:vnfc-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-address-family": { + "$ref": "#/definitions/Optional.empty", + "description": "indicates if this is IpV4 or IpV6" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned " + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of IP addresses to be assigned per vnfc for this subnet role" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip": { + "properties": { + "GENERIC-RESOURCE-API:ip-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. " + }, + "GENERIC-RESOURCE-API:vnfc-client-key": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ip-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Either IpV4 IP or IpV6 IP addresses should be present" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF" + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefix": { + "description": "ordered-by: user", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses": { + "properties": { + "GENERIC-RESOURCE-API:mac-address": { + "description": "List of network assignments for this vm-type", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filter": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags": { + "properties": { + "GENERIC-RESOURCE-API:s-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones": { + "properties": { + "GENERIC-RESOURCE-API:availability-zone": { + "description": "Openstack availability zone name or UUID", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:max-count": { + "$ref": "#/definitions/Optional.empty", + "description": "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones-TOP": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network": { + "properties": { + "GENERIC-RESOURCE-API:contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "GENERIC-RESOURCE-API:neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data": { + "properties": { + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "GENERIC-RESOURCE-API:sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "GENERIC-RESOURCE-API:subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/preload-vf-module-topology-information/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:allotted-resource-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources(config)security-zone-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:security-zone-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data(config)security-zone-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:trusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the landing networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:untrusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the tenant oam networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:vlan-tag": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)security-zone-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input(config)security-zone-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "GENERIC-RESOURCE-API:consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)allotted-resource-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-name-trusted": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:security-zone-name-untrusted": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:security-zone-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Will be the same as the parent-service-instance-id" + }, + "GENERIC-RESOURCE-API:security-zone-vnf-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Selected by SDNC from the security-zone-service-instance-id" + }, + "GENERIC-RESOURCE-API:trusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the landing networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:untrusted-network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "In the case of vIPR, this is the tenant oam networks network-role; used in naming" + }, + "GENERIC-RESOURCE-API:vlan-tag": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology(config)security-zone-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-allotted-resources/security-zone-allotted-resource/allotted-resource-data/security-zone-topology/security-zone-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input(config)security-zone-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input(config)security-zone-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:security-zone-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input(config)security-zone-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/security-zone-request-input/security-zone-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input(config)service-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input(config)service-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input(config)service-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services(config)service": { + "properties": { + "GENERIC-RESOURCE-API:service-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Keep as M" + }, + "GENERIC-RESOURCE-API:service-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:service-instance-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services(config)service-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services(config)service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service(config)service-data": { + "properties": { + "GENERIC-RESOURCE-API:consumed-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:provided-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service(config)service-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service(config)service-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service(config)service-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service(config)service-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:consumed-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:consumed-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)consumed-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths-TOP": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)forwarding-paths" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)network-instance-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)networks": { + "properties": { + "GENERIC-RESOURCE-API:network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks(config)network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:provided-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations": { + "properties": { + "GENERIC-RESOURCE-API:provided-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations-TOP": { + "properties": { + "GENERIC-RESOURCE-API:provided-configurations": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)provided-configurations" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-level-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input": { + "properties": { + "GENERIC-RESOURCE-API:service-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-topology": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)service-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)service-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfc-instance-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)vnfs": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data(config)vnfs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data(config)vnfs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-pointer": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the allotted-resources topology" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:consumed-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/consumed-allotted-resources(config)consumed-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Generated by SDNC" + }, + "GENERIC-RESOURCE-API:forwarding-path-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Fowarding-path name from TOSCA model, or name generated by SDNC" + }, + "GENERIC-RESOURCE-API:forwarding-path-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:forwarding-path-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path-TOP": { + "properties": { + "GENERIC-RESOURCE-API:forwarding-path": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths(config)forwarding-path" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths": { + "properties": { + "GENERIC-RESOURCE-API:service-path": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-paths": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path(config)service-paths" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path": { + "properties": { + "GENERIC-RESOURCE-API:service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:service-path-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition" + }, + "GENERIC-RESOURCE-API:service-path-instance-name": { + "$ref": "#/definitions/Optional.empty", + "description": "A unique name generated by SDNC ( forwarding-path-name + service-path-instance-id )" + }, + "GENERIC-RESOURCE-API:version": { + "$ref": "#/definitions/Optional.empty", + "description": "Only one version of the service-path-instance data will be available in MD-SAL. version will be updated when the service-path-instance is reevaluated " + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-path": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths(config)service-path" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service": { + "properties": { + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "service-instance-id of each service-instance in the service-path-instance" + }, + "GENERIC-RESOURCE-API:service-path-sequence-id": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. S1S2S3S5seq id=1 S1-S2seq id=2 S2S3seq id=3 S3S5Incremental integer value" + }, + "GENERIC-RESOURCE-API:vnfs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path(config)service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service(config)vnfs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf": { + "properties": { + "GENERIC-RESOURCE-API:left-network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Every VNF instance in the path is connected to one or two VNFs." + }, + "GENERIC-RESOURCE-API:left-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:right-network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:right-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-instance": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "VNF instance ID in the path" + }, + "GENERIC-RESOURCE-API:vnf-path-sequence-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Sequence ID at the VNF instance levele.g. e.g. V1V2V3V5V6seq id=1 V1-V2seq id=2 V2V3seq id=3 V3V5seq id=4 V5V6incremental integer value." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-instance": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/forwarding-paths/forwarding-path/service-paths/service-path/service/vnfs/vnf(config)vf-module-instance" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Also a Key in Network Instance Group in A&AI" + }, + "GENERIC-RESOURCE-API:networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-assignment-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:subnet-key-value": { + "$ref": "#/definitions/Optional.empty", + "description": "key-value provided to EIPAM when creating shared subnet" + }, + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vpn-binding-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-instance-group-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups(config)network-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks": { + "properties": { + "GENERIC-RESOURCE-API:network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy": { + "properties": { + "GENERIC-RESOURCE-API:subnet-use": { + "$ref": "#/definitions/Optional.empty", + "description": "Current valid values - unique, shared (default)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-assignment-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnet-assignment-policy" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets": { + "properties": { + "GENERIC-RESOURCE-API:addr-from-start": { + "$ref": "#/definitions/Optional.empty", + "description": "Default is N" + }, + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-end-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:dhcp-start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:start-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnet-sequence": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)subnets" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy": { + "properties": { + "GENERIC-RESOURCE-API:global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-binding": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-platform": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vpn-binding-policy": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group(config)vpn-binding-policy" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Index into network-topology-identifier structure" + }, + "GENERIC-RESOURCE-API:network-status": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned, unassigned" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings" + }, + "type": "array" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks(config)network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-request": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests-TOP": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)customer-bonding-requests" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings": { + "properties": { + "GENERIC-RESOURCE-API:aic-zone": { + "$ref": "#/definitions/Optional.empty", + "description": "AIC Zone the route target associated with" + }, + "GENERIC-RESOURCE-API:global-route-target": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:route-target-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-binding-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vpn-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vpn-bindings": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network(config)vpn-bindings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vlan network receptor configuration id" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request-TOP": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-request": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/network-instance-groups/network-instance-group/networks/network/customer-bonding-requests(config)customer-bonding-request" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks(config)network": { + "properties": { + "GENERIC-RESOURCE-API:network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks(config)network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks(config)network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data": { + "properties": { + "GENERIC-RESOURCE-API:network-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network(config)network-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information": { + "properties": { + "GENERIC-RESOURCE-API:from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-level-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:network-provided-ar-id": { + "description": "List of allotted resources using capacity from this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-provided-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:network-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network has instance-group role in service model" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:network-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)network-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input(config)network-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-request-input/network-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments": { + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters": { + "properties": { + "GENERIC-RESOURCE-API:network-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:eipam-v4-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:eipam-v6-address-plan": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "When network is part of network instance-Group-data & instance Group in A&AI" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-technology": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)network-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter": { + "properties": { + "GENERIC-RESOURCE-API:network-parameter-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-parameter-value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-parameters(config)network-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/network-topology/network-topology-identifier-structure/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/networks/network/network-data/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-pointer": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the allotted-resources topology" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:provided-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-allotted-resources(config)provided-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:configuration-sub-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are vprobe and pprobe" + }, + "GENERIC-RESOURCE-API:configuration-topology-link": { + "$ref": "#/definitions/Optional.empty", + "description": "Pointer to the configurations topology" + }, + "GENERIC-RESOURCE-API:configuration-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration-TOP": { + "properties": { + "GENERIC-RESOURCE-API:provided-configuration": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/provided-configurations(config)provided-configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input(config)service-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-request-input/service-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments": { + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters": { + "properties": { + "GENERIC-RESOURCE-API:service-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "from MSO input on STO assign" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "repeated" + }, + "GENERIC-RESOURCE-API:service-instance-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from service-request-input container or is assigned by sdn-c" + }, + "GENERIC-RESOURCE-API:service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "tag labeled subscription-service-type in the service-information input" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology(config)service-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter": { + "properties": { + "GENERIC-RESOURCE-API:service-parameter-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:service-parameter-value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-parameter": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/service-topology/service-parameters(config)service-parameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:group-type": { + "$ref": "#/definitions/Optional.empty", + "description": " port-mirror-source or port-mirror-dest" + }, + "GENERIC-RESOURCE-API:instance-group-role": { + "$ref": "#/definitions/Optional.empty", + "description": "i.e.TSBC_VNFC_group" + }, + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "Set to nfc-naming-code from A&AI" + }, + "GENERIC-RESOURCE-API:vnfc-objects": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:configuration-id", + "GENERIC-RESOURCE-API:instance-group-role", + "GENERIC-RESOURCE-API:nfc-naming-code" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups(config)vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-object": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-objects": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group(config)vnfc-objects" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object": { + "properties": { + "GENERIC-RESOURCE-API:vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-key": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Vnfc name as key in A&AI" + }, + "GENERIC-RESOURCE-API:vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vserver-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vserver-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-object": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects(config)vnfc-object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics": { + "properties": { + "GENERIC-RESOURCE-API:vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object(config)vnics" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic": { + "properties": { + "GENERIC-RESOURCE-API:capacity": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-port-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics(config)vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity": { + "properties": { + "GENERIC-RESOURCE-API:used-capacity": { + "$ref": "#/definitions/Optional.empty", + "description": "Updated for destination port when source port is mapped/unmapped." + }, + "GENERIC-RESOURCE-API:vnic-capacity": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity-TOP": { + "properties": { + "GENERIC-RESOURCE-API:capacity": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)capacity" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic(config)vnic-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfc-instance-groups/vnfc-instance-group/vnfc-objects/vnfc-object/vnics/vnic/vnic-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf": { + "properties": { + "GENERIC-RESOURCE-API:vnf-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnf-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data": { + "properties": { + "GENERIC-RESOURCE-API:license-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-modules": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-network-collections": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-sub-interface-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf(config)vnf-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information": { + "properties": { + "GENERIC-RESOURCE-API:entitlement-pool-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:license-key-group-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:license-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)license-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules": { + "properties": { + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-modules": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vf-modules" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-level-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-collection": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-collections": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-network-collections" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources": { + "properties": { + "GENERIC-RESOURCE-API:vnf-provided-ar-id": { + "description": "List of allotted resources using capacity from this vnf", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-provided-allotted-resources": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-provided-allotted-resources" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:request-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-network-instance-group-ids": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups": { + "properties": { + "GENERIC-RESOURCE-API:vnf-sub-interface-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-sub-interface-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-sub-interface-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc generated cloud param" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-parameters-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data(config)vnf-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-pool-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-pool-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:entitlement-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "GENERIC-RESOURCE-API:action", + "GENERIC-RESOURCE-API:entitlement-pool-uuid" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list-TOP": { + "properties": { + "GENERIC-RESOURCE-API:entitlement-pool-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)entitlement-pool-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-key": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + }, + "GENERIC-RESOURCE-API:license-key-group-invariant-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-key-group-uuid": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:license-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "assigned by ALTS" + } + }, + "required": [ + "GENERIC-RESOURCE-API:action", + "GENERIC-RESOURCE-API:license-key-group-uuid" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list-TOP": { + "properties": { + "GENERIC-RESOURCE-API:license-key-group-list": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/license-information(config)license-key-group-list" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vf-module-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules(config)vf-module" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module(config)vf-module-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information": { + "properties": { + "GENERIC-RESOURCE-API:from-preload": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicates if source is preload data" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-level-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-level-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:request-version": { + "$ref": "#/definitions/Optional.empty", + "description": "keep this?" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology": { + "properties": { + "GENERIC-RESOURCE-API:aic-clli": { + "$ref": "#/definitions/Optional.empty", + "description": "Not expected to be used" + }, + "GENERIC-RESOURCE-API:aic-cloud-region": { + "$ref": "#/definitions/Optional.empty", + "description": "The AIC cloud region which maps to contrail versions" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-generated-cloud-resources": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format" + }, + "GENERIC-RESOURCE-API:tenant": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vf-module-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data(config)vnf-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input(config)vf-module-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + }, + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module id" + }, + "GENERIC-RESOURCE-API:vf-module-name": { + "$ref": "#/definitions/Optional.empty", + "description": "vf-module-name" + }, + "GENERIC-RESOURCE-API:vf-module-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-topology-identifier": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology(config)vf-module-topology-identifier" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vlan-vnfc-instance-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vms": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments(config)vms" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group": { + "properties": { + "GENERIC-RESOURCE-API:instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI ID" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:instance-group-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnfc-instance-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups(config)vlan-vnfc-instance-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group(config)vnfcs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-groups": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc(config)vnic-groups" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group": { + "properties": { + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect" + }, + "GENERIC-RESOURCE-API:vlan-assignment-policy-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Policy name in ASDC model & policy definition in Policy Engine" + }, + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vlan-tag-index-next": { + "$ref": "#/definitions/Optional.empty", + "description": "Next tag to be assigned" + }, + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Same as network-role of network where vnic is connected" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-interface-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups(config)vnic-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-common-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-common-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group(config)vlan-vnics" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-common-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic": { + "properties": { + "GENERIC-RESOURCE-API:vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnic-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics(config)vlan-vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vlan-vnfc-instance-groups/vlan-vnfc-instance-group/vnfcs/vnfc/vnic-groups/vnic-group/vlan-vnics/vlan-vnic/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm": { + "properties": { + "GENERIC-RESOURCE-API:nfc-naming-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vm naming(draft 29: changed from nfc-code)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-count": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vm-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vm-type-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "from tosca data on vfc" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vm-type" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms(config)vm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names": { + "properties": { + "GENERIC-RESOURCE-API:vm-name": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-names" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm(config)vm-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-names": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names(config)vnfc-names" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names(config)vnfc-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-type": { + "$ref": "#/definitions/Optional.empty" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks(config)vnfc-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point": { + "properties": { + "GENERIC-RESOURCE-API:connection-point-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to CP object in A&AI" + }, + "GENERIC-RESOURCE-API:port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "port-index when multiple CPs connect to same network. Default zero (0)" + }, + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point-TOP": { + "properties": { + "GENERIC-RESOURCE-API:connection-point": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)connection-point" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ports": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-ports" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Default value if subnet role is not defined." + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-subnet-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data(config)vnfc-subnet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data": { + "properties": { + "GENERIC-RESOURCE-API:vlan-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Inner/Outer roles" + }, + "GENERIC-RESOURCE-API:vlan-tag-description": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to vlan-tag uuid object in A&AI Generated by vlan mS" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/connection-point(config)vlan-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port": { + "properties": { + "GENERIC-RESOURCE-API:common-sub-interface-role": { + "$ref": "#/definitions/Optional.empty", + "description": "If sub-interfaces have common interface role (network role)" + }, + "GENERIC-RESOURCE-API:vnfc-port-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y" + }, + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:vnfc-port-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-port": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports(config)vnfc-port" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic-sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port(config)vnic-sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network id (UUID in A&AI)" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Subinterface network name" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. untrusted " + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty", + "description": "Assuming HEAT template network role tag parameter - not used" + }, + "GENERIC-RESOURCE-API:vlan-tag-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Vlan tag assigned to subinterface port" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces(config)sub-interface-network-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network.", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-ports/vnfc-port/vnic-sub-interfaces/sub-interface-network-data/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-address-family": { + "$ref": "#/definitions/Optional.empty", + "description": "indicates if this is IpV4 or IpV6" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned " + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnfc-subnet-ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of IP addresses to be assigned per vnfc for this subnet role" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-ip-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet(config)vnfc-ip-assignments" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip": { + "properties": { + "GENERIC-RESOURCE-API:ip-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. " + }, + "GENERIC-RESOURCE-API:vnfc-client-key": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-ip-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Either IpV4 IP or IpV6 IP addresses should be present" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-subnet-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-names/vnfc-names/vnfc-networks/vnfc-network-data/vnfc-subnet/vnfc-ip-assignments(config)vnfc-subnet-ip" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF" + }, + "GENERIC-RESOURCE-API:network-role-tag": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-role" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vm-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks(config)vm-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips": { + "properties": { + "GENERIC-RESOURCE-API:floating-ip-v4": { + "description": "Floating ipv4 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:floating-ip-v6": { + "description": "Floating ipv6 for VMs of a given type on this network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:floating-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)floating-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefix": { + "description": "ordered-by: user", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes-TOP": { + "properties": { + "GENERIC-RESOURCE-API:interface-route-prefixes": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)interface-route-prefixes" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses": { + "properties": { + "GENERIC-RESOURCE-API:mac-address": { + "description": "List of network assignments for this vm-type", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:mac-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)mac-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-items": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)network-information-items" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sriov-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network(config)sriov-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item": { + "properties": { + "GENERIC-RESOURCE-API:ip-count": { + "$ref": "#/definitions/Optional.empty", + "description": "The number of ip addresses to be assigned per vm for this network role" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Use ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:use-dhcp": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use DHCP on this network for this VM" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-information-item": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items(config)network-information-item" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips": { + "properties": { + "GENERIC-RESOURCE-API:network-ip": { + "description": "List of assigned ip addresses of type ip-version on a network", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips-TOP": { + "properties": { + "GENERIC-RESOURCE-API:network-ips": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/network-information-items/network-information-item(config)network-ips" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:application-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)application-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filter": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:heat-vlan-filters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters(config)heat-vlan-filters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags": { + "properties": { + "GENERIC-RESOURCE-API:c-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:c-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)c-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags": { + "properties": { + "GENERIC-RESOURCE-API:s-tag": { + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:s-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-assignments/vms/vm/vm-networks/vm-network/sriov-parameters/application-tags(config)s-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vf-module-topology/vf-module-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vf-modules/vf-module/vf-module-data/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection": { + "properties": { + "GENERIC-RESOURCE-API:network-collection-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI" + }, + "GENERIC-RESOURCE-API:network-collection-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of service that created the network collection" + }, + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty", + "description": "Network Instance-Group function in A&AI" + }, + "GENERIC-RESOURCE-API:network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Network Instance-Group id in A&AI" + }, + "GENERIC-RESOURCE-API:vnf-floating-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-instance-group-function" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-collection": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections(config)vnf-network-collection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-floating-ip": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection(config)vnf-floating-ip" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-network-collections/vnf-network-collection/vnf-floating-ip(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "List of vnf network-instance-group" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-instance-group-ids": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-network-instance-group-ids" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network": { + "properties": { + "GENERIC-RESOURCE-API:contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "GENERIC-RESOURCE-API:neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data": { + "properties": { + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "GENERIC-RESOURCE-API:sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "GENERIC-RESOURCE-API:subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:network-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:parent-port-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfc-instance-group-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:network-instance-group-function", + "GENERIC-RESOURCE-API:parent-port-role", + "GENERIC-RESOURCE-API:vnfc-instance-group-function" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-sub-interface-group": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups(config)vnf-sub-interface-group" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-request": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests-TOP": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-requests": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)customer-bonding-requests" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfcs": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group(config)vnfcs" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request": { + "properties": { + "GENERIC-RESOURCE-API:configuration-id": { + "$ref": "#/definitions/Optional.empty", + "description": "e.g. vlan network receptor configuration id" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request-TOP": { + "properties": { + "GENERIC-RESOURCE-API:customer-bonding-request": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/customer-bonding-requests(config)customer-bonding-request" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc": { + "properties": { + "GENERIC-RESOURCE-API:vnfc-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Vnfc name as key in A&AI" + }, + "GENERIC-RESOURCE-API:vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vserver-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vserver-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnfc": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs(config)vnfc" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics": { + "properties": { + "GENERIC-RESOURCE-API:vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnics": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc(config)vnics" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic": { + "properties": { + "GENERIC-RESOURCE-API:sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnic-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnic-port-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnic": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics(config)vnic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interfaces": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic(config)sub-interfaces" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sub-interface-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sub-interface-port-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:sub-interface-port-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:sub-interface-status": { + "$ref": "#/definitions/Optional.empty", + "description": "NULL, unassigned, assigned" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces(config)sub-interface" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sub-interface-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)sub-interface-network" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses": { + "properties": { + "GENERIC-RESOURCE-API:ipv4-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:ipv6-address": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vipv4-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v4" + }, + "GENERIC-RESOURCE-API:vipv6-address": { + "$ref": "#/definitions/Optional.empty", + "description": "Virtual v6" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses-TOP": { + "properties": { + "GENERIC-RESOURCE-API:ip-addresses": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-sub-interface-groups/vnf-sub-interface-group/vnfcs/vnfc/vnics/vnic/sub-interfaces/sub-interface/sub-interface-ip-addresses(config)ip-addresses" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-parameters-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-parameters-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:vnf-status": { + "$ref": "#/definitions/Optional.empty", + "description": "Orchestration status from AAI - to be set by SDNC" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-resource-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-resource-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure": { + "properties": { + "GENERIC-RESOURCE-API:nf-code": { + "$ref": "#/definitions/Optional.empty", + "description": "used in vnf naming" + }, + "GENERIC-RESOURCE-API:nf-function": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:nf-type": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty", + "description": "optionally comes from vnf-request-input container or is assigned by sdn-c" + }, + "GENERIC-RESOURCE-API:vnf-type": { + "$ref": "#/definitions/Optional.empty", + "description": "In preload tree, this label is used for the vf-module-type" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-topology-identifier-structure": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology(config)vnf-topology-identifier-structure" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-parameters-data/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones": { + "properties": { + "GENERIC-RESOURCE-API:availability-zone": { + "description": "Openstack availability zone name or UUID", + "items": { + "$ref": "#/definitions/Optional.empty" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:max-count": { + "$ref": "#/definitions/Optional.empty", + "description": "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones-TOP": { + "properties": { + "GENERIC-RESOURCE-API:availability-zones": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)availability-zones" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network": { + "properties": { + "GENERIC-RESOURCE-API:contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "GENERIC-RESOURCE-API:neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data": { + "properties": { + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "GENERIC-RESOURCE-API:sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "GENERIC-RESOURCE-API:subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/services/service/service-data/vnfs/vnf/vnf-data/vnf-topology/vnf-resource-assignments/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "required": [ + "GENERIC-RESOURCE-API:allotted-resource-id" + ], + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-allotted-resource": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources(config)tunnelxconn-allotted-resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status": { + "properties": { + "GENERIC-RESOURCE-API:action": { + "$ref": "#/definitions/Optional.empty", + "description": "value would one of possible request-actions; match the list in service-data oper-status" + }, + "GENERIC-RESOURCE-API:final-indicator": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-code": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-message": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:response-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:rpc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "this is the svc-action from the incoming request" + }, + "GENERIC-RESOURCE-API:rpc-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource(config)allotted-resource-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status": { + "properties": { + "GENERIC-RESOURCE-API:create-timestamp": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:last-action": { + "$ref": "#/definitions/Optional.empty", + "description": "should be list of possible request-actions" + }, + "GENERIC-RESOURCE-API:last-order-status": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-rpc-action": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:last-svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Not currently populated in service data." + }, + "GENERIC-RESOURCE-API:modify-timestamp": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-status": { + "$ref": "#/definitions/Optional.empty", + "description": "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-oper-status": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-oper-status" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-operation-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)allotted-resource-operation-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:tunnelxconn-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-topology": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data(config)tunnelxconn-topology" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "Not an enum, but expected values are contrail-route and security-zone." + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)allotted-resource-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information": { + "properties": { + "GENERIC-RESOURCE-API:notification-url": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-number": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:order-version": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:request-action": { + "$ref": "#/definitions/Optional.empty", + "description": "still need to work Disconnect" + }, + "GENERIC-RESOURCE-API:request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Request ID generated upstream of MSO" + }, + "GENERIC-RESOURCE-API:source": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:request-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)request-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header": { + "properties": { + "GENERIC-RESOURCE-API:svc-action": { + "$ref": "#/definitions/Optional.empty", + "description": "This is the rpcAction" + }, + "GENERIC-RESOURCE-API:svc-notification-url": { + "$ref": "#/definitions/Optional.empty", + "description": "Contains URL for asynchronous response" + }, + "GENERIC-RESOURCE-API:svc-request-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Uniquely generated by calling system (e.g. MSO or SDN-GP)" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header-TOP": { + "properties": { + "GENERIC-RESOURCE-API:sdnc-request-header": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)sdnc-request-header" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information": { + "properties": { + "GENERIC-RESOURCE-API:global-customer-id": { + "$ref": "#/definitions/Optional.empty", + "description": "need for put of data to AnAI (MSO provides)" + }, + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:service-id": { + "$ref": "#/definitions/Optional.empty", + "description": "This maps to the product-family-id in A&AI" + }, + "GENERIC-RESOURCE-API:service-instance-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subscriber-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Would not be expected for vIPR-ATM or mobility services." + }, + "GENERIC-RESOURCE-API:subscription-service-type": { + "$ref": "#/definitions/Optional.empty", + "description": "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:service-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)service-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input": { + "properties": { + "GENERIC-RESOURCE-API:brg-wan-mac-address": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-request-input": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information(config)tunnelxconn-request-input" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/allotted-resource-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/allotted-resource-operation-information/service-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:allotted-resource-name": { + "$ref": "#/definitions/Optional.empty", + "description": "For a contrail-route, the network policy name." + }, + "GENERIC-RESOURCE-API:allotted-resource-type": { + "$ref": "#/definitions/Optional.empty", + "description": "(Added in draft 32)Expected to be contrail-route or security-zone." + }, + "GENERIC-RESOURCE-API:consuming-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "The service-instance-id of the consuming service of this allotted resource" + }, + "GENERIC-RESOURCE-API:parent-service-instance-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Service-instance-id of the parent service to which this allotted resource belongs." + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers-TOP": { + "properties": { + "GENERIC-RESOURCE-API:allotted-resource-identifiers": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)allotted-resource-identifiers" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments": { + "properties": { + "GENERIC-RESOURCE-API:vg-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will assign the VG IP address from local inventory" + }, + "GENERIC-RESOURCE-API:vgmux-bearer-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will look up the vgmux bearer ip from the vgmux vf module" + }, + "GENERIC-RESOURCE-API:vgmux-lan-ip": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will look up the vgmux lan ip from the vgmux vg module" + }, + "GENERIC-RESOURCE-API:vni": { + "$ref": "#/definitions/Optional.empty", + "description": "The Network Controller will assign a VNI value from the associated vGMUX VNI pool" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-assignments": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-assignments" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:tunnelxconn-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology(config)tunnelxconn-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/allotted-resource-data/tunnelxconn-topology/tunnelxconn-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input(config)vf-module-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input(config)vf-module-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input(config)vf-module-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vf-module-request-input/vf-module-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf(config)vf-module": { + "properties": { + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf(config)vf-module-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf(config)vf-module" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information(config)vnf": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)param" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)vf-module" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vnf-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vnf-name": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information(config)vnf-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information(config)vnf" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)vf-module": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module(config)param" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:vf-module-id": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)vf-module-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vf-module": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf(config)vf-module" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-get-resource-response-information/vnf/vf-module/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-information(config)onap-model-information": { + "properties": { + "GENERIC-RESOURCE-API:model-customization-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level" + }, + "GENERIC-RESOURCE-API:model-invariant-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the invariant uuid for this service or resource" + }, + "GENERIC-RESOURCE-API:model-name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:model-uuid": { + "$ref": "#/definitions/Optional.empty", + "description": "identifies the uuid for this service or resource, which is version specific" + }, + "GENERIC-RESOURCE-API:model-version": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-information(config)onap-model-information-TOP": { + "properties": { + "GENERIC-RESOURCE-API:onap-model-information": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-information(config)onap-model-information" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-input-parameters": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-input-parameters-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-input-parameters": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-input-parameters" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-network-instance-group-ids": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-instance-group-id": { + "$ref": "#/definitions/Optional.empty", + "description": "List of vnf network-instance-group" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-network-instance-group-ids-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network-instance-group-ids": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-network-instance-group-ids" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-networks": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input(config)vnf-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input(config)vnf-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters(config)param": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters(config)param-TOP": { + "properties": { + "GENERIC-RESOURCE-API:param": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters(config)param" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data": { + "properties": { + "GENERIC-RESOURCE-API:capability-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Resource assignment resolution Capability name" + }, + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + }, + "GENERIC-RESOURCE-API:status": { + "$ref": "#/definitions/Optional.empty", + "description": "SUCCESS, FAILED, or PENDING - RA returned data as capability" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-resolution-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param(config)resource-resolution-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key": { + "properties": { + "GENERIC-RESOURCE-API:name": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:value": { + "$ref": "#/definitions/Optional.empty" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key-TOP": { + "properties": { + "GENERIC-RESOURCE-API:resource-key": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-input-parameters/param/resource-resolution-data(config)resource-key" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks(config)vnf-network": { + "properties": { + "GENERIC-RESOURCE-API:contrail-network-fqdn": { + "$ref": "#/definitions/Optional.empty", + "description": "contrail network policy object" + }, + "GENERIC-RESOURCE-API:is-trunked": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty", + "description": "A Network Role to which a VNF must connect" + }, + "GENERIC-RESOURCE-API:neutron-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique Neutron UUID of an instance of the network role " + }, + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + }, + "GENERIC-RESOURCE-API:segmentation-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks(config)vnf-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vnf-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks(config)vnf-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)related-networks": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)related-networks-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-networks": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)related-networks" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)subnets-data": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)subnets-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnets-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network(config)subnets-data" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network": { + "properties": { + "GENERIC-RESOURCE-API:network-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Key to l3-network object" + }, + "GENERIC-RESOURCE-API:network-role": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network-TOP": { + "properties": { + "GENERIC-RESOURCE-API:related-network": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks(config)related-network" + }, + "type": "array" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags": { + "properties": { + "GENERIC-RESOURCE-API:is-private": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:lower-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:upper-tag-id": { + "$ref": "#/definitions/Optional.empty" + }, + "GENERIC-RESOURCE-API:vlan-interface": { + "$ref": "#/definitions/Optional.empty", + "description": "A&AI Key" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags-TOP": { + "properties": { + "GENERIC-RESOURCE-API:vlan-tags": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/related-networks/related-network(config)vlan-tags" + }, + "type": "object" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data": { + "properties": { + "GENERIC-RESOURCE-API:cidr-mask": { + "$ref": "#/definitions/Optional.empty", + "description": "cidr mask" + }, + "GENERIC-RESOURCE-API:dhcp-enabled": { + "$ref": "#/definitions/Optional.empty", + "description": "Indicator to use this subnet for DHCP " + }, + "GENERIC-RESOURCE-API:gateway-address": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet gateway address" + }, + "GENERIC-RESOURCE-API:ip-version": { + "$ref": "#/definitions/Optional.empty", + "description": "Should be ipv4 or ipv6" + }, + "GENERIC-RESOURCE-API:network-start-address": { + "$ref": "#/definitions/Optional.empty", + "description": "start-address of the subnet" + }, + "GENERIC-RESOURCE-API:sdnc-subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API" + }, + "GENERIC-RESOURCE-API:subnet-id": { + "$ref": "#/definitions/Optional.empty", + "description": "subnet UUID to be passed into the HEAT template" + }, + "GENERIC-RESOURCE-API:subnet-name": { + "$ref": "#/definitions/Optional.empty", + "description": "Populated for preload only" + }, + "GENERIC-RESOURCE-API:subnet-role": { + "$ref": "#/definitions/Optional.empty", + "description": "Subnet Role for the subnet" + } + }, + "type": "object" + }, + "GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data-TOP": { + "properties": { + "GENERIC-RESOURCE-API:subnet-data": { + "items": { + "$ref": "#/definitions/GENERIC-RESOURCE-API/vnf-request-input/vnf-networks/vnf-network/subnets-data(config)subnet-data" + }, + "type": "array" + } + }, + "type": "object" + }, + "unique_empty_identifier": {} + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang b/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang new file mode 100644 index 00000000..32338fee --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang @@ -0,0 +1,3425 @@ +module GENERIC-RESOURCE-API { + + namespace "org:onap:sdnc:northbound:generic-resource"; + + prefix generic-resource-api; + + import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; } + + import ietf-yang-types { prefix yang; } + + revision "2017-08-24" { + description + "ONAP Amsterdam version"; + } + + grouping service-model-infrastructure { + list service { + key "service-instance-id"; + leaf service-instance-id { + description "Keep as M"; + type string; + mandatory true; + } + uses service-data; + uses service-status; + } + } + grouping service-data { + container service-data { + uses service-operation-information; + uses service-topology; + uses service-level-oper-status; + container networks { + list network { + key "network-id"; + leaf network-id { + type string; + mandatory true; + } + container network-data { + uses network-operation-information; + uses network-topology; + container network-provided-allotted-resources { + leaf-list network-provided-ar-id { + description "List of allotted resources using capacity from this network"; + type string; + ordered-by user; + } + } + uses network-level-oper-status; + } + } + } + container pnfs { + list pnf { + key "pnf-id"; + leaf pnf-id { + type string; + mandatory true; + } + container pnf-data { + uses pnf-operation-information; + uses pnf-topology; + uses pnf-level-oper-status; + } + } + } + container vnfs { + list vnf { + key "vnf-id"; + leaf vnf-id { + type string; + mandatory true; + } + container vnf-data { + uses vnf-operation-information; + uses vnf-topology; + container vnf-network-collections { + uses vnf-network-collection; + } + container vnf-sub-interface-groups { + uses vnf-sub-interface-group; + } + container vnf-provided-allotted-resources { + leaf-list vnf-provided-ar-id { + description "List of allotted resources using capacity from this vnf"; + type string; + ordered-by user; + } + } + uses vnf-level-oper-status; + container vf-modules { + list vf-module { + key "vf-module-id"; + leaf vf-module-id { + type string; + mandatory true; + } + container vf-module-data { + uses vf-module-operation-information; + uses vf-module-topology; + uses vf-module-level-oper-status; + } + } + } + } + } + } + container consumed-allotted-resources { + list consumed-allotted-resource { + key "allotted-resource-id"; + uses allotted-resource-info; + } + } + container provided-allotted-resources { + list provided-allotted-resource { + key "allotted-resource-id"; + uses allotted-resource-info; + } + } + container provided-configurations { + list provided-configuration { + key "configuration-id"; + uses configuration-info; + } + } + container vnfc-instance-groups { + uses vnfc-instance-group; + } + container network-instance-groups { + uses network-instance-group; + } + container forwarding-paths { + list forwarding-path { + key "forwarding-path-id"; + leaf forwarding-path-id { + description "Generated by SDNC"; + type string; + mandatory true; + } + uses forwarding-path-information; + } + } + } + } + grouping service-status { + container service-status { + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf final-indicator { + type string; + } + leaf request-status { + type enumeration { + enum "synccomplete"; + enum "asynccomplete"; + enum "notifycomplete"; + } + } + leaf action { + description "value would one of possible request-actions; match the list in service-data oper-status"; + type string; + } + leaf rpc-name { + type string; + } + leaf rpc-action { + description "this is the svc-action from the incoming request"; + type enumeration { + enum "assign"; + enum "activate"; + enum "configure"; + enum "delete"; + enum "unassign"; + enum "deactivate"; + enum "create"; + } + } + leaf response-timestamp { + type string; + } + } + } + grouping service-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses service-request-input; + } + grouping service-request-input { + container service-request-input { + leaf service-instance-name { + type string; + } + container service-input-parameters { + uses param; + } + } + } + grouping service-topology { + container service-topology { + uses service-topology-identifier; + uses onap-model-information; + uses service-assignments; + uses service-parameters; + } + } + grouping service-topology-identifier { + container service-topology-identifier { + leaf service-instance-id { + description "repeated"; + type string; + } + leaf service-type { + description "tag labeled subscription-service-type in the service-information input"; + type string; + } + leaf service-id { + description "from MSO input on STO assign"; + type string; + } + leaf service-instance-name { + description "optionally comes from service-request-input container or is assigned by sdn-c"; + type string; + } + leaf global-customer-id { + type string; + } + } + } + grouping service-assignments { + container service-assignments { + } + } + grouping service-parameters { + container service-parameters { + list service-parameter { + key "service-parameter-name"; + leaf service-parameter-name { + type string; + } + leaf service-parameter-value { + type string; + } + } + } + } + grouping service-level-oper-status { + container service-level-oper-status { + uses oper-status-data; + } + } + grouping network-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses network-information; + uses network-request-input; + } + grouping network-information { + container network-information { + leaf network-id { + type string; + } + leaf network-type { + type string; + } + leaf network-technology { + type string; + } + leaf from-preload { + description "Indicates if source is preload data"; + type boolean; + } + uses onap-model-information; + } + } + grouping network-request-input { + container network-request-input { + leaf network-name { + type string; + } + uses region-identifier; + container network-input-parameters { + uses param; + } + leaf network-instance-group-id { + description "When network has instance-group role in service model"; + type string; + } + } + } + grouping network-topology { + container network-topology { + uses network-topology-identifier-structure; + uses region-identifier; + uses onap-model-information; + uses network-assignments; + uses network-parameters; + } + } + grouping network-topology-identifier-structure { + container network-topology-identifier-structure { + leaf network-id { + type string; + } + leaf network-name { + type string; + } + leaf network-role { + type string; + } + leaf network-type { + type string; + } + leaf network-instance-group-id { + description "When network is part of network instance-Group-data & instance Group in A&AI"; + type string; + } + leaf network-technology { + type string; + } + leaf eipam-v4-address-plan { + type string; + } + leaf eipam-v6-address-plan { + type string; + } + leaf is-trunked { + type boolean; + } + leaf segmentation-id { + type string; + } + container related-networks { + uses related-network; + } + } + } + grouping network-assignments { + container network-assignments { + } + } + grouping network-parameters { + container network-parameters { + list network-parameter { + key "network-parameter-name"; + leaf network-parameter-name { + type string; + } + leaf network-parameter-value { + type string; + } + } + } + } + grouping network-instance-group { + list network-instance-group { + key "network-instance-group-id"; + leaf network-instance-group-id { + description "Also a Key in Network Instance Group in A&AI"; + type string; + mandatory true; + } + leaf network-instance-group-function { + type string; + } + leaf service-instance-id { + type string; + } + uses onap-model-information; + container subnet-assignment-policy { + leaf subnet-use { + description "Current valid values - unique, shared (default)"; + type string; + } + } + container vpn-binding-policy { + leaf vpn-binding { + type string; + } + leaf vpn-name { + type string; + } + leaf vpn-type { + type string; + } + leaf vpn-platform { + type string; + } + leaf global-route-target { + type string; + } + leaf route-target-role { + type string; + } + } + container aggregate-route-policy { + leaf aggregate-route-policy-name { + type string; + } + leaf ipv4-aggregate-route-level { + type string; + } + leaf ipv6-aggregate-route-level { + type string; + } + } + uses aggregate-routes; + uses subnets; + leaf subnet-key-value { + description "key-value provided to EIPAM when creating shared subnet"; + type string; + } + container networks { + list network { + key "network-id"; + leaf network-id { + description "Index into network-topology-identifier structure"; + type string; + mandatory true; + } + leaf neutron-network-id { + description "Neutron-network-id assigned by PO/RO"; + type string; + } + uses vpn-bindings; + leaf vlan-tag-id { + type uint32; + } + leaf network-status { + description "assigned, unassigned"; + type string; + } + container customer-bonding-requests { + list customer-bonding-request { + key "configuration-id"; + leaf configuration-id { + description "e.g. vlan network receptor configuration id"; + type string; + } + } + } + } + } + } + } + grouping network-level-oper-status { + container network-level-oper-status { + uses oper-status-data; + } + } + grouping pnf-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses pnf-details; + uses pnf-request-input; + } + grouping pnf-details { + container pnf-details { + leaf pnf-id { + description "pnfId*Identifier of this Pnf information element. CORRELATIONID = PNF-NAME (A&AI)"; + type string; + mandatory true; + } + leaf pnf-type { + description "pnfType (template)*Type of Resource. NEW type: PNF (pre-defined in SDC)"; + type string; + } + leaf pnf-name { + type string; + } + uses onap-model-information; + } + } + grouping pnf-request-input { + container pnf-request-input { + leaf request-version { + description "keep this? e.g. 1702"; + type string; + } + leaf pnf-name { + type string; + } + uses region-identifier; + container pnf-input-parameters { + uses param; + } + } + } + grouping pnf-topology { + container pnf-topology { + uses pnf-topology-identifier-structure; + uses region-identifier; + uses onap-model-information; + container pnf-parameters-data { + uses param; + } + leaf sdnc-generated-cloud-resources { + description "Indicate if source is sdnc generated cloud param.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format"; + type boolean; + } + } + } + grouping pnf-topology-identifier-structure { + container pnf-topology-identifier-structure { + leaf pnf-id { + type string; + } + leaf pnf-type { + description "In preload tree, this label is used for the vf-module-type"; + type string; + } + leaf pnf-name { + description "optionally comes from pnf-request-input container or is assigned by sdn-c"; + type string; + } + } + } + grouping pnf-level-oper-status { + container pnf-level-oper-status { + uses oper-status-data; + } + } + grouping vnf-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses vnf-information; + uses vnf-request-input; + uses license-information; + } + grouping vnf-information { + container vnf-information { + leaf vnf-id { + type string; + } + leaf vnf-type { + type string; + } + leaf vnf-name { + type string; + } + uses onap-model-information; + } + } + grouping vnf-request-input { + container vnf-request-input { + leaf request-version { + type string; + } + leaf vnf-name { + type string; + } + uses region-identifier; + container vnf-networks { + list vnf-network { + key "network-role"; + uses vnf-network-data; + } + } + list vnf-network-instance-group-ids { + key "vnf-network-instance-group-id"; + leaf vnf-network-instance-group-id { + description "List of vnf network-instance-group"; + type string; + } + } + container vnf-input-parameters { + uses param; + } + } + } + grouping vnf-topology { + container vnf-topology { + uses vnf-topology-identifier-structure; + uses region-identifier; + uses onap-model-information; + uses vnf-resource-assignments; + container vnf-parameters-data { + uses param; + } + leaf sdnc-generated-cloud-resources { + description "Indicate if source is sdnc generated cloud param"; + type boolean; + } + } + } + grouping vnf-topology-identifier-structure { + container vnf-topology-identifier-structure { + leaf vnf-id { + type string; + } + leaf vnf-type { + description "In preload tree, this label is used for the vf-module-type"; + type string; + } + leaf nf-type { + type string; + } + leaf nf-role { + type string; + } + leaf nf-function { + type string; + } + leaf nf-code { + description "used in vnf naming"; + type string; + } + leaf vnf-name { + description "optionally comes from vnf-request-input container or is assigned by sdn-c"; + type string; + } + } + } + grouping vnf-resource-assignments { + container vnf-resource-assignments { + leaf vnf-status { + description "Orchestration status from AAI - to be set by SDNC"; + type string; + } + container availability-zones { + leaf-list availability-zone { + description "Openstack availability zone name or UUID"; + type string; + ordered-by user; + } + leaf max-count { + description "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF."; + type uint8; + } + } + container vnf-networks { + list vnf-network { + key "network-role"; + uses vnf-network-data; + } + } + } + } + grouping vnf-network-data { + leaf network-role { + description "A Network Role to which a VNF must connect"; + type string; + } + leaf network-name { + description "Unique Neutron UUID of an instance of the network role "; + type string; + } + leaf neutron-id { + description "Unique Neutron UUID of an instance of the network role "; + type string; + } + leaf network-id { + description "Unique Neutron UUID of an instance of the network role "; + type string; + } + leaf contrail-network-fqdn { + description "contrail network policy object"; + type string; + } + container subnets-data { + list subnet-data { + key "sdnc-subnet-id"; + leaf sdnc-subnet-id { + description "Unique SDNC generated UUID of the subnet. Key into A&AI instance.This maps to ipv4-key-subnet-id and ipv6-key-subnet-id in VNF-API"; + type string; + } + leaf subnet-role { + description "Subnet Role for the subnet"; + type string; + } + leaf subnet-name { + description "Populated for preload only"; + type string; + } + leaf ip-version { + description "Should be ipv4 or ipv6"; + type string; + } + leaf subnet-id { + description "subnet UUID to be passed into the HEAT template"; + type string; + } + leaf dhcp-enabled { + description "Indicator to use this subnet for DHCP "; + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf network-start-address { + description "start-address of the subnet"; + type inet:ip-address; + } + leaf gateway-address { + description "subnet gateway address"; + type inet:ip-address; + } + leaf cidr-mask { + description "cidr mask"; + type string; + } + } + } + leaf is-trunked { + type boolean; + } + leaf segmentation-id { + type string; + } + container related-networks { + uses related-network; + } + } + grouping vnf-level-oper-status { + container vnf-level-oper-status { + uses oper-status-data; + } + } + grouping vf-module-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses vnf-information; + uses vf-module-information; + uses vf-module-request-input; + } + grouping vf-module-information { + container vf-module-information { + leaf vf-module-id { + type string; + } + leaf vf-module-type { + type string; + } + leaf from-preload { + description "Indicates if source is preload data"; + type boolean; + } + uses onap-model-information; + } + } + grouping vf-module-request-input { + container vf-module-request-input { + leaf request-version { + description "keep this?"; + type string; + } + leaf vf-module-name { + type string; + } + uses region-identifier; + container vf-module-input-parameters { + uses param; + } + } + } + grouping vf-module-topology { + container vf-module-topology { + uses vf-module-topology-identifier; + uses region-identifier; + uses onap-model-information; + uses vf-module-assignments; + container vf-module-parameters { + uses param; + } + leaf sdnc-generated-cloud-resources { + description "Indicate if source is sdnc-generated-cloud-resources.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format"; + type boolean; + } + } + } + grouping vf-module-topology-identifier { + container vf-module-topology-identifier { + leaf vf-module-id { + description "vf-module id"; + type string; + } + leaf vf-module-name { + description "vf-module-name"; + type string; + } + leaf vf-module-type { + type string; + } + } + } + grouping vf-module-assignments { + container vf-module-assignments { + leaf vf-module-status { + description "Orchestration status from AAI - to be set by SDNC"; + type string; + } + container vms { + list vm { + key "vm-type"; + uses vm-topology-data; + } + } + uses vlan-vnfc-instance-groups; + container dhcp-subnet-assignments { + list dhcp-subnet-assignment { + key "neutron-subnet-id"; + leaf neutron-subnet-id { + description "Same as subnet-id in subnet-data structure"; + type string; + } + leaf network-role { + type string; + } + leaf ip-version { + type string; + } + } + } + } + } + grouping vm-topology-data { + leaf vm-type { + type string; + mandatory true; + } + uses onap-model-information; + leaf nfc-naming-code { + description "used in vm naming(draft 29: changed from nfc-code)"; + type string; + } + leaf vm-type-tag { + description "from tosca data on vfc"; + type string; + } + leaf vm-count { + type uint8; + } + container vm-names { + leaf-list vm-name { + type string; + ordered-by user; + } + list vnfc-names { + key "vnfc-name"; + leaf vnfc-name { + type string; + } + container vnfc-networks { + uses vnfc-network-data; + } + } + } + container vm-networks { + list vm-network { + key "network-role"; + uses vm-network-data; + } + } + } + grouping vnfc-network-data { + list vnfc-network-data { + key "vnfc-network-role"; + leaf vnfc-network-role { + type string; + mandatory true; + } + leaf vnfc-type { + type string; + } + uses connection-point; + container vnfc-ports { + list vnfc-port { + key "vnfc-port-id"; + leaf vnfc-port-id { + description "Port(s) with a given network-role are assigned vnfc-port-id from series - 01, 02, 03 ...Example: VM with two ports with network-role =X and another 2 ports with network-role=Y vnfc-port-ids:01 - 1st port with network-role=X02 - 2nd port with network-role=X01 - 1st port with network-role=Y02 - 2nd port with network-role=Y"; + type string; + mandatory true; + } + leaf common-sub-interface-role { + description "If sub-interfaces have common interface role (network role)"; + type string; + } + container vnic-sub-interfaces { + uses sub-interface-network-data; + } + } + } + list vnfc-subnet { + key "vnfc-subnet-role"; + leaf vnfc-subnet-role { + description "Default value if subnet role is not defined."; + type string; + mandatory true; + } + list vnfc-ip-assignments { + key "vnfc-address-family"; + leaf vnfc-address-family { + description "indicates if this is IpV4 or IpV6"; + type enumeration { + enum "ipv4"; + enum "ipv6"; + } + } + leaf vnfc-subnet-dhcp { + description "Indicator to use DHCP for IP assignment. Unless dhcp=N, we wouldnt have any IPs here, since they would not be SDNC assigned "; + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf vnfc-subnet-ip-count { + description "The number of IP addresses to be assigned per vnfc for this subnet role"; + type uint8; + } + list vnfc-subnet-ip { + key "vnfc-ip-address"; + leaf vnfc-ip-address { + description "Either IpV4 IP or IpV6 IP addresses should be present"; + type inet:ip-address; + } + leaf vnfc-client-key { + type string; + } + leaf ip-type { + description "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "; + type enumeration { + enum "FIXED"; + enum "VIP"; + } + } + } + } + } + } + } + grouping vm-network-data { + leaf network-role { + description "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF"; + type string; + mandatory true; + } + leaf network-role-tag { + type string; + } + container network-information-items { + list network-information-item { + key "ip-version"; + leaf ip-version { + description "Use ipv4 or ipv6"; + type string; + } + leaf use-dhcp { + description "Indicator to use DHCP on this network for this VM"; + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf ip-count { + description "The number of ip addresses to be assigned per vm for this network role"; + type uint8; + } + container network-ips { + leaf-list network-ip { + description "List of assigned ip addresses of type ip-version on a network"; + type string; + ordered-by user; + } + } + } + } + container mac-addresses { + leaf-list mac-address { + description "List of network assignments for this vm-type"; + type string; + ordered-by user; + } + } + container floating-ips { + leaf-list floating-ip-v4 { + description "Floating ipv4 for VMs of a given type on this network"; + type inet:ip-address; + ordered-by user; + } + leaf-list floating-ip-v6 { + description "Floating ipv6 for VMs of a given type on this network"; + type inet:ipv6-address; + ordered-by user; + } + } + container interface-route-prefixes { + leaf-list interface-route-prefix { + description "ordered-by: user"; + type string; + ordered-by user; + } + } + container sriov-parameters { + container heat-vlan-filters { + leaf-list heat-vlan-filter { + type string; + ordered-by user; + } + } + container application-tags { + container c-tags { + leaf-list c-tag { + type string; + ordered-by user; + } + } + container s-tags { + leaf-list s-tag { + type string; + ordered-by user; + } + } + } + } + leaf is-trunked { + type boolean; + } + leaf segmentation-id { + type string; + } + container related-networks { + uses related-network; + } + } + grouping vf-module-level-oper-status { + container vf-module-level-oper-status { + uses oper-status-data; + } + } + grouping allotted-resource-info { + leaf allotted-resource-id { + type string; + } + leaf allotted-resource-type { + description "Not an enum, but expected values are contrail-route and security-zone."; + type string; + } + leaf allotted-resource-pointer { + description "Pointer to the allotted-resources topology"; + type string; + } + } + grouping forwarding-path-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses forwarding-path-request-input; + } + grouping forwarding-path-request-input { + container forwarding-path-request-input { + list forwarding-paths { + key "forwarding-path-name"; + leaf forwarding-path-name { + description "Forwarding-path-name from tosca-model. "; + type string; + mandatory true; + } + uses onap-model-information; + } + } + } + grouping forwarding-path-information { + leaf forwarding-path-name { + description "Fowarding-path name from TOSCA model, or name generated by SDNC"; + type string; + } + leaf forwarding-path-type { + description "Based on MySQL Forwarding_Path tables path_type value from related TOSCA model"; + type enumeration { + enum "VNF"; + enum "Service"; + } + } + uses onap-model-information; + container service-paths { + list service-path { + key "service-path-instance-id"; + uses service-path-information; + } + } + } + grouping service-path-information { + leaf service-path-instance-id { + description "Service path instance ID generated by SDNC. Identifies a service-path-instance within a forwarding-path definition"; + type string; + } + leaf service-path-instance-name { + description "A unique name generated by SDNC ( forwarding-path-name + service-path-instance-id )"; + type string; + } + leaf version { + description "Only one version of the service-path-instance data will be available in MD-SAL. version will be updated when the service-path-instance is reevaluated "; + type string; + } + list service { + key "service-instance-id"; + leaf service-instance-id { + description "service-instance-id of each service-instance in the service-path-instance"; + type string; + } + leaf service-path-sequence-id { + description "e.g. S1S2S3S5seq id=1 S1-S2seq id=2 S2S3seq id=3 S3S5Incremental integer value"; + type uint32; + } + container vnfs { + list vnf { + key "vnf-instance-id"; + uses vnf-path-information; + } + } + } + } + grouping vnf-path-information { + leaf vnf-instance-id { + description "VNF instance ID in the path"; + type string; + } + leaf vnf-path-sequence-id { + description "Sequence ID at the VNF instance levele.g. e.g. V1V2V3V5V6seq id=1 V1-V2seq id=2 V2V3seq id=3 V3V5seq id=4 V5V6incremental integer value."; + type uint32; + } + leaf left-network-name { + description "Every VNF instance in the path is connected to one or two VNFs."; + type string; + } + leaf left-network-role { + type string; + } + leaf right-network-name { + type string; + } + leaf right-network-role { + type string; + } + container vf-module-instance { + leaf vf-module-id { + type string; + } + leaf vf-module-name { + type string; + } + } + } + grouping forwarding-path-level-oper-status { + container forwarding-path-level-oper-status { + uses oper-status-data; + } + } + grouping configuration-info { + leaf configuration-id { + type string; + } + leaf configuration-type { + description "Not an enum, but expected values are port-mirror-configuration, , vlan-network-receptor"; + type string; + } + leaf configuration-sub-type { + description "Not an enum, but expected values are vprobe and pprobe"; + type string; + } + leaf configuration-topology-link { + description "Pointer to the configurations topology"; + type string; + } + } + grouping vnfc-instance-group { + list vnfc-instance-group { + key "instance-group-role nfc-naming-code configuration-id"; + leaf instance-group-role { + description "i.e.TSBC_VNFC_group"; + type string; + mandatory true; + } + leaf nfc-naming-code { + description "Set to nfc-naming-code from A&AI"; + type string; + mandatory true; + } + leaf configuration-id { + type string; + mandatory true; + } + leaf group-type { + description " port-mirror-source or port-mirror-dest"; + type string; + } + uses vnfc-objects; + } + } + grouping vnfc-objects { + container vnfc-objects { + list vnfc-object { + key "vnfc-key"; + leaf vnfc-key { + type string; + } + leaf vnfc-name { + description "Vnfc name as key in A&AI"; + type string; + } + leaf vm-type { + type string; + } + leaf vnf-id { + type string; + } + leaf vserver-name { + type string; + } + leaf vserver-id { + type string; + } + container vnics { + list vnic { + key "vnic-port-name"; + leaf vnic-port-name { + type string; + } + leaf vnic-port-id { + type string; + } + container capacity { + leaf vnic-capacity { + type uint32; + } + leaf used-capacity { + description "Updated for destination port when source port is mapped/unmapped."; + type uint32; + } + } + container vnic-ip-addresses { + uses ip-addresses; + } + } + } + } + } + } + grouping vnfcs { + container vnfcs { + list vnfc { + key "vnfc-name"; + leaf vnfc-name { + description "Vnfc name as key in A&AI"; + type string; + } + leaf vserver-name { + type string; + } + leaf vserver-id { + type string; + } + uses vnics; + } + } + } + grouping vnics { + container vnics { + list vnic { + key "vnic-port-name"; + leaf vnic-port-name { + type string; + } + leaf vnic-port-id { + type string; + } + uses sub-interfaces; + } + } + } + grouping sub-interfaces { + container sub-interfaces { + list sub-interface { + key "sub-interface-port-name"; + leaf sub-interface-port-name { + type string; + } + leaf sub-interface-port-id { + type string; + } + container sub-interface-ip-addresses { + uses ip-addresses; + } + uses vlan-tags; + container sub-interface-network { + leaf network-name { + type string; + } + leaf network-id { + type string; + } + } + leaf sub-interface-status { + description "NULL, unassigned, assigned"; + type string; + } + } + } + } + grouping vlan-tags { + container vlan-tags { + leaf vlan-interface { + description "A&AI Key"; + type string; + } + leaf upper-tag-id { + type uint32; + } + leaf lower-tag-id { + type uint32; + } + leaf is-private { + type boolean; + } + } + } + grouping vlan-vnfc-instance-groups { + container vlan-vnfc-instance-groups { + list vlan-vnfc-instance-group { + key "instance-group-id"; + leaf instance-group-id { + description "A&AI ID"; + type string; + mandatory true; + } + leaf instance-group-function { + type string; + } + leaf vnf-id { + type string; + } + container vnfcs { + list vnfc { + key "vnfc-name"; + leaf vnfc-name { + type string; + } + uses vnic-groups; + } + } + } + } + } + grouping vnic-groups { + container vnic-groups { + list vnic-group { + key "vnic-interface-role"; + leaf vnic-interface-role { + description "Same as network-role of network where vnic is connected"; + type string; + mandatory true; + } + leaf network-instance-group-function { + description "network-instance-Group-function for network collection where vnics with vnic-interface-role will connect"; + type string; + } + leaf vlan-assignment-policy-name { + description "Policy name in ASDC model & policy definition in Policy Engine"; + type string; + } + leaf vlan-tag-index-next { + description "Next tag to be assigned"; + type uint32; + } + container vlan-common-ip-addresses { + uses ip-addresses; + } + container vlan-vnics { + list vlan-vnic { + key "vnic-port-id"; + leaf vnic-port-id { + type string; + mandatory true; + } + container vnic-sub-interfaces { + uses sub-interface-network-data; + } + } + } + } + } + } + grouping vnf-network-collection { + list vnf-network-collection { + key "network-instance-group-function"; + leaf network-instance-group-function { + description "Network Instance-Group function in A&AI"; + type string; + mandatory true; + } + leaf network-instance-group-id { + description "Network Instance-Group id in A&AI"; + type string; + } + leaf network-collection-service-instance-id { + description "Service-instance-id of service that created the network collection"; + type string; + } + leaf network-collection-customization-uuid { + description "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI"; + type string; + } + container networks { + list network { + key "network-id"; + leaf network-id { + description "Index into network-topology-identifier structure"; + type string; + mandatory true; + } + leaf neutron-network-id { + description "Neutron-network-id assigned by PO/RO"; + type string; + } + } + } + container vnf-floating-ip { + uses ip-addresses; + } + } + } + grouping vnf-sub-interface-group { + list vnf-sub-interface-group { + key "vnfc-instance-group-function network-instance-group-function parent-port-role"; + leaf vnfc-instance-group-function { + type string; + mandatory true; + } + leaf network-instance-group-function { + type string; + mandatory true; + } + leaf parent-port-role { + type string; + mandatory true; + } + uses vnfcs; + container customer-bonding-requests { + list customer-bonding-request { + key "configuration-id"; + leaf configuration-id { + description "e.g. vlan network receptor configuration id"; + type string; + } + } + } + } + } + grouping sub-interface-network-data { + list sub-interface-network-data { + key "network-id"; + leaf network-id { + description "Subinterface network id (UUID in A&AI)"; + type string; + mandatory true; + } + leaf neutron-network-id { + description "Neutron network id assigned by PO/RP"; + type string; + } + leaf network-name { + description "Subinterface network name"; + type uint32; + } + leaf vlan-tag-id { + description "Vlan tag assigned to subinterface port"; + type uint32; + } + leaf network-role { + description "e.g. untrusted "; + type string; + } + leaf network-role-tag { + description "Assuming HEAT template network role tag parameter - not used"; + type string; + } + container network-information-items { + list network-information-item { + key "ip-version"; + leaf ip-version { + description "Use ipv4 or ipv6"; + type string; + } + leaf use-dhcp { + description "Indicator to use DHCP on this network for this VM - set to N for Vlan tagging"; + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf ip-count { + description "The number of ip addresses to be assigned per vm for this network role"; + type uint8; + } + container network-ips { + leaf-list network-ip { + description "List of assigned ip addresses of type ip-version on a network."; + type inet:ip-address; + ordered-by user; + } + } + } + } + container floating-ips { + leaf-list floating-ip-v4 { + description "Floating ipv4 for VMs of a given type on this network"; + type inet:ip-address; + ordered-by user; + } + leaf-list floating-ip-v6 { + description "Floating ipv6 for VMs of a given type on this network"; + type inet:ipv6-address; + ordered-by user; + } + } + } + } + grouping vnf-cloud-param { + leaf service-instance-id { + type string; + } + leaf service-instance-name { + type string; + } + list vnf { + key "vnf-id"; + leaf vnf-id { + type string; + } + leaf vnf-name { + type string; + } + uses param; + list vf-module { + key "vf-module-id"; + leaf vf-module-id { + type string; + } + uses param; + } + } + } + grouping vnf-get-resource-request-input-data { + list vnf { + key "vnf-id"; + leaf vnf-id { + type string; + } + list vf-module { + key "vf-module-id"; + leaf vf-module-id { + type string; + } + } + } + } + grouping license-information { + container license-information { + list entitlement-pool-list { + key "entitlement-pool-uuid action"; + leaf entitlement-pool-uuid { + type string; + mandatory true; + } + leaf action { + type string; + mandatory true; + } + leaf entitlement-pool-invariant-uuid { + type string; + } + leaf entitlement-uuid { + description "assigned by ALTS"; + type string; + } + } + list license-key-group-list { + key "license-key-group-uuid action"; + leaf license-key-group-uuid { + type string; + mandatory true; + } + leaf action { + type string; + mandatory true; + } + leaf license-key-group-invariant-uuid { + type string; + } + leaf license-key { + description "assigned by ALTS"; + type string; + } + leaf license-uuid { + description "assigned by ALTS"; + type string; + } + } + } + } + grouping related-network { + list related-network { + key "network-id"; + leaf network-id { + description "Key to l3-network object"; + type string; + } + leaf network-role { + type string; + } + uses vlan-tags; + } + } + grouping connection-point { + container connection-point { + leaf connection-point-id { + description "Key to CP object in A&AI"; + type string; + } + leaf port-id { + description "port-index when multiple CPs connect to same network. Default zero (0)"; + type string; + } + list vlan-data { + key "vlan-uuid"; + leaf vlan-uuid { + description "Key to vlan-tag uuid object in A&AI Generated by vlan mS"; + type string; + } + leaf vlan-tag-id { + type string; + } + leaf vlan-tag-description { + type string; + } + leaf vlan-role { + description "Inner/Outer roles"; + type string; + } + } + } + } + grouping aggregate-routes { + list aggregate-routes { + key "route-id"; + leaf route-id { + description "Unique id"; + type string; + } + leaf start-address { + type inet:ip-address; + } + leaf cidr-mask { + type string; + } + leaf ip-version { + description "Use values 4 or 6."; + type string; + } + } + } + grouping pnf-information { + container pnf-information { + leaf pnf-name { + description "Key for A&AI query"; + type string; + } + leaf pnf-type { + type string; + } + uses onap-model-information; + } + } + grouping contrail-route-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses allotted-resource-information; + uses contrail-route-request-input; + } + grouping contrail-route-request-input { + container contrail-route-request-input { + container source-network { + uses network-info; + } + container dest-network { + uses network-info; + } + container contrail-applied-service-info { + leaf service-instance-id { + description "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data."; + type string; + } + leaf contrail-fqdn { + description "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing."; + type string; + } + } + container contrail-route-input-parameters { + uses param; + } + } + } + grouping network-info { + leaf network-id { + type string; + } + leaf network-role { + type string; + } + } + grouping contrail-route-topology { + container contrail-route-topology { + uses allotted-resource-identifiers; + uses onap-model-information; + uses contrail-route-assignments; + container contrail-route-parameters { + uses param; + } + } + } + grouping contrail-route-assignments { + container contrail-route-assignments { + leaf fq-name { + description "The Contrail fq-name of the network policy"; + type string; + } + leaf contrail-id { + description "The ID assigned by Contrail to the network-policy (one for one with the fq-name)"; + type string; + } + container source-network { + uses network-info; + } + container dest-network { + uses network-info; + } + container contrail-applied-service { + leaf service-instance-id { + description "The service-instance-id of the vnf from which the contrail applied service is coming"; + type string; + } + leaf vnf-id { + description "The vnf representing the contrail applied service"; + type string; + } + leaf contrail-fqdn { + description "This is the fq-name of the Contrail service instance through which the route is passing."; + type string; + } + } + leaf vlan-tag { + description "Contrail-assigned vlan-tag to the vipr vm interface for this route."; + type string; + } + } + } + grouping security-zone-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses allotted-resource-information; + uses security-zone-request-input; + } + grouping security-zone-request-input { + container security-zone-request-input { + leaf vlan-tag { + type string; + } + leaf trusted-network-role { + description "In the case of vIPR, this is the landing networks network-role; used in naming"; + type string; + } + leaf untrusted-network-role { + description "In the case of vIPR, this is the tenant oam networks network-role; used in naming"; + type string; + } + container security-zone-input-parameters { + uses param; + } + } + } + grouping security-zone-topology { + container security-zone-topology { + uses allotted-resource-identifiers; + uses onap-model-information; + uses security-zone-assignments; + container security-zone-parameters { + uses param; + } + } + } + grouping security-zone-assignments { + container security-zone-assignments { + leaf trusted-network-role { + description "In the case of vIPR, this is the landing networks network-role; used in naming"; + type string; + } + leaf security-zone-name-trusted { + type string; + } + leaf untrusted-network-role { + description "In the case of vIPR, this is the tenant oam networks network-role; used in naming"; + type string; + } + leaf security-zone-name-untrusted { + type string; + } + leaf security-zone-service-instance-id { + description "Will be the same as the parent-service-instance-id"; + type string; + } + leaf security-zone-vnf-id { + description "Selected by SDNC from the security-zone-service-instance-id"; + type string; + } + leaf vlan-tag { + type string; + } + } + } + grouping port-mirror-topology-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses configuration-information; + uses port-mirror-configuration-request-input; + } + grouping port-mirror-configuration-request-input { + container port-mirror-configuration-request-input { + container source-port { + uses port-info; + leaf source-port-id { + description "needed for srv-action=disable/enable"; + type string; + } + } + container dest-port { + uses port-info; + } + uses region-identifier; + container port-mirror-configuration-input-parameters { + uses param; + } + } + } + grouping port-info { + leaf service-instance-id { + description "May not be need."; + type string; + } + uses pnf-information; + uses vnf-information; + } + grouping port-mirror-configuration-topology { + container port-mirror-configuration-topology { + uses configuration-identifiers; + uses onap-model-information; + uses port-mirror-configuration-assignments; + container port-mirror-configuration-parameters { + uses param; + } + } + } + grouping port-mirror-configuration-assignments { + container port-mirror-configuration-assignments { + container contrail-vmi-params { + uses param; + } + leaf vnics-group-id { + type string; + } + leaf owning-entity { + type string; + } + leaf tenant-context { + description "From tenant object in A&AI"; + type string; + } + leaf tenant { + description "Tenant name from A&AI for source VNF"; + type string; + } + leaf tenant-id { + description "tenant-id from A&AI for source VNF"; + type string; + } + leaf dest-tenant { + description "Tenant name from A&AI for destination VNF"; + type string; + } + leaf dest-tenant-id { + description "tenant-id from A&AI for destination VNF"; + type string; + } + leaf cloud-region-id { + type string; + } + leaf cloud-owner { + type string; + } + leaf dest-network-fqdn { + type string; + } + leaf source-network-fqdn { + type string; + } + leaf source-capacity { + description "Source port pps (packets per second) rating from tosca model"; + type uint32; + } + leaf source-vnf-id { + type string; + } + leaf dest-vnf-id { + description "For vProbe"; + type string; + } + leaf dest-pnf-name { + description "For pProbe"; + type string; + } + leaf dest-p-interface { + description "For pProbe; from policy manager"; + type string; + } + leaf dest-pnf-port-policy-name { + description "For pProbe; from tosca model"; + type string; + } + leaf probe-type { + description "vprobe or pprobe; derived from configuration-information.configuration-sub-type"; + type string; + } + leaf route-allotted-resource-id { + description "For vProbe"; + type string; + } + container source-vnfc-instance-group-id { + leaf service-instance-id { + type string; + } + leaf nfc-naming-code { + type string; + } + leaf instance-group-role { + type string; + } + leaf configuration-id { + type string; + } + } + container dest-vnfc-instance-group-id { + leaf service-instance-id { + type string; + } + leaf nfc-naming-code { + type string; + } + leaf instance-group-role { + type string; + } + leaf configuration-id { + type string; + } + } + container source-to-dest-maps { + list source-to-dest-map { + key "source-port-id"; + leaf source-port-id { + type string; + mandatory true; + } + leaf source-port-name { + type string; + } + leaf source-vserver-id { + type string; + } + leaf dest-vserver-id { + type string; + } + leaf dest-port-id { + type string; + } + leaf dest-port-name { + type string; + } + leaf link-name { + type string; + } + container dest-ip-addresses { + uses ip-addresses; + } + } + } + } + } + grouping gc-topology-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses configuration-information; + uses gc-request-input; + } + grouping gc-request-input { + container gc-request-input { + leaf vnf-id { + type string; + } + leaf vf-module-id { + description "This is mandatory in case of rebuild"; + type string; + } + container input-parameters { + uses param; + } + leaf rebuild { + description "Value will indicate what to rebuild"; + type string; + } + list configuration-ids { + key "configuration-id"; + leaf configuration-id { + type string; + } + } + } + } + grouping vnr-parameters { + container vnr-parameters { + leaf vnf-id { + type string; + } + leaf vf-module-id { + description "This is mandatory in case of rebuild"; + type string; + } + leaf vnf-service-instance-id { + type string; + } + leaf network-collection-service-instance-id { + description "service instance id that created network-collection"; + type string; + } + leaf network-instance-group-id { + type string; + } + leaf network-id { + type string; + } + leaf vnfc-instance-group-function { + type string; + } + leaf network-instance-group-function { + type string; + } + leaf parent-port-role { + type string; + } + leaf upper-tag-id { + type uint32; + } + leaf lower-tag-id { + type uint32; + } + } + } + grouping tunnelxconn-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses allotted-resource-information; + uses tunnelxconn-request-input; + } + grouping tunnelxconn-request-input { + + container tunnelxconn-request-input { + leaf brg-wan-mac-address { + type string; + } + } + } + grouping tunnelxconn-topology { + container tunnelxconn-topology { + uses allotted-resource-identifiers; + uses onap-model-information; + uses tunnelxconn-assignments; + container tunnelxconn-parameters { + uses param; + } + } + } + grouping tunnelxconn-assignments { + container tunnelxconn-assignments { + leaf vni { + description "The Network Controller will assign a VNI value from the associated vGMUX VNI pool"; + type string; + } + leaf vgmux-bearer-ip { + description "The Network Controller will look up the vgmux bearer ip from the vgmux vf module"; + type inet:ip-address; + } + leaf vgmux-lan-ip { + description "The Network Controller will look up the vgmux lan ip from the vgmux vg module"; + type inet:ip-address; + } + leaf vg-ip { + description "The Network Controller will assign the VG IP address from local inventory"; + type inet:ip-address; + } + } + } + grouping brg-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses allotted-resource-information; + uses brg-request-input; + } + grouping brg-request-input { + container brg-request-input { + leaf vgmux-bearer-ip { + type inet:ip-address; + } + leaf vni { + type string; + } + leaf brg-wan-mac-address { + type string; + } + } + } + grouping brg-topology { + container brg-topology { + uses allotted-resource-identifiers; + uses onap-model-information; + uses brg-assignments; + container brg-parameters { + uses param; + } + } + } + grouping brg-assignments { + container brg-assignments { + leaf vbrg-wan-ip { + type inet:ip-address; + } + } + } + grouping connection-attachment-operation-information { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses allotted-resource-information; + uses connection-attachment-request-input; + } + + grouping connection-attachment-request-input { + container connection-attachment-request-input { + uses param; + } + } + + grouping connection-attachment-topology { + container connection-attachment-topology { + uses allotted-resource-identifiers; + uses onap-model-information; + uses connection-attachment-assignments; + container connection-attachment-parameters { + uses param; + } + } + } + + grouping connection-attachment-assignments { + container connection-attachment-assignments { + } + } + + grouping vnf-vnr-rebuild-data { + container vnf-vnr-rebuild-data { + leaf vnf-id { + type string; + } + leaf vnf-service-instance-id { + type string; + } + list vnrs-data { + key "configuration-id"; + leaf configuration-id { + type string; + } + leaf network-instance-group-id { + type string; + } + leaf network-id { + type string; + } + leaf vnfc-instance-group-function { + type string; + } + leaf network-instance-group-function { + type string; + } + leaf parent-port-role { + type string; + } + leaf upper-tag-id { + type uint32; + } + leaf lower-tag-id { + type uint32; + } + } + } + } + grouping allotted-resource-information { + container allotted-resource-information { + leaf allotted-resource-id { + type string; + } + leaf allotted-resource-type { + description "Not an enum, but expected values are contrail-route and security-zone."; + type string; + } + leaf parent-service-instance-id { + description "Service-instance-id of the parent service to which this allotted resource belongs."; + type string; + } + uses onap-model-information; + } + } + grouping allotted-resource-identifiers { + container allotted-resource-identifiers { + leaf allotted-resource-id { + type string; + } + leaf allotted-resource-name { + description "For a contrail-route, the network policy name."; + type string; + } + leaf allotted-resource-type { + description "(Added in draft 32)Expected to be contrail-route or security-zone."; + type string; + } + leaf consuming-service-instance-id { + description "The service-instance-id of the consuming service of this allotted resource"; + type string; + } + leaf parent-service-instance-id { + description "Service-instance-id of the parent service to which this allotted resource belongs."; + type string; + } + } + } + grouping allotted-resource-oper-status { + container allotted-resource-oper-status { + uses oper-status-data; + } + } + grouping allotted-resource-status { + container allotted-resource-status { + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf final-indicator { + type string; + } + leaf request-status { + type enumeration { + enum "synccomplete"; + enum "asynccomplete"; + enum "notifycomplete"; + } + } + leaf action { + description "value would one of possible request-actions; match the list in service-data oper-status"; + type string; + } + leaf rpc-name { + type string; + } + leaf rpc-action { + description "this is the svc-action from the incoming request"; + type enumeration { + enum "assign"; + enum "activate"; + enum "create"; + enum "delete"; + enum "unassign"; + enum "deactivate"; + } + } + leaf response-timestamp { + type string; + } + } + } + grouping configuration-information { + container configuration-information { + leaf configuration-id { + type string; + } + leaf configuration-name { + type string; + } + leaf configuration-type { + description "Not an enum, but expected values are port-mirror-configuration, vlan-network-receptor"; + type string; + } + leaf configuration-sub-type { + description "e.g. vprobe and pprobe when configuration-type=port-mirror-configuration"; + type string; + } + uses onap-model-information; + } + } + grouping configuration-identifiers { + container configuration-identifiers { + leaf configuration-id { + type string; + } + leaf configuration-name { + type string; + } + leaf configuration-type { + description "Not an enum, but expected values are port-mirror-configuration."; + type string; + } + leaf configuration-sub-type { + description " vprobe and pprobe"; + type string; + } + leaf parent-service-instance-id { + description "Service-instance-id of the parent service to which this resource belongs."; + type string; + } + } + } + grouping configuration-oper-status { + container configuration-oper-status { + uses oper-status-data; + } + } + grouping configuration-status { + container configuration-status { + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf final-indicator { + type string; + } + leaf request-status { + type enumeration { + enum "synccomplete"; + enum "asynccomplete"; + enum "notifycomplete"; + } + } + leaf action { + description "value would one of possible request-actions; match the list in service-data oper-status"; + type string; + } + leaf rpc-name { + type string; + } + leaf rpc-action { + description "this is the svc-action from the incoming request"; + type enumeration { + enum "assign"; + enum "activate"; + enum "create"; + enum "disable"; + enum "enable"; + enum "delete"; + enum "unassign"; + enum "deactivate"; + } + } + leaf response-timestamp { + type string; + } + } + } + grouping topology-response-common { + leaf svc-request-id { + description "the request id from the request message for which this is the responseKeep as M"; + type string; + } + leaf response-code { + description "a success code or an defined error codeKeep as M"; + type string; + } + leaf response-message { + description "message included for error code"; + type string; + } + leaf ack-final-indicator { + description "Expected to be Y or N."; + type string; + } + } + grouping sdnc-request-header { + container sdnc-request-header { + leaf svc-request-id { + description "Uniquely generated by calling system (e.g. MSO or SDN-GP)"; + type string; + } + leaf svc-action { + description "This is the rpcAction"; + type enumeration { + enum "reserve"; + enum "assign"; + enum "activate"; + enum "delete"; + enum "changeassign"; + enum "changedelete"; + enum "rollback"; + enum "deactivate"; + enum "unassign"; + enum "create"; + enum "disable"; + enum "enable"; + enum "update"; + enum "reoptimize"; + enum "rebuild"; + } + } + leaf svc-notification-url { + description "Contains URL for asynchronous response"; + type string; + } + } + } + grouping request-information { + container request-information { + leaf request-id { + description "Request ID generated upstream of MSO"; + type string; + } + leaf request-action { + description "still need to work Disconnect"; + type enumeration { + enum "CreateNetworkInstance"; + enum "ActivateNetworkInstance"; + enum "DeActivateNetworkInstance"; + enum "CreateServiceInstance"; + enum "DeleteServiceInstance"; + enum "DeleteNetworkInstance"; + enum "CreateVnfInstance"; + enum "ActivateVnfInstance"; + enum "DeleteVnfInstance"; + enum "CreatePnfInstance"; + enum "ActivatePnfInstance"; + enum "DeletePnfInstance"; + enum "CreateVfModuleInstance"; + enum "ActivateVfModuleInstance"; + enum "DeleteVfModuleInstance"; + enum "CreateContrailRouteInstance"; + enum "DeleteContrailRouteInstance"; + enum "CreateSecurityZoneInstance"; + enum "DeleteSecurityZoneInstance"; + enum "ActivateDCINetworkInstance"; + enum "DeActivateDCINetworkInstance"; + enum "CreateTunnelXConnInstance"; + enum "DeleteTunnelXConnInstance"; + enum "CreateBRGInstance"; + enum "DeleteBRGInstance"; + enum "CreateSOTNConnectivityInstance"; + enum "ActivateSOTNConnectivityInstance"; + enum "DeactivateSOTNConnectivityInstance"; + enum "DeleteSOTNConnectivityInstance"; + enum "CreateSOTNAttachmentInstance"; + enum "ActivateSOTNAttachmentInstance"; + enum "DeactivateSOTNAttachmentInstance"; + enum "DeleteSOTNAttachmentInstance"; + enum "CreateSiteInstance"; + enum "ActivateSiteInstance"; + enum "DeactivateSiteInstance"; + enum "DeleteSiteInstance"; + enum "CreatePortMirrorConfigurationInstance"; + enum "DeletePortMirrorConfigurationInstance"; + enum "ChangePortMirrorConfigurationInstance"; + enum "CreateGenericConfigurationInstance"; + enum "RebuildGenericConfigurationInstance"; + enum "DeleteGenericConfigurationInstance"; + enum "PreloadVfModuleRequest"; + enum "DeletePreloadVfModuleRequest"; + enum "PreloadNetworkRequest"; + enum "DeletePreloadNetworkRequest"; + enum "CreateForwardingPathInstance"; + enum "DeleteForwardingPathInstance"; + enum "UpdateForwardingPathInstance"; + enum "CreateSDWANDeviceInstance"; + enum "ActivateSDWANDeviceInstance"; + enum "DeactivateSDWANDeviceInstance"; + enum "DeleteSDWANDeviceInstance"; + enum "CreateSDWANPortInstance"; + enum "ActivateSDWANPortInstance"; + enum "DeactivateSDWANPortInstance"; + enum "DeleteSDWANPortInstance"; + enum "ReoptimizeSOTNInstance"; + enum "CreateSDWANLanPortInstance"; + enum "ActivateSDWANLanPortInstance"; + enum "DeactivateSDWANLanPortInstance"; + enum "DeleteSDWANLanPortInstance"; + enum "CreateSDWANVpnInstance"; + enum "ActivateSDWANVpnInstance"; + enum "DeactivateSDWANVpnInstance"; + enum "DeleteSDWANVpnInstance"; + enum "CreateSDWANSiteInstance"; + enum "ActivateSDWANSiteInstance"; + enum "DeactivateSDWANSiteInstance"; + enum "DeleteSDWANSiteInstance"; + enum "SdwanBandwidthChange"; + enum "CreateAccessConnectivityInstance"; + enum "DeleteAccessConnectivityInstance"; + enum "CreateInternetProfileInstance"; + enum "ChangeInternetProfileInstance"; + enum "DeleteInternetProfileInstance"; + } + } + leaf source { + type string; + } + leaf notification-url { + type string; + } + leaf order-number { + type string; + } + leaf order-version { + type string; + } + } + } + grouping service-information { + container service-information { + leaf service-id { + description "This maps to the product-family-id in A&AI"; + type string; + } + leaf subscription-service-type { + description "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example."; + type string; + } + uses onap-model-information; + leaf service-instance-id { + type string; + } + leaf global-customer-id { + description "need for put of data to AnAI (MSO provides)"; + type string; + } + leaf subscriber-name { + description "Would not be expected for vIPR-ATM or mobility services."; + type string; + } + } + } + grouping onap-model-information { + container onap-model-information { + leaf model-invariant-uuid { + description "identifies the invariant uuid for this service or resource"; + type string; + } + leaf model-customization-uuid { + description "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level"; + type string; + } + leaf model-uuid { + description "identifies the uuid for this service or resource, which is version specific"; + type string; + } + leaf model-version { + type string; + } + leaf model-name { + type string; + } + } + } + grouping region-identifier { + leaf tenant { + type string; + } + leaf aic-cloud-region { + description "The AIC cloud region which maps to contrail versions"; + type string; + } + leaf cloud-owner { + description "The cloud owner provided by the caller"; + type string; + } + leaf aic-clli { + description "Not expected to be used"; + type string; + } + } + grouping param { + list param { + key "name"; + leaf name { + type string; + } + leaf value { + type string; + } + container resource-resolution-data { + list resource-key { + key "name"; + leaf name { + type string; + } + leaf value { + type string; + } + } + leaf status { + description "SUCCESS, FAILED, or PENDING - RA returned data as capability"; + type string; + } + leaf capability-name { + description "Resource assignment resolution Capability name"; + type string; + } + } + } + } + grouping ip-addresses { + container ip-addresses { + leaf ipv4-address { + type inet:ip-address; + } + leaf ipv6-address { + type inet:ip-address; + } + leaf vipv4-address { + description "Virtual v4"; + type inet:ip-address; + } + leaf vipv6-address { + description "Virtual v6"; + type inet:ip-address; + } + } + } + grouping instance-reference { + leaf instance-id { + type string; + } + leaf object-path { + description "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/"; + type string; + } + } + grouping oper-status-data { + leaf order-status { + description "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout"; + type enumeration { + enum "Active"; + enum "PendingAssignment"; + enum "PendingCreate"; + enum "PendingUpdate"; + enum "PendingDelete"; + enum "Deleted"; + enum "Created"; + } + } + leaf last-rpc-action { + type enumeration { + enum "assign"; + enum "activate"; + enum "delete"; + enum "unassign"; + enum "deactivate"; + enum "create"; + enum "changeassign"; + enum "reoptimize"; + } + } + leaf last-action { + description "should be list of possible request-actions"; + type enumeration { + enum "CreateNetworkInstance"; + enum "ActivateNetworkInstance"; + enum "DeActivateNetworkInstance"; + enum "DeleteNetworkInstance"; + enum "CreateServiceInstance"; + enum "DeleteServiceInstance"; + enum "CreateVnfInstance"; + enum "ActivateVnfInstance"; + enum "DeleteVnfInstance"; + enum "CreatePnfInstance"; + enum "ActivatePnfInstance"; + enum "DeletePnfInstance"; + enum "CreateVfModuleInstance"; + enum "ActivateVfModuleInstance"; + enum "DeleteVfModuleInstance"; + enum "CreateContrailRouteInstance"; + enum "DeleteContrailRouteInstance"; + enum "CreateSecurityZoneInstance"; + enum "DeleteSecurityZoneInstance"; + enum "ActivateDCINetworkInstance"; + enum "DeActivateDCINetworkInstance"; + enum "CreateTunnelXConnInstance"; + enum "DeleteTunnelXConnInstance"; + enum "CreateBRGInstance"; + enum "DeleteBRGInstance"; + enum "CreateSOTNConnectivityInstance"; + enum "ActivateSOTNConnectivityInstance"; + enum "DeactivateSOTNConnectivityInstance"; + enum "DeleteSOTNConnectivityInstance"; + enum "CreateSOTNAttachmentInstance"; + enum "ActivateSOTNAttachmentInstance"; + enum "DeactivateSOTNAttachmentInstance"; + enum "DeleteSOTNAttachmentInstance"; + enum "CreateSiteInstance"; + enum "ActivateSiteInstance"; + enum "DeactivateSiteInstance"; + enum "DeleteSiteInstance"; + enum "CreatePortMirrorConfigurationInstance"; + enum "DeletePortMirrorConfigurationInstance"; + enum "ChangePortMirrorConfigurationInstance"; + enum "CreateGenericConfigurationInstance"; + enum "DeleteGenericConfigurationInstance"; + enum "PreloadVfModuleRequest"; + enum "DeletePreloadVfModuleRequest"; + enum "PreloadNetworkRequest"; + enum "DeletePreloadNetworkRequest"; + enum "CreateForwardingPathInstance"; + enum "DeleteForwardingPathInstance"; + enum "UpdateForwardingPathInstance"; + enum "CreateSDWANDeviceInstance"; + enum "ActivateSDWANDeviceInstance"; + enum "DeactivateSDWANDeviceInstance"; + enum "DeleteSDWANDeviceInstance"; + enum "CreateSDWANPortInstance"; + enum "ActivateSDWANPortInstance"; + enum "DeactivateSDWANPortInstance"; + enum "DeleteSDWANPortInstance"; + enum "ReoptimizeSOTNInstance"; + enum "CreateSDWANLanPortInstance"; + enum "ActivateSDWANLanPortInstance"; + enum "DeactivateSDWANLanPortInstance"; + enum "DeleteSDWANLanPortInstance"; + enum "CreateSDWANVpnInstance"; + enum "ActivateSDWANVpnInstance"; + enum "DeactivateSDWANVpnInstance"; + enum "DeleteSDWANVpnInstance"; + enum "CreateSDWANSiteInstance"; + enum "ActivateSDWANSiteInstance"; + enum "DeactivateSDWANSiteInstance"; + enum "DeleteSDWANSiteInstance"; + enum "SdwanBandwidthChange"; + enum "CreateAccessConnectivityInstance"; + enum "DeleteAccessConnectivityInstance"; + enum "CreateInternetProfileInstance"; + enum "ChangeInternetProfileInstance"; + enum "DeleteInternetProfileInstance"; + } + } + leaf last-svc-request-id { + description "Not currently populated in service data."; + type string; + } + leaf last-order-status { + type enumeration { + enum "Active"; + enum "PendingAssignment"; + enum "PendingCreate"; + enum "PendingUpdate"; + enum "PendingDelete"; + enum "Deleted"; + enum "Created"; + } + } + leaf create-timestamp { + description "Not currently populated in service data."; + type string; + } + leaf modify-timestamp { + type string; + } + } + grouping service-response-information { + container service-response-information { + uses instance-reference; + } + } + grouping network-response-information { + container network-response-information { + uses instance-reference; + } + } + grouping vnf-response-information { + container vnf-response-information { + uses instance-reference; + } + } + grouping vf-module-response-information { + container vf-module-response-information { + uses instance-reference; + } + } + grouping pnf-response-information { + container pnf-response-information { + uses instance-reference; + } + } + grouping contrail-route-response-information { + container contrail-route-response-information { + uses instance-reference; + } + } + grouping security-zone-response-information { + container security-zone-response-information { + uses instance-reference; + } + } + grouping getpathsegment-response-information { + container getpathsegment-response-information { + uses instance-reference; + } + } + grouping port-mirror-response-information { + container port-mirror-response-information { + uses instance-reference; + } + } + grouping gc-response-information { + container gc-response-information { + uses instance-reference; + } + } + grouping tunnelxconn-response-information { + container tunnelxconn-response-information { + uses instance-reference; + } + } + grouping brg-response-information { + container brg-response-information { + uses instance-reference; + } + } + grouping connection-attachment-response-information { + container connection-attachment-response-information { + uses instance-reference; + } + } + grouping preload-model-information { + list preload-list { + key "preload-id preload-type"; + leaf preload-id { + description "vf-module-name or network name"; + type string; + mandatory true; + } + leaf preload-type { + description "network or vf-module"; + type string; + mandatory true; + } + uses preload-data; + } + } + grouping preload-data { + container preload-data { + uses preload-vf-module-topology-information; + uses preload-network-topology-information; + uses preload-oper-status; + } + } + grouping preload-vf-module-topology-information { + container preload-vf-module-topology-information { + uses vnf-topology-identifier-structure; + uses vnf-resource-assignments; + uses vf-module-topology; + } + } + grouping preload-network-topology-information { + container preload-network-topology-information { + uses network-topology-identifier-structure; + uses subnets; + uses vpn-bindings; + uses network-policy; + uses route-table-reference; + uses host-routes; + uses provider-network-information; + } + } + grouping subnets { + list subnets { + key "start-address"; + leaf start-address { + type inet:ip-address; + } + leaf gateway-address { + type inet:ip-address; + } + leaf cidr-mask { + type string; + } + leaf ip-version { + type string; + } + leaf dhcp-enabled { + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf dhcp-start-address { + type string; + } + leaf dhcp-end-address { + type string; + } + leaf addr-from-start { + description "Default is N"; + type enumeration { + enum "Y"; + enum "N"; + } + } + leaf subnet-name { + type string; + } + leaf subnet-role { + type string; + } + leaf subnet-sequence { + type uint8; + } + } + } + grouping vpn-bindings { + list vpn-bindings { + key "vpn-binding-id"; + leaf vpn-binding-id { + type string; + } + leaf vpn-name { + type string; + } + leaf global-route-target { + type string; + } + leaf route-target-role { + type string; + } + leaf aic-zone { + description "AIC Zone the route target associated with"; + type string; + } + } + } + grouping network-policy { + list network-policy { + key "network-policy-fqdn"; + leaf network-policy-fqdn { + type string; + } + leaf network-policy-id { + type string; + } + } + } + grouping route-table-reference { + list route-table-reference { + key "route-table-reference-fqdn"; + leaf route-table-reference-fqdn { + type string; + mandatory true; + } + leaf route-table-reference-id { + type string; + } + } + } + grouping provider-network-information { + leaf physical-network-name { + type string; + } + leaf is-provider-network { + type boolean; + } + leaf is-shared-network { + type boolean; + } + leaf is-external-network { + type boolean; + } + } + grouping host-routes { + list host-routes { + key "route-prefix"; + leaf route-prefix { + type string; + } + leaf next-hop { + description "Could be ip-address or hostname or service-instance"; + type string; + } + } + } + grouping preload-oper-status { + container preload-oper-status { + leaf order-status { + type enumeration { + enum "Active"; + enum "PendingAssignment"; + enum "PendingCreate"; + enum "PendingUpdate"; + enum "PendingDelete"; + enum "Deleted"; + } + } + leaf last-action { + type enumeration { + enum "PreloadVfModuleRequest"; + enum "DeletePreloadVfModuleRequest"; + enum "PreloadNetworkRequest"; + enum "DeletePreloadNetworkRequest"; + } + } + leaf last-svc-request-id { + type string; + } + leaf last-order-status { + type enumeration { + enum "Active"; + enum "PendingAssignment"; + enum "PendingCreate"; + enum "PendingUpdate"; + enum "PendingDelete"; + enum "Deleted"; + } + } + leaf create-timestamp { + type string; + } + leaf modify-timestamp { + type string; + } + leaf maintenance-indicator { + type enumeration { + enum "Y"; + enum "N"; + } + } + } + } + grouping preload-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + rpc generic-configuration-notification { + input { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses configuration-information; + uses topology-response-common; + leaf configuration-topology-link { + description "Returns URL to generic-configuration-topology "; + type string; + } + uses vnr-parameters; + uses vnf-vnr-rebuild-data; + } + } + container services { + uses service-model-infrastructure; + } + container contrail-route-allotted-resources { + list contrail-route-allotted-resource { + key "allotted-resource-id"; + leaf allotted-resource-id { + type string; + mandatory true; + } + container allotted-resource-data { + container allotted-resource-operation-information { + uses contrail-route-operation-information; + } + uses contrail-route-topology; + uses allotted-resource-oper-status; + } + uses allotted-resource-status; + } + } + container security-zone-allotted-resources { + list security-zone-allotted-resource { + key "allotted-resource-id"; + leaf allotted-resource-id { + type string; + mandatory true; + } + container allotted-resource-data { + container allotted-resource-operation-information { + uses security-zone-operation-information; + } + uses security-zone-topology; + container security-zone-parameters { + uses param; + } + uses allotted-resource-oper-status; + } + uses allotted-resource-status; + } + } + container tunnelxconn-allotted-resources { + list tunnelxconn-allotted-resource { + key "allotted-resource-id"; + leaf allotted-resource-id { + type string; + mandatory true; + } + container allotted-resource-data { + container allotted-resource-operation-information { + uses tunnelxconn-operation-information; + } + uses tunnelxconn-topology; + container tunnelxconn-parameters { + uses param; + } + uses allotted-resource-oper-status; + } + uses allotted-resource-status; + } + } + container brg-allotted-resources { + list brg-allotted-resource { + key "allotted-resource-id"; + leaf allotted-resource-id { + type string; + mandatory true; + } + container allotted-resource-data { + container allotted-resource-operation-information { + uses brg-operation-information; + } + uses brg-topology; + container brg-parameters { + uses param; + } + uses allotted-resource-oper-status; + } + uses allotted-resource-status; + } + } + container connection-attachment-allotted-resources { + list connection-attachment-allotted-resource { + key "allotted-resource-id"; + leaf allotted-resource-id { + type string; + mandatory true; + } + container allotted-resource-data { + container allotted-resource-operation-information { + uses connection-attachment-operation-information; + } + uses connection-attachment-topology; + container connection-attachment-parameters { + uses param; + } + uses allotted-resource-oper-status; + } + uses allotted-resource-status; + } + } + container port-mirror-configurations { + list port-mirror-configuration { + key "configuration-id"; + leaf configuration-id { + type string; + mandatory true; + } + container configuration-data { + container configuration-operation-information { + uses port-mirror-topology-operation-information; + } + uses port-mirror-configuration-topology; + uses configuration-oper-status; + } + uses configuration-status; + } + } + container generic-configurations { + list gc-configuration { + key "configuration-id"; + leaf configuration-id { + type string; + mandatory true; + } + container configuration-data { + container configuration-operation-information { + uses gc-topology-operation-information; + } + uses configuration-oper-status; + } + uses configuration-status; + } + } + rpc service-topology-operation { + input { + uses service-operation-information; + } + output { + uses topology-response-common; + uses service-response-information; + } + } + rpc network-topology-operation { + input { + uses network-operation-information; + } + output { + uses topology-response-common; + uses network-response-information; + uses service-response-information; + } + } + rpc vnf-topology-operation { + input { + uses vnf-operation-information; + } + output { + uses topology-response-common; + uses vnf-response-information; + uses service-response-information; + } + } + rpc vf-module-topology-operation { + input { + uses vf-module-operation-information; + } + output { + uses topology-response-common; + uses vf-module-response-information; + uses vnf-response-information; + uses service-response-information; + } + } + rpc pnf-topology-operation { + input { + uses pnf-operation-information; + } + output { + uses topology-response-common; + uses pnf-response-information; + uses service-response-information; + } + } + rpc contrail-route-topology-operation { + input { + uses contrail-route-operation-information; + } + output { + uses topology-response-common; + uses contrail-route-response-information; + uses service-response-information; + } + } + rpc security-zone-topology-operation { + input { + uses security-zone-operation-information; + } + output { + uses topology-response-common; + uses security-zone-response-information; + uses service-response-information; + } + } + rpc tunnelxconn-topology-operation { + input { + uses tunnelxconn-operation-information; + } + output { + uses topology-response-common; + uses tunnelxconn-response-information; + uses service-response-information; + } + } + rpc brg-topology-operation { + input { + uses brg-operation-information; + } + output { + uses topology-response-common; + uses brg-response-information; + uses service-response-information; + } + } + rpc policy-update-notify-operation { + input { + leaf policy-name { + type string; + mandatory true; + } + leaf version-id { + description "Map JSON versionNo to version-id"; + type string; + mandatory true; + } + leaf update-type { + type string; + mandatory true; + } + } + output { + leaf error-code { + type string; + } + leaf error-msg { + type string; + } + } + } + rpc getpathsegment-topology-operation { + input { + uses forwarding-path-operation-information; + } + output { + uses topology-response-common; + uses getpathsegment-response-information; + uses service-response-information; + } + } + rpc port-mirror-topology-operation { + input { + uses port-mirror-topology-operation-information; + } + output { + uses topology-response-common; + uses port-mirror-response-information; + uses service-response-information; + } + } + rpc generic-configuration-topology-operation { + input { + uses gc-topology-operation-information; + } + output { + uses topology-response-common; + uses gc-response-information; + uses service-response-information; + } + } + rpc vnf-get-resource-request { + input { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses vnf-get-resource-request-input-data; + } + output { + container vnf-get-resource-response-information { + uses vnf-cloud-param; + } + } + } + container preload-information { + uses preload-model-information; + } + rpc preload-vf-module-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses preload-vf-module-topology-information; + } + output { + uses preload-topology-response-body; + } + } + rpc preload-network-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses preload-network-topology-information; + } + output { + uses preload-topology-response-body; + } + } + + rpc connection-attachment-topology-operation { + input { + uses connection-attachment-operation-information; + } + output { + uses topology-response-common; + uses connection-attachment-response-information; + uses service-response-information; + } + } + +} ////closes the module diff --git a/sdnc-a1-controller/northbound/generic-resource-api/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/pom.xml new file mode 100644 index 00000000..cc18abe6 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + generic-resource-api + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: generic-resource-api + + + model + provider + features + client + installer + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/pom.xml b/sdnc-a1-controller/northbound/generic-resource-api/provider/pom.xml new file mode 100644 index 00000000..a5b8c17f --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/pom.xml @@ -0,0 +1,89 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + generic-resource-api-provider + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: generic-resource-api :: ${project.artifactId} + + + + + org.onap.ccsdk.sli.core + sli-core-artifacts + ${ccsdk.sli.core.version} + pom + import + + + + + + org.onap.sdnc.northbound + generic-resource-api-model + ${project.version} + + + org.apache.commons + commons-lang3 + + + org.onap.ccsdk.sli.core + sli-common + + + org.onap.ccsdk.sli.core + sli-provider + + + + org.opendaylight.controller + sal-binding-api + + + + org.opendaylight.controller + sal-common-util + + + org.opendaylight.controller + sal-test-model + test + + + + + org.opendaylight.controller + sal-binding-broker-impl + test + + + org.opendaylight.controller + sal-binding-broker-impl + test-jar + tests + test + + + junit + junit + test + + + org.mockito + mockito-core + 1.10.19 + test + + + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java new file mode 100644 index 00000000..583c6335 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java @@ -0,0 +1,3998 @@ +package org.onap.sdnc.northbound; + +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Properties; +import java.util.TimeZone; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GENERICRESOURCEAPIService; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.Services; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServicesBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfGetResourceRequestInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfGetResourceRequestInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfGetResourceRequestOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfGetResourceRequestOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.brg.response.information.BrgResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.connection.attachment.response.information.ConnectionAttachmentResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.contrail.route.response.information.ContrailRouteResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.gc.response.information.GcResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.response.information.NetworkResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.port.mirror.response.information.PortMirrorResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.model.information.PreloadList; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.model.information.PreloadListBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.model.information.PreloadListKey; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.security.zone.response.information.SecurityZoneResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceKey; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.response.information.ServiceResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus.RequestStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus.RpcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.tunnelxconn.response.information.TunnelxconnResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.response.information.VfModuleResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.response.information.VnfResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.response.information.PnfResponseInformationBuilder; +import org.opendaylight.yangtools.yang.binding.DataObject; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Defines a base implementation for your provider. This class extends from a helper class which provides storage for + * the most commonly used components of the MD-SAL. Additionally the base class provides some basic logging and + * initialization / clean up methods. + * + * To use this, copy and paste (overwrite) the following method into the TestApplicationProviderModule class which is + * auto generated under src/main/java in this project (created only once during first compilation): + * + *
+ *
+ * @Override
+ * public java.lang.AutoCloseable createInstance() {
+ *
+ *     // final GENERIC-RESOURCE-APIProvider provider = new
+ *     // GENERIC-RESOURCE-APIProvider();
+ *     final GenericResourceApiProvider provider = new GenericResourceApiProvider();
+ *     provider.setDataBroker(getDataBrokerDependency());
+ *     provider.setNotificationService(getNotificationServiceDependency());
+ *     provider.setRpcRegistry(getRpcRegistryDependency());
+ *     provider.initialize();
+ *     return new AutoCloseable() {
+ *
+ *         @Override
+ *         public void close() throws Exception {
+ *             // TODO: CLOSE ANY REGISTRATION OBJECTS CREATED USING ABOVE
+ *             // BROKER/NOTIFICATION
+ *             // SERVIE/RPC REGISTRY
+ *             provider.close();
+ *         }
+ *     };
+ * }
+ *
+ * 
+ */ + +public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURCEAPIService { + + protected static final String APP_NAME = "generic-resource-api"; + private static final String CALLED_STR = "{} called."; + private static final String NULL_OR_EMPTY_ERROR_MESSAGE = "exiting {} because of null or empty service-instance-id"; + protected static final String NULL_OR_EMPTY_ERROR_PARAM = "invalid input, null or empty service-instance-id"; + private static final String ADDING_INPUT_DATA_LOG = "Adding INPUT data for {} [{}] input: {}"; + private static final String ADDING_OPERATIONAL_DATA_LOG = "Adding OPERATIONAL data for {} [{}] operational-data: {}"; + private static final String OPERATIONAL_DATA_PARAM = "operational-data"; + protected static final String NO_SERVICE_LOGIC_ACTIVE = "No service logic active for "; + private static final String SERVICE_LOGIC_SEARCH_ERROR_MESSAGE = "Caught exception looking for service logic"; + private static final String ERROR_CODE_PARAM = "error-code"; + private static final String ERROR_MESSAGE_PARAM = "error-message"; + private static final String ACK_FINAL_PARAM = "ack-final"; + private static final String SERVICE_OBJECT_PATH_PARAM = "service-object-path"; + private static final String NETWORK_OBJECT_PATH_PARAM = "network-object-path"; + private static final String VNF_OBJECT_PATH_PARAM = "vnf-object-path"; + private static final String PNF_OBJECT_PATH_PARAM = "pnf-object-path"; + private static final String VF_MODULE_OBJECT_PATH_PARAM = "vf-module-object-path"; + private static final String VF_MODULE_ID_PARAM = "vf-module-id"; + private static final String UPDATING_MDSAL_ERROR_MESSAGE = "Caught Exception updating MD-SAL for {} [{}] \n"; + private static final String UPDATING_MDSAL_ERROR_MESSAGE_2 = "Caught Exception updating MD-SAL for {} [{},{}] \n"; + private static final String RETURNED_FAILED_MESSAGE = "Returned FAILED for {} [{}] {}"; + private static final String UPDATING_MDSAL_INFO_MESSAGE = "Updating MD-SAL for {} [{}] ServiceData: {}"; + private static final String UPDATED_MDSAL_INFO_MESSAGE = "Updated MD-SAL for {} [{}]"; + private static final String RETURNED_SUCCESS_MESSAGE = "Returned SUCCESS for {} [{}] {}"; + private static final String NON_NULL_PARAM = "non-null"; + private static final String NULL_PARAM = "null"; + private static final String SERVICE_LOGIC_EXECUTION_ERROR_MESSAGE = "Caught exception executing service logic for {} "; + private static final String UPDATING_TREE_INFO_MESSAGE = "Updating OPERATIONAL tree."; + private static final String EMPTY_SERVICE_INSTANCE_MESSAGE = "exiting {} because the service-instance does not have any service data in SDNC"; + protected static final String INVALID_INPUT_ERROR_MESSAGE = "invalid input: the service-instance does not have any service data in SDNC"; + private static final String ALLOTTED_RESOURCE_ID_PARAM = "allotted-resource-id"; + private static final String ERROR_NETWORK_ID = "error"; + private static final String BACKGROUND_THREAD_STARTED_MESSAGE = "Start background thread"; + private static final String BACKGROUND_THREAD_INFO = "Background thread: input conf_id is {}"; + private static final String SKIP_MDSAL_UPDATE_PROP = "skip-mdsal-update"; + + private final Logger log = LoggerFactory.getLogger(GenericResourceApiProvider.class); + private final ExecutorService executor; + private final GenericResourceApiSvcLogicServiceClient svcLogicClient; + + protected DataBroker dataBroker; + protected NotificationPublishService notificationService; + protected RpcProviderRegistry rpcRegistry; + protected BindingAwareBroker.RpcRegistration rpcRegistration; + + public GenericResourceApiProvider(DataBroker dataBroker, NotificationPublishService notificationPublishService, + RpcProviderRegistry rpcProviderRegistry, GenericResourceApiSvcLogicServiceClient client) { + log.info("Creating provider for {}", APP_NAME); + executor = Executors.newFixedThreadPool(1); + setDataBroker(dataBroker); + setNotificationService(notificationPublishService); + setRpcRegistry(rpcProviderRegistry); + svcLogicClient = client; + initialize(); + + } + + public void initialize() { + log.info("Initializing provider for {}", APP_NAME); + // Create the top level containers + createContainers(); + try { + GenericResourceApiUtil.loadProperties(); + } catch (Exception e) { + log.error("Caught Exception while trying to load properties file", e); + } + + log.info("Initialization complete for {}", APP_NAME); + } + + protected void initializeChild() { + // Override if you have custom initialization intelligence + } + + @Override + public void close() throws Exception { + log.info("Closing provider for {}", APP_NAME); + executor.shutdown(); + rpcRegistration.close(); + log.info("Successfully closed provider for {}", APP_NAME); + } + + private static class Iso8601Util { + + private static TimeZone timeZone = TimeZone.getTimeZone("UTC"); + private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + + private Iso8601Util() { + } + + static { + dateFormat.setTimeZone(timeZone); + } + + private static String now() { + return dateFormat.format(new Date()); + } + } + + public void setDataBroker(DataBroker dataBroker) { + this.dataBroker = dataBroker; + if (log.isDebugEnabled()) { + log.debug("DataBroker set to {}", dataBroker == null ? NULL_PARAM : NON_NULL_PARAM); + } + } + + public void setNotificationService(NotificationPublishService notificationService) { + this.notificationService = notificationService; + if (log.isDebugEnabled()) { + log.debug("Notification Service set to {}", notificationService == null ? NULL_PARAM : NON_NULL_PARAM); + } + } + + public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { + this.rpcRegistry = rpcRegistry; + if (log.isDebugEnabled()) { + log.debug("RpcRegistry set to {}", rpcRegistry == null ? NULL_PARAM : NON_NULL_PARAM); + } + } + + private void createContainers() { + + final WriteTransaction t = dataBroker.newReadWriteTransaction(); + + // Create the service-instance container + t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(Services.class), + new ServicesBuilder().build()); + t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(Services.class), + new ServicesBuilder().build()); + + // Create the PreloadInformation container + t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(PreloadInformation.class), + new PreloadInformationBuilder().build()); + t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(PreloadInformation.class), + new PreloadInformationBuilder().build()); + + try { + CheckedFuture checkedFuture = t.submit(); + checkedFuture.get(); + log.info("Create containers succeeded!"); + + } catch (InterruptedException | ExecutionException e) { + log.error("Create containers failed: ", e); + } + } + + private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, String errorCode, String errorMessage, + String ackFinal) { + serviceStatusBuilder.setResponseCode(errorCode); + serviceStatusBuilder.setResponseMessage(errorMessage); + serviceStatusBuilder.setFinalIndicator(ackFinal); + serviceStatusBuilder.setResponseTimestamp(Iso8601Util.now()); + } + + private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, RequestInformation requestInformation) { + if (requestInformation != null && requestInformation.getRequestAction() != null) { + serviceStatusBuilder.setAction(requestInformation.getRequestAction().toString()); + } + } + + private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, SdncRequestHeader requestHeader) { + if (requestHeader != null && requestHeader.getSvcAction() != null) { + switch (requestHeader.getSvcAction()) { + case Assign: + serviceStatusBuilder.setRpcAction(RpcAction.Assign); + break; + case Unassign: + serviceStatusBuilder.setRpcAction(RpcAction.Unassign); + break; + case Activate: + serviceStatusBuilder.setRpcAction(RpcAction.Activate); + break; + case Deactivate: + serviceStatusBuilder.setRpcAction(RpcAction.Deactivate); + break; + case Delete: + serviceStatusBuilder.setRpcAction(RpcAction.Delete); + break; + case Create: + serviceStatusBuilder.setRpcAction(RpcAction.Create); + break; + default: + log.error("Unknown SvcAction: {}", requestHeader.getSvcAction()); + break; + } + } + } + + private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder) { + // default to config + getServiceData(siid, serviceDataBuilder, LogicalDatastoreType.CONFIGURATION); + } + + private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder, LogicalDatastoreType type) { + // See if any data exists yet for this siid, if so grab it. + InstanceIdentifier serviceInstanceIdentifier = InstanceIdentifier.builder(Services.class) + .child(Service.class, new ServiceKey(siid)).build(); + + Optional data = Optional.absent(); + try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) { + data = readTx.read(type, serviceInstanceIdentifier).get(); + } catch (final InterruptedException | ExecutionException e) { + log.error("Caught Exception reading MD-SAL ({}) data for [{}] ", type, siid, e); + } + + if (data != null && data.isPresent()) { + ServiceData serviceData = data.get().getServiceData(); + if (serviceData != null) { + log.info("Read MD-SAL ({}) data for [{}] ServiceData: {}", type, siid, serviceData); + serviceDataBuilder.setSdncRequestHeader(serviceData.getSdncRequestHeader()); + serviceDataBuilder.setRequestInformation(serviceData.getRequestInformation()); + serviceDataBuilder.setServiceInformation(serviceData.getServiceInformation()); + serviceDataBuilder.setServiceRequestInput(serviceData.getServiceRequestInput()); + serviceDataBuilder.setServiceTopology(serviceData.getServiceTopology()); + serviceDataBuilder.setServiceLevelOperStatus(serviceData.getServiceLevelOperStatus()); + serviceDataBuilder.setNetworks(serviceData.getNetworks()); + serviceDataBuilder.setVnfs(serviceData.getVnfs()); + serviceDataBuilder.setProvidedAllottedResources(serviceData.getProvidedAllottedResources()); + serviceDataBuilder.setConsumedAllottedResources(serviceData.getConsumedAllottedResources()); + serviceDataBuilder.setNetworkInstanceGroups(serviceData.getNetworkInstanceGroups()); + serviceDataBuilder.setVnfcInstanceGroups(serviceData.getVnfcInstanceGroups()); + serviceDataBuilder.setForwardingPaths(serviceData.getForwardingPaths()); + serviceDataBuilder.setProvidedConfigurations(serviceData.getProvidedConfigurations()); + // service-instance-id needs to be set + } else { + log.info("No service-data found in MD-SAL ({}) for [{}]", type, siid); + } + } else { + log.info("No data found in MD-SAL ({}) for [{}]", type, siid); + } + } + + private void saveService(final Service entry, boolean merge, LogicalDatastoreType storeType) { + // Each entry will be identifiable by a unique key, we have to create that + // identifier + InstanceIdentifier path = InstanceIdentifier.builder(Services.class) + .child(Service.class, entry.key()).build(); + + trySaveEntry(entry, merge, storeType, path); + } + + private void trySaveEntry(T entry, boolean merge, LogicalDatastoreType storeType, + InstanceIdentifier path) { + int tries = 2; + while (true) { + try { + save(entry, merge, storeType, path); + break; + } catch (OptimisticLockFailedException e) { + if (--tries <= 0) { + log.debug("Got OptimisticLockFailedException on last try - failing "); + throw new IllegalStateException(e); + } + log.debug("Got OptimisticLockFailedException - trying again "); + } catch (TransactionCommitFailedException ex) { + log.debug("Update DataStore failed"); + throw new IllegalStateException(ex); + } + } + } + + private void save(T entry, boolean merge, LogicalDatastoreType storeType, + InstanceIdentifier path) throws TransactionCommitFailedException { + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + if (merge) { + tx.merge(storeType, path, entry); + } else { + tx.put(storeType, path, entry); + } + tx.submit().checkedGet(); + log.debug("Update DataStore succeeded"); + } + + private void deleteService(final Service entry, LogicalDatastoreType storeType) { + // Each entry will be identifiable by a unique key, we have to create + // that identifier + InstanceIdentifier path = InstanceIdentifier.builder(Services.class) + .child(Service.class, entry.key()).build(); + + tryDeleteEntry(storeType, path); + } + + private void tryDeleteEntry(LogicalDatastoreType storeType, InstanceIdentifier path) { + int tries = 2; + while (true) { + try { + delete(storeType, path); + break; + } catch (OptimisticLockFailedException e) { + if (--tries <= 0) { + log.debug("Got OptimisticLockFailedException on last try - failing "); + throw new IllegalStateException(e); + } + log.debug("Got OptimisticLockFailedException - trying again "); + } catch (TransactionCommitFailedException ex) { + log.debug("Update DataStore failed"); + throw new IllegalStateException(ex); + } + } + } + + private void delete(LogicalDatastoreType storeType, InstanceIdentifier path) + throws TransactionCommitFailedException { + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + tx.delete(storeType, path); + tx.submit().checkedGet(); + log.debug("DataStore delete succeeded"); + } + + private void getPreloadData(String vnf_name, String vnf_type, PreloadDataBuilder preloadDataBuilder) { + // default to config + getPreloadData(vnf_name, vnf_type, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION); + } + + private void getPreloadData(String preloadName, String preloadType, PreloadDataBuilder preloadDataBuilder, + LogicalDatastoreType type) { + // See if any data exists yet for this name/type, if so grab it. + InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier + .builder(PreloadInformation.class) + .child(PreloadList.class, new PreloadListKey(preloadName, preloadType)).build(); + + Optional data = null; + try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) { + data = (Optional) readTx.read(type, preloadInstanceIdentifier).get(); + } catch (final InterruptedException | ExecutionException e) { + log.error("Caught Exception reading MD-SAL ({}) for [{},{}] ", type, preloadName, preloadType, e); + } + + if (data != null && data.isPresent()) { + PreloadData preloadData = data.get().getPreloadData(); + if (preloadData != null) { + log.info("Read MD-SAL ({}) data for [{},{}] PreloadData: {}", type, preloadName, preloadType, + preloadData); + preloadDataBuilder + .setPreloadVfModuleTopologyInformation(preloadData.getPreloadVfModuleTopologyInformation()); + preloadDataBuilder + .setPreloadNetworkTopologyInformation(preloadData.getPreloadNetworkTopologyInformation()); + preloadDataBuilder.setPreloadOperStatus(preloadData.getPreloadOperStatus()); + } else { + log.info("No preload-data found in MD-SAL ({}) for [{},{}] ", type, preloadName, preloadType); + } + } else { + log.info("No data found in MD-SAL ({}) for [{},{}] ", type, preloadName, preloadType); + } + } + + private void savePreloadList(final PreloadList entry, boolean merge, LogicalDatastoreType storeType) + throws IllegalStateException { + + // Each entry will be identifiable by a unique key, we have to create that + // identifier + InstanceIdentifier.InstanceIdentifierBuilder preloadListBuilder = InstanceIdentifier + .builder(PreloadInformation.class).child(PreloadList.class, entry.key()); + InstanceIdentifier path = preloadListBuilder.build(); + int tries = 2; + while (true) { + try { + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + if (merge) { + tx.merge(storeType, path, entry); + } else { + tx.put(storeType, path, entry); + } + tx.submit().checkedGet(); + log.debug("Update DataStore succeeded"); + break; + } catch (final TransactionCommitFailedException e) { + if (e instanceof OptimisticLockFailedException) { + if (--tries <= 0) { + log.debug("Got OptimisticLockFailedException on last try - failing "); + throw new IllegalStateException(e); + } + log.debug("Got OptimisticLockFailedException - trying again "); + } else { + log.debug("Update DataStore failed"); + throw new IllegalStateException(e); + } + } + } + } + + private void deletePreloadList(final PreloadList entry, LogicalDatastoreType storeType) { + // Each entry will be identifiable by a unique key, we have to create + // that identifier + InstanceIdentifier path = InstanceIdentifier.builder(PreloadInformation.class) + .child(PreloadList.class, entry.key()).build(); + + tryDeletePreloadListEntry(storeType, path); + } + + private void tryDeletePreloadListEntry(LogicalDatastoreType storeType, InstanceIdentifier path) { + int tries = 2; + while (true) { + try { + deletePreloadList(storeType, path); + break; + } catch (OptimisticLockFailedException e) { + if (--tries <= 0) { + log.debug("Got OptimisticLockFailedException on last try - failing "); + throw new IllegalStateException(e); + } + log.debug("Got OptimisticLockFailedException - trying again "); + } catch (TransactionCommitFailedException ex) { + log.debug("Update DataStore failed"); + throw new IllegalStateException(ex); + } + } + } + + private void deletePreloadList(LogicalDatastoreType storeType, InstanceIdentifier path) + throws TransactionCommitFailedException { + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + tx.delete(storeType, path); + tx.submit().checkedGet(); + log.debug("DataStore delete succeeded"); + } + + @Override + public ListenableFuture> serviceTopologyOperation( + ServiceTopologyOperationInput input) { + + final String svcOperation = "service-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + ServiceTopologyOperationOutputBuilder responseBuilder = new ServiceTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + /* + * // setup a service-data object builder // ACTION service-topology-operation + * // INPUT: // USES uses service-operation-information // OUTPUT: // uses + * topology-response-common; // uses service-response-information; + */ + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + ServiceTopologyOperationInputBuilder inputBuilder = new ServiceTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + tryDeleteService(input, serviceBuilder); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(ServiceTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private boolean hasInvalidServiceId(ServiceTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetSvcRequestId(ServiceTopologyOperationInput input, + ServiceTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private void tryDeleteService(ServiceTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete)) { + // Only update operational tree on delete + log.info("Delete from both CONFIGURATION and OPERATIONAL tree."); + deleteService(serviceBuilder.build(), LogicalDatastoreType.OPERATIONAL); + deleteService(serviceBuilder.build(), LogicalDatastoreType.CONFIGURATION); + } + } + + private Properties tryGetProperties(String svcOperation, Properties parms, ServiceDataBuilder serviceDataBuilder, + ResponseObject responseObject) { + try { + if (svcLogicClient.hasGraph(APP_NAME, svcOperation, null, "sync")) { + try { + return svcLogicClient.execute(APP_NAME, svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + log.error(SERVICE_LOGIC_EXECUTION_ERROR_MESSAGE, svcOperation, e); + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + } + } else { + responseObject.setMessage(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + svcOperation + "'"); + responseObject.setStatusCode("503"); + } + } catch (Exception e) { + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + log.error(SERVICE_LOGIC_SEARCH_ERROR_MESSAGE, e); + } + + return null; + } + + private boolean failed(ResponseObject error) { + return !error.getStatusCode().isEmpty() + && !("0".equals(error.getStatusCode()) || "200".equals(error.getStatusCode())); + } + + private boolean isValidRequest(ServiceTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + + @Override + public ListenableFuture> pnfTopologyOperation( + PnfTopologyOperationInput input) { + + final String svcOperation = "pnf-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + PnfTopologyOperationOutputBuilder responseBuilder = new PnfTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + /* Comment out mandatory check for pnf id for scenario wherein for assign/create request pnf-id is generated by + SDNC itself. + if (hasInvalidPnfId(input)) { + log.debug("exiting {} because of null or empty pnf-id", svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty pnf-id"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + */ + + String pnfId = input.getPnfDetails().getPnfId(); + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + // + // setup a service-data object builder + // ACTION pnf-topology-operation + // INPUT: + // USES sdnc-request-header; + // USES request-information; + // USES service-information; + // USES pnf-details + // OUTPUT: + // USES pnf-topology-response-body; + // USES pnf-details + // USES service-information + // + // uses oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + PnfTopologyOperationInputBuilder inputBuilder = new PnfTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(properties, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String pnfObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, properties, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + if (pnfId == null) { + pnfId = respProps.getProperty("pnfId"); + } + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + pnfObjectPath = respProps.getProperty(PNF_OBJECT_PATH_PARAM); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + trySaveService(input, serviceBuilder); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + // return error + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (isValidRequest(input) && input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { + // Only update operational tree on Assign + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + PnfResponseInformationBuilder pnfResponseInformationBuilder = new PnfResponseInformationBuilder(); + pnfResponseInformationBuilder.setInstanceId(pnfId); + pnfResponseInformationBuilder.setObjectPath(pnfObjectPath); + responseBuilder.setPnfResponseInformation(pnfResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + // return success + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(PnfTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySaveService(PnfTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + + // Only update operational tree on activate or delete + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private boolean hasInvalidPnfId(PnfTopologyOperationInput input) { + return input.getPnfDetails() == null || input.getPnfDetails().getPnfId() == null + || input.getPnfDetails().getPnfId().length() == 0; + } + + private boolean hasInvalidServiceId(PnfTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetSvcRequestId(PnfTopologyOperationInput input, + PnfTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean isValidRequest(PnfTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + + @Override + public ListenableFuture> vnfTopologyOperation( + VnfTopologyOperationInput input) { + + final String svcOperation = "vnf-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + VnfTopologyOperationOutputBuilder responseBuilder = new VnfTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + /* Comment out mandatory check for vnf id for scenario wherein for assign/create request vnf-id is generated by + SDNC itself. + if (hasInvalidVnfId(input)) { + log.debug("exiting {} because of null or empty vnf-id", svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty vnf-id"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + */ + + String vnfId = input.getVnfInformation().getVnfId(); + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + // + // setup a service-data object builder + // ACTION vnf-topology-operation + // INPUT: + // USES sdnc-request-header; + // USES request-information; + // USES service-information; + // USES vnf-request-information + // OUTPUT: + // USES vnf-topology-response-body; + // USES vnf-information + // USES service-information + // + // container service-data + // uses vnf-configuration-information; + // uses oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + VnfTopologyOperationInputBuilder inputBuilder = new VnfTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(properties, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String vnfObjectPath = null; + String skipMdsalUpdate = null; + Properties respProps = tryGetProperties(svcOperation, properties, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + if (vnfId == null) { + vnfId = respProps.getProperty("vnfId"); + } + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + vnfObjectPath = respProps.getProperty(VNF_OBJECT_PATH_PARAM); + skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if (skipMdsalUpdate == null) { + skipMdsalUpdate = "N"; + } + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + trySaveService(input, serviceBuilder); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + // return error + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + if (skipMdsalUpdate.equals("N")) { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (isValidRequest(input) && input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { + // Only update operational tree on Assign + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } else { + // Even if we are skipping the MD-SAL update, update the service status object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + Service service = serviceBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, service); + saveService(service, true, LogicalDatastoreType.CONFIGURATION); + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + VnfResponseInformationBuilder vnfResponseInformationBuilder = new VnfResponseInformationBuilder(); + vnfResponseInformationBuilder.setInstanceId(vnfId); + vnfResponseInformationBuilder.setObjectPath(vnfObjectPath); + responseBuilder.setVnfResponseInformation(vnfResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + if (ackFinal.equals("N")) { + // Spawn background thread to invoke the Async DG + Runnable backgroundThread = new Runnable() { + public void run() { + log.info(BACKGROUND_THREAD_STARTED_MESSAGE); + processAsyncVnfTopologyOperation(input); + } + }; + new Thread(backgroundThread).start(); + } + + // return success + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(VnfTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySaveService(VnfTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + + // Only update operational tree on activate or delete + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private boolean hasInvalidVnfId(VnfTopologyOperationInput input) { + return input.getVnfInformation() == null || input.getVnfInformation().getVnfId() == null + || input.getVnfInformation().getVnfId().length() == 0; + } + + private boolean hasInvalidServiceId(VnfTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetSvcRequestId(VnfTopologyOperationInput input, + VnfTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean isValidRequest(VnfTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + public void processAsyncVnfTopologyOperation(VnfTopologyOperationInput input) { + log.info(BACKGROUND_THREAD_INFO, input.getVnfInformation().getVnfId()); + + final String svcOperation = "vnf-topology-operation-async"; + ServiceData serviceData = null; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // create a new response object (for logging purposes only) + VnfTopologyOperationOutputBuilder responseBuilder = new VnfTopologyOperationOutputBuilder(); + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + String vnfId = input.getVnfInformation().getVnfId(); + + trySetSvcRequestId(input, responseBuilder); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + // + // setup a service-data object builder + // ACTION vnf-topology-operation + // INPUT: + // USES sdnc-request-header; + // USES request-information; + // USES service-information; + // USES vnf-request-information + // OUTPUT: + // USES vnf-topology-response-body; + // USES vnf-information + // USES service-information + // + // container service-data + // uses vnf-configuration-information; + // uses oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + VnfTopologyOperationInputBuilder inputBuilder = new VnfTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String vnfObjectPath = null; + String skipMdsalUpdate = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + vnfObjectPath = respProps.getProperty(VNF_OBJECT_PATH_PARAM); + skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if (skipMdsalUpdate == null) { + skipMdsalUpdate = "N"; + } + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + return; + } + + // Got success from SLI + try { + if (skipMdsalUpdate.equals("N")) { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + } else { + // Even if we are skipping the MD-SAL update, update the service status object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + Service service = serviceBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, service); + saveService(service, true, LogicalDatastoreType.CONFIGURATION); + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + VnfResponseInformationBuilder vnfResponseInformationBuilder = new VnfResponseInformationBuilder(); + vnfResponseInformationBuilder.setInstanceId(vnfId); + vnfResponseInformationBuilder.setObjectPath(vnfObjectPath); + responseBuilder.setVnfResponseInformation(vnfResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + return; + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + return; + } + + @Override + public ListenableFuture> vfModuleTopologyOperation( + VfModuleTopologyOperationInput input) { + + final String svcOperation = "vf-module-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + VfModuleTopologyOperationOutputBuilder responseBuilder = new VfModuleTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + // return error + return Futures.immediateFuture(rpcResult); + } + + if (hasInvalidVnfId(input)) { + log.debug("exiting {} because of null or empty vnf-id", svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage("invalid input, null or empty vnf-id"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + /*if (hasInvalidVfModuleId(input)) { + log.debug("exiting {} because of null or empty vf-module-id", svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage("invalid input, vf-module-id is null or empty"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + }*/ + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + String vnfId = input.getVnfInformation().getVnfId(); + String vfModuleId = input.getVfModuleInformation().getVfModuleId(); + + trySetSvcRequestId(input, responseBuilder); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + // + // setup a service-data object builder + // ACTION vnf-topology-operation + // INPUT: + // USES sdnc-request-header; + // USES request-information; + // USES service-information; + // USES vnf-request-information + // OUTPUT: + // USES vnf-topology-response-body; + // USES vnf-information + // USES service-information + // + // container service-data + // uses vnf-configuration-information; + // uses oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + VfModuleTopologyOperationInputBuilder inputBuilder = new VfModuleTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String vnfObjectPath = null; + String vfModuleObjectPath = null; + String skipMdsalUpdate = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + if (vfModuleId == null) { + vfModuleId = respProps.getProperty(VF_MODULE_ID_PARAM); + if (vfModuleId == null) { + log.debug("exiting {} because vf-module-id not found in response", svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage("failed to generate vf-module-id"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + } + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + vnfObjectPath = respProps.getProperty(VNF_OBJECT_PATH_PARAM); + vfModuleObjectPath = respProps.getProperty(VF_MODULE_OBJECT_PATH_PARAM); + skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if (skipMdsalUpdate == null) { + skipMdsalUpdate = "N"; + } + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + // return error + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + if (skipMdsalUpdate.equals("N")) { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + } else { + // Even if we are skipping the MD-SAL update, update the service status object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + Service service = serviceBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, service); + saveService(service, true, LogicalDatastoreType.CONFIGURATION); + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + VnfResponseInformationBuilder vnfResponseInformationBuilder = new VnfResponseInformationBuilder(); + vnfResponseInformationBuilder.setInstanceId(vnfId); + vnfResponseInformationBuilder.setObjectPath(vnfObjectPath); + responseBuilder.setVnfResponseInformation(vnfResponseInformationBuilder.build()); + + VfModuleResponseInformationBuilder vfModuleResponseInformationBuilder = new VfModuleResponseInformationBuilder(); + vfModuleResponseInformationBuilder.setInstanceId(vfModuleId); + vfModuleResponseInformationBuilder.setObjectPath(vfModuleObjectPath); + responseBuilder.setVfModuleResponseInformation(vfModuleResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + if (ackFinal.equals("N")) { + // Spawn background thread to invoke the Async DG + Runnable backgroundThread = new Runnable() { + public void run() { + log.info(BACKGROUND_THREAD_STARTED_MESSAGE); + processAsyncVfModuleTopologyOperation(input); + } + }; + new Thread(backgroundThread).start(); + } + + // return success + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(VfModuleTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySaveService(VfModuleTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + // Only update operational tree on activate or delete + + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private void trySetSvcRequestId(VfModuleTopologyOperationInput input, + VfModuleTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean hasInvalidVfModuleId(VfModuleTopologyOperationInput input) { + return input.getVfModuleInformation() == null || input.getVfModuleInformation().getVfModuleId() == null + || input.getVfModuleInformation().getVfModuleId().length() == 0; + } + + private boolean hasInvalidVnfId(VfModuleTopologyOperationInput input) { + return input.getVnfInformation() == null || input.getVnfInformation().getVnfId() == null + || input.getVnfInformation().getVnfId().length() == 0; + } + + private boolean hasInvalidServiceId(VfModuleTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private boolean isValidRequest(VfModuleTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + public void processAsyncVfModuleTopologyOperation(VfModuleTopologyOperationInput input) { + log.info(BACKGROUND_THREAD_INFO, input.getVfModuleInformation().getVfModuleId()); + + final String svcOperation = "vf-module-topology-operation-async"; + ServiceData serviceData = null; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // create a new response object (for logging purposes only) + VfModuleTopologyOperationOutputBuilder responseBuilder = new VfModuleTopologyOperationOutputBuilder(); + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + String vnfId = input.getVnfInformation().getVnfId(); + String vfModuleId = input.getVfModuleInformation().getVfModuleId(); + + trySetSvcRequestId(input, responseBuilder); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + // + // setup a service-data object builder + // ACTION vnf-topology-operation + // INPUT: + // USES sdnc-request-header; + // USES request-information; + // USES service-information; + // USES vnf-request-information + // OUTPUT: + // USES vnf-topology-response-body; + // USES vnf-information + // USES service-information + // + // container service-data + // uses vnf-configuration-information; + // uses oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + VfModuleTopologyOperationInputBuilder inputBuilder = new VfModuleTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String vnfObjectPath = null; + String vfModuleObjectPath = null; + String skipMdsalUpdate = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + vnfObjectPath = respProps.getProperty(VNF_OBJECT_PATH_PARAM); + vfModuleObjectPath = respProps.getProperty(VF_MODULE_OBJECT_PATH_PARAM); + skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if (skipMdsalUpdate == null) { + skipMdsalUpdate = "N"; + } + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + return; + } + + // Got success from SLI + try { + if (skipMdsalUpdate.equals("N")) { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + } else { + // Even if we are skipping the MD-SAL update, update the service status object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + Service service = serviceBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, service); + saveService(service, true, LogicalDatastoreType.CONFIGURATION); + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + VnfResponseInformationBuilder vnfResponseInformationBuilder = new VnfResponseInformationBuilder(); + vnfResponseInformationBuilder.setInstanceId(vnfId); + vnfResponseInformationBuilder.setObjectPath(vnfObjectPath); + responseBuilder.setVnfResponseInformation(vnfResponseInformationBuilder.build()); + + VfModuleResponseInformationBuilder vfModuleResponseInformationBuilder = new VfModuleResponseInformationBuilder(); + vfModuleResponseInformationBuilder.setInstanceId(vfModuleId); + vfModuleResponseInformationBuilder.setObjectPath(vfModuleObjectPath); + responseBuilder.setVfModuleResponseInformation(vfModuleResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + return; + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + return; + } + + @Override + public ListenableFuture> networkTopologyOperation( + NetworkTopologyOperationInput input) { + + final String svcOperation = "network-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + NetworkTopologyOperationOutputBuilder responseBuilder = new NetworkTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, NULL_OR_EMPTY_ERROR_PARAM); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + this.trySetSvcRequestId(input, responseBuilder); + + ServiceData sd = serviceDataBuilder.build(); + if (isInvalidServiceData(sd)) { + log.debug(EMPTY_SERVICE_INSTANCE_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, INVALID_INPUT_ERROR_MESSAGE); + } + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + NetworkTopologyOperationInputBuilder inputBuilder = new NetworkTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String networkId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String networkObjectPath = null; + String skipMdsalUpdate = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + networkId = respProps.getProperty("networkId"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + networkObjectPath = respProps.getProperty(NETWORK_OBJECT_PATH_PARAM); + skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if (skipMdsalUpdate == null) { + skipMdsalUpdate = "N"; + } + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + if (skipMdsalUpdate.equals("N")) { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + } else { + // Even if we are skipping the MD-SAL update, update the service status object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + Service service = serviceBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, service); + saveService(service, true, LogicalDatastoreType.CONFIGURATION); + } + + NetworkResponseInformationBuilder networkResponseInformationBuilder = new NetworkResponseInformationBuilder(); + networkResponseInformationBuilder.setInstanceId(networkId); + networkResponseInformationBuilder.setObjectPath(networkObjectPath); + responseBuilder.setNetworkResponseInformation(networkResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(NetworkTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySetSvcRequestId(NetworkTopologyOperationInput input, + NetworkTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private void trySaveService(NetworkTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Create))) { + // Only update operational tree on Activate + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private boolean hasInvalidServiceId(NetworkTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private ListenableFuture> buildRpcResultFuture( + NetworkTopologyOperationOutputBuilder responseBuilder, String responseMessage) { + + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(responseMessage); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private boolean isValidRequest(NetworkTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + @Override + public ListenableFuture> contrailRouteTopologyOperation( + ContrailRouteTopologyOperationInput input) { + + final String svcOperation = "contrail-route-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + ContrailRouteTopologyOperationOutputBuilder responseBuilder = new ContrailRouteTopologyOperationOutputBuilder(); + + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, NULL_OR_EMPTY_ERROR_PARAM); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + trySetSvcRequestId(input, responseBuilder); + + ServiceData sd = serviceDataBuilder.build(); + if (isInvalidServiceData(sd)) { + log.debug(EMPTY_SERVICE_INSTANCE_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, INVALID_INPUT_ERROR_MESSAGE); + } + + log.info("Adding INPUT data for " + svcOperation + " [" + siid + "] input: " + input); + ContrailRouteTopologyOperationInputBuilder inputBuilder = new ContrailRouteTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String allottedResourceId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String contrailRouteObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, properties, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + allottedResourceId = respProps.getProperty(ALLOTTED_RESOURCE_ID_PARAM); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + contrailRouteObjectPath = respProps.getProperty("contrail-route-object-path"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + + ContrailRouteResponseInformationBuilder contrailRouteResponseInformationBuilder = new ContrailRouteResponseInformationBuilder(); + contrailRouteResponseInformationBuilder.setInstanceId(allottedResourceId); + contrailRouteResponseInformationBuilder.setObjectPath(contrailRouteObjectPath); + responseBuilder.setContrailRouteResponseInformation(contrailRouteResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(ContrailRouteTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySaveService(ContrailRouteTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + // Only update operational tree on activate or delete + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private void trySetSvcRequestId(ContrailRouteTopologyOperationInput input, + ContrailRouteTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean hasInvalidServiceId(ContrailRouteTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private ListenableFuture> buildRpcResultFuture( + ContrailRouteTopologyOperationOutputBuilder responseBuilder, String responseMessage) { + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(responseMessage); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private boolean isValidRequest(ContrailRouteTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + @Override + public ListenableFuture> securityZoneTopologyOperation( + SecurityZoneTopologyOperationInput input) { + + final String svcOperation = "security-zone-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + SecurityZoneTopologyOperationOutputBuilder responseBuilder = new SecurityZoneTopologyOperationOutputBuilder(); + + if (this.hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, NULL_OR_EMPTY_ERROR_PARAM); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + trySetSvcRequestId(input, responseBuilder); + + ServiceData sd = serviceDataBuilder.build(); + if (isInvalidServiceData(sd)) { + log.debug(EMPTY_SERVICE_INSTANCE_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, INVALID_INPUT_ERROR_MESSAGE); + } + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + SecurityZoneTopologyOperationInputBuilder inputBuilder = new SecurityZoneTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + + Properties respProps = null; + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String allottedResourceId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String securityZoneObjectPath = null; + + try { + if (svcLogicClient.hasGraph(APP_NAME, svcOperation, null, "sync")) { + + try { + respProps = svcLogicClient.execute(APP_NAME, svcOperation, null, "sync", serviceDataBuilder, parms); + } catch (Exception e) { + log.error(SERVICE_LOGIC_EXECUTION_ERROR_MESSAGE, svcOperation, e); + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + } + } else { + responseObject.setMessage(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + svcOperation + "'"); + responseObject.setStatusCode("503"); + } + } catch (Exception e) { + responseObject.setStatusCode("500"); + responseObject.setMessage(e.getMessage()); + log.error(SERVICE_LOGIC_SEARCH_ERROR_MESSAGE, e); + } + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + allottedResourceId = respProps.getProperty(ALLOTTED_RESOURCE_ID_PARAM); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + securityZoneObjectPath = respProps.getProperty("security-zone-object-path"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + + SecurityZoneResponseInformationBuilder securityZoneResponseInformationBuilder = new SecurityZoneResponseInformationBuilder(); + securityZoneResponseInformationBuilder.setInstanceId(allottedResourceId); + securityZoneResponseInformationBuilder.setObjectPath(securityZoneObjectPath); + responseBuilder.setSecurityZoneResponseInformation(securityZoneResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(SecurityZoneTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private void trySaveService(SecurityZoneTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + // Only update operational tree on activate or delete + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private void trySetSvcRequestId(SecurityZoneTopologyOperationInput input, + SecurityZoneTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean isInvalidServiceData(ServiceData sd) { + return sd == null || sd.getServiceLevelOperStatus() == null; + } + + private boolean hasInvalidServiceId(SecurityZoneTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private ListenableFuture> buildRpcResultFuture( + SecurityZoneTopologyOperationOutputBuilder responseBuilder, String responseMessage) { + + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(responseMessage); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private boolean isValidRequest(SecurityZoneTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + + private boolean hasInvalidServiceId(ConnectionAttachmentTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetResponseMessage(ConnectionAttachmentTopologyOperationOutputBuilder responseBuilder, + ResponseObject error) { + if (!error.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(error.getMessage()); + } + } + + private void trySetSvcRequestId(ConnectionAttachmentTopologyOperationInput input, + ConnectionAttachmentTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private ListenableFuture> + buildRpcResultFuture(ConnectionAttachmentTopologyOperationOutputBuilder responseBuilder, String responseMessage) { + + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(responseMessage); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true) + .withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySaveService(ConnectionAttachmentTopologyOperationInput input, ServiceBuilder serviceBuilder) { + if (isValidRequest(input) && + (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) || + input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate))) { + // Only update operational tree on activate or delete + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + private boolean isValidRequest(ConnectionAttachmentTopologyOperationInput input) { + return input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null; + } + + @Override + public ListenableFuture> connectionAttachmentTopologyOperation( + ConnectionAttachmentTopologyOperationInput input) { + final String svcOperation = "connection-attachment-topology-operation"; + Properties parms = new Properties(); + log.info(CALLED_STR, svcOperation); + + // create a new response object + ConnectionAttachmentTopologyOperationOutputBuilder responseBuilder = new ConnectionAttachmentTopologyOperationOutputBuilder(); + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true) + .withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + + String siid = input.getServiceInformation().getServiceInstanceId(); + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + trySetSvcRequestId(input, responseBuilder); + + ServiceData sd = serviceDataBuilder.build(); + if (isInvalidServiceData(sd)) { + log.debug(EMPTY_SERVICE_INSTANCE_MESSAGE, svcOperation); + return buildRpcResultFuture(responseBuilder, INVALID_INPUT_ERROR_MESSAGE); + } + + ConnectionAttachmentTopologyOperationInputBuilder inputBuilder = new ConnectionAttachmentTopologyOperationInputBuilder( + input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + // Get SvcLogicService reference + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String allottedResourceId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String connectionAttachmentObjectPath = null; + + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + allottedResourceId = respProps.getProperty(ALLOTTED_RESOURCE_ID_PARAM); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + connectionAttachmentObjectPath = respProps.getProperty("connection-attachment-object-path"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true) + .withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + trySaveService(input, serviceBuilder); + + ConnectionAttachmentResponseInformationBuilder connectionAttachmentResponseInformationBuilder = new ConnectionAttachmentResponseInformationBuilder(); + connectionAttachmentResponseInformationBuilder.setInstanceId(allottedResourceId); + connectionAttachmentResponseInformationBuilder.setObjectPath(connectionAttachmentObjectPath); + responseBuilder + .setConnectionAttachmentResponseInformation(connectionAttachmentResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true) + .withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true) + .withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + @Override + public ListenableFuture> tunnelxconnTopologyOperation( + TunnelxconnTopologyOperationInput input) { + + final String svcOperation = "tunnelxconn-topology-operation"; + Properties parms = new Properties(); + log.info(CALLED_STR, svcOperation); + + // create a new response object + TunnelxconnTopologyOperationOutputBuilder responseBuilder = new TunnelxconnTopologyOperationOutputBuilder(); + if (hasInvalidServiceId(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + String siid = input.getServiceInformation().getServiceInstanceId(); + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + TunnelxconnTopologyOperationInputBuilder inputBuilder = new TunnelxconnTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String allottedResourceId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String tunnelxconnObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + allottedResourceId = respProps.getProperty(ALLOTTED_RESOURCE_ID_PARAM); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + tunnelxconnObjectPath = respProps.getProperty("tunnelxconn-object-path"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + TunnelxconnResponseInformationBuilder tunnelxconnResponseInformationBuilder = new TunnelxconnResponseInformationBuilder(); + tunnelxconnResponseInformationBuilder.setInstanceId(allottedResourceId); + tunnelxconnResponseInformationBuilder.setObjectPath(tunnelxconnObjectPath); + responseBuilder.setTunnelxconnResponseInformation(tunnelxconnResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(TunnelxconnTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private boolean hasInvalidServiceId(TunnelxconnTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private Properties tryGetProperties(String svcOperation, Properties parms, ResponseObject responseObject) { + try { + if (svcLogicClient.hasGraph(APP_NAME, svcOperation, null, "sync")) { + + try { + return svcLogicClient.execute(APP_NAME, svcOperation, null, "sync", parms); + } catch (Exception e) { + log.error(SERVICE_LOGIC_EXECUTION_ERROR_MESSAGE, svcOperation, e); + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + } + } else { + responseObject.setMessage(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + svcOperation + "'"); + responseObject.setStatusCode("503"); + } + } catch (Exception e) { + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + log.error(SERVICE_LOGIC_SEARCH_ERROR_MESSAGE, e); + } + return null; + } + + @Override + public ListenableFuture> brgTopologyOperation( + BrgTopologyOperationInput input) { + final String svcOperation = "brg-topology-operation"; + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + BrgTopologyOperationOutputBuilder responseBuilder = new BrgTopologyOperationOutputBuilder(); + + if (this.hasInvalidServiceId(input)) { + + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + BrgTopologyOperationInputBuilder inputBuilder = new BrgTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String allottedResourceId = ERROR_NETWORK_ID; + String serviceObjectPath = null; + String brgObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + allottedResourceId = respProps.getProperty(ALLOTTED_RESOURCE_ID_PARAM); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + brgObjectPath = respProps.getProperty("brg-object-path"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + + BrgResponseInformationBuilder brgResponseInformationBuilder = new BrgResponseInformationBuilder(); + brgResponseInformationBuilder.setInstanceId(allottedResourceId); + brgResponseInformationBuilder.setObjectPath(brgObjectPath); + responseBuilder.setBrgResponseInformation(brgResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private void trySetResponseMessage(BrgTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + + private boolean hasInvalidServiceId(BrgTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private String resolveAckFinal(ResponseObject responseObject, Properties respProps) { + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + return respProps.getProperty(ACK_FINAL_PARAM, "Y"); + } + return "Y"; + } + + @Override + public ListenableFuture> preloadNetworkTopologyOperation( + PreloadNetworkTopologyOperationInput input) { + + final String svcOperation = "preload-network-topology-operation"; + PreloadData preloadData; + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + PreloadNetworkTopologyOperationOutputBuilder responseBuilder = new PreloadNetworkTopologyOperationOutputBuilder(); + + if (hasInvalidPreloadNetwork(input)) { + log.debug("exiting {} because of null or empty preload-network-topology-information", svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage("invalid input, null or empty preload-network-topology-information"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Grab the preload ID from the input buffer + String preloadId = input.getPreloadNetworkTopologyInformation().getNetworkTopologyIdentifierStructure() + .getNetworkName(); + String preloadType = "network"; + + trySetSvcRequestId(input, responseBuilder); + + PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder(); + getPreloadData(preloadId, preloadType, preloadDataBuilder); + + PreloadDataBuilder operDataBuilder = new PreloadDataBuilder(); + getPreloadData(preloadId, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // + // setup a preload-data object builder + // ACTION preload-network-topology-operation + // INPUT: + // uses sdnc-request-header; + // uses request-information; + // uses preload-network-topology-information; + // OUTPUT: + // uses preload-topology-response-body; + // + // container preload-data + // uses preload-network-topology-information; + // uses preload-oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, preloadId, input); + PreloadNetworkTopologyOperationInputBuilder inputBuilder = new PreloadNetworkTopologyOperationInputBuilder( + input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, preloadId, input); + GenericResourceApiUtil.toProperties(properties, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + Properties respProps = tryGetProperties(svcOperation, properties, preloadDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + preloadData = preloadDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, preloadId, preloadData); + + // preload-list object + PreloadListBuilder preloadListBuilder = new PreloadListBuilder(); + preloadListBuilder.setPreloadId(preloadId); + preloadListBuilder.setPreloadType(preloadType); + preloadListBuilder.setPreloadData(preloadData); + + savePreloadList(preloadListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + log.info(UPDATING_TREE_INFO_MESSAGE); + savePreloadList(preloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + + tryDeletePreload(input, preloadListBuilder); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, preloadId, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, preloadId); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidPreloadNetwork(PreloadNetworkTopologyOperationInput input) { + return input == null || input.getPreloadNetworkTopologyInformation() == null + || input.getPreloadNetworkTopologyInformation().getNetworkTopologyIdentifierStructure() == null; + } + + private boolean hasInvalidPreloadId(String preloadId) { + return preloadId == null || preloadId.length() == 0; + } + + private void trySetSvcRequestId(PreloadNetworkTopologyOperationInput input, + PreloadNetworkTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private Properties tryGetProperties(String svcOperation, Properties parms, PreloadDataBuilder preloadDataBuilder, + ResponseObject responseObject) { + try { + if (svcLogicClient.hasGraph(APP_NAME, svcOperation, null, "sync")) { + try { + return svcLogicClient.execute(APP_NAME, svcOperation, null, "sync", preloadDataBuilder, parms); + } catch (Exception e) { + log.error(SERVICE_LOGIC_EXECUTION_ERROR_MESSAGE, svcOperation, e); + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + } + } else { + responseObject.setMessage(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + svcOperation + "'"); + responseObject.setStatusCode("503"); + } + } catch (Exception e) { + responseObject.setMessage(e.getMessage()); + responseObject.setStatusCode("500"); + log.error(SERVICE_LOGIC_SEARCH_ERROR_MESSAGE, e); + } + + return null; + } + + private void trySetResponseMessage(PreloadNetworkTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + if (!responseObject.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + } + + private void tryDeletePreload(PreloadNetworkTopologyOperationInput input, PreloadListBuilder preloadListBuilder) { + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete)) { + log.info("Delete from both CONFIGURATION and OPERATIONAL tree."); + deletePreloadList(preloadListBuilder.build(), LogicalDatastoreType.OPERATIONAL); + deletePreloadList(preloadListBuilder.build(), LogicalDatastoreType.CONFIGURATION); + } + } + + @Override + public ListenableFuture> preloadVfModuleTopologyOperation( + PreloadVfModuleTopologyOperationInput input) { + + final String svcOperation = "preload-vf-module-topology-operation"; + PreloadData preloadData; + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + PreloadVfModuleTopologyOperationOutputBuilder responseBuilder = new PreloadVfModuleTopologyOperationOutputBuilder(); + + if (hasInvalidPreloadVfModule(input)) { + log.debug( + "exiting {} because of null or empty preload-vf-module-topology-information.vf-module-topology.vf-module-topology-identifier.vf-module-name", + svcOperation); + responseBuilder.setResponseCode("403"); + responseBuilder.setResponseMessage( + "invalid input, null or empty preload-vf-module-topology-information.vf-module-topology.vf-module-topology-identifier.vf-module-name"); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Grab the preload ID from the input buffer + String preloadId = input.getPreloadVfModuleTopologyInformation().getVfModuleTopology() + .getVfModuleTopologyIdentifier().getVfModuleName(); + String preloadType = "vf-module"; + + trySetSvcRequestId(input, responseBuilder); + + PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder(); + getPreloadData(preloadId, preloadType, preloadDataBuilder); + + PreloadDataBuilder operDataBuilder = new PreloadDataBuilder(); + getPreloadData(preloadId, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // + // setup a preload-data object builder + // ACTION preload-vf-module-topology-operation + // INPUT: + // uses sdnc-request-header; + // uses request-information; + // uses preload-vnf-topology-information; + // OUTPUT: + // uses preload-topology-response-body; + // + // container preload-data + // uses preload-vf-module-topology-information; + // uses preload-oper-status; + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, preloadId, input); + PreloadVfModuleTopologyOperationInputBuilder inputBuilder = new PreloadVfModuleTopologyOperationInputBuilder( + input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, preloadId, input); + GenericResourceApiUtil.toProperties(properties, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + Properties respProps = tryGetProperties(svcOperation, properties, preloadDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + } + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + preloadData = preloadDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, preloadId, preloadData); + + // preload-list object + PreloadListBuilder preloadListBuilder = new PreloadListBuilder(); + preloadListBuilder.setPreloadId(preloadId); + preloadListBuilder.setPreloadType(preloadType); + preloadListBuilder.setPreloadData(preloadData); + + savePreloadList(preloadListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + log.info(UPDATING_TREE_INFO_MESSAGE); + savePreloadList(preloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + + tryDeletePreload(input, preloadListBuilder); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, preloadId, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, preloadId); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, preloadId, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidPreloadVfModule(PreloadVfModuleTopologyOperationInput input) { + return input == null || input.getPreloadVfModuleTopologyInformation() == null + || input.getPreloadVfModuleTopologyInformation().getVfModuleTopology() == null + || input.getPreloadVfModuleTopologyInformation().getVfModuleTopology() + .getVfModuleTopologyIdentifier() == null + || input.getPreloadVfModuleTopologyInformation().getVfModuleTopology().getVfModuleTopologyIdentifier() + .getVfModuleName() == null; + } + + private void trySetSvcRequestId(PreloadVfModuleTopologyOperationInput input, + PreloadVfModuleTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private void trySetResponseMessage(PreloadVfModuleTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + if (!responseObject.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + } + + private void tryDeletePreload(PreloadVfModuleTopologyOperationInput input, PreloadListBuilder preloadListBuilder) { + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete)) { + log.info("Delete from both CONFIGURATION and OPERATIONAL tree."); + deletePreloadList(preloadListBuilder.build(), LogicalDatastoreType.OPERATIONAL); + deletePreloadList(preloadListBuilder.build(), LogicalDatastoreType.CONFIGURATION); + } + } + + @Override + public ListenableFuture> genericConfigurationTopologyOperation( + GenericConfigurationTopologyOperationInput input) { + + final String svcOperation = "generic-configuration-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + GenericConfigurationTopologyOperationOutputBuilder responseBuilder = new GenericConfigurationTopologyOperationOutputBuilder(); + + if (hasInvalidService(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + if (hasInvalidConfigurationIdOrType(input)) { + log.debug("exiting {} because of null or empty configuration-id or configuration-type", svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty configuration-id or configuration-type"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()) + .build(); + return Futures.immediateFuture(rpcResult); + } + + // Grab the configuration ID from the input buffer + String configId = input.getConfigurationInformation().getConfigurationId(); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + GenericConfigurationTopologyOperationInputBuilder inputBuilder = new GenericConfigurationTopologyOperationInputBuilder( + input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = ""; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + GcResponseInformationBuilder gcResponseInformationBuilder = new GcResponseInformationBuilder(); + gcResponseInformationBuilder.setInstanceId(configId); + responseBuilder.setGcResponseInformation(gcResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()) + .build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidService(GenericConfigurationTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetSvcRequestId(GenericConfigurationTopologyOperationInput input, + GenericConfigurationTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean hasInvalidConfigurationIdOrType(GenericConfigurationTopologyOperationInput input) { + return input.getConfigurationInformation() == null + || input.getConfigurationInformation().getConfigurationId() == null + || input.getConfigurationInformation().getConfigurationType() == null; + } + + private void trySetResponseMessage(GenericConfigurationTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + if (!responseObject.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + } + + @Override + public ListenableFuture> genericConfigurationNotification( + GenericConfigurationNotificationInput input) { + + final String svcOperation = "generic-configuration-notification"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + GenericConfigurationNotificationInputBuilder inputBuilder = new GenericConfigurationNotificationInputBuilder( + input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + + RpcResult rpcResult = RpcResultBuilder.status( + true).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + RpcResult rpcResult = RpcResultBuilder.status( + true).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + + RpcResult rpcResult = RpcResultBuilder.status( + true).build(); + + return Futures.immediateFuture(rpcResult); + } + + @Override + public ListenableFuture> getpathsegmentTopologyOperation( + GetpathsegmentTopologyOperationInput input) { + + final String svcOperation = "getpathsegment-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + GetpathsegmentTopologyOperationOutputBuilder responseBuilder = new GetpathsegmentTopologyOperationOutputBuilder(); + + if (hasInvalidService(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + if (hasInvalidOnapModelInformation(input)) { + log.debug("exiting {} because no model-uuid provided", svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, no model-uuid provided"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + GetpathsegmentTopologyOperationInputBuilder inputBuilder = new GetpathsegmentTopologyOperationInputBuilder( + input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidService(GetpathsegmentTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private void trySetSvcRequestId(GetpathsegmentTopologyOperationInput input, + GetpathsegmentTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private boolean hasInvalidOnapModelInformation(GetpathsegmentTopologyOperationInput input) { + return input.getServiceInformation() == null || input.getServiceInformation().getOnapModelInformation() == null + || input.getServiceInformation().getOnapModelInformation().getModelUuid() == null; + } + + private void trySetResponseMessage(GetpathsegmentTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + if (!responseObject.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + } + + @Override + public ListenableFuture> policyUpdateNotifyOperation( + PolicyUpdateNotifyOperationInput input) { + + final String svcOperation = "policy-update-notify-operation"; + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // create a new response object + PolicyUpdateNotifyOperationOutputBuilder responseBuilder = new PolicyUpdateNotifyOperationOutputBuilder(); + + // Make sure we have a valid input + if (hasInvalidInput(input)) { + log.debug("exiting {} because policy name, update type, or version id was not provided", svcOperation); + responseBuilder.setErrorCode("404"); + responseBuilder.setErrorMsg("Invalid input, missing input data"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + log.info("Adding INPUT data for {} input: {}", svcOperation, input); + PolicyUpdateNotifyOperationInputBuilder inputBuilder = new PolicyUpdateNotifyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, responseObject); + + if (respProps != null) { + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty(SERVICE_OBJECT_PATH_PARAM); + } + + if (failed(responseObject)) { + responseBuilder.setErrorCode(responseObject.getStatusCode()); + responseBuilder.setErrorMsg(responseObject.getMessage()); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, "policy update", responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + responseBuilder.setErrorCode(responseObject.getStatusCode()); + if (responseObject.getMessage() != null) { + responseBuilder.setErrorMsg(responseObject.getMessage()); + } + log.info("Returned SUCCESS for " + svcOperation + responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + // return success + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidInput(PolicyUpdateNotifyOperationInput input) { + return (input.getPolicyName() == null) || (input.getUpdateType() == null) || (input.getVersionId() == null); + } + + @Override + public ListenableFuture> portMirrorTopologyOperation( + final PortMirrorTopologyOperationInput input) { + + final String svcOperation = "port-mirror-topology-operation"; + ServiceData serviceData = null; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties properties = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // create a new response object + PortMirrorTopologyOperationOutputBuilder responseBuilder = new PortMirrorTopologyOperationOutputBuilder(); + + if (hasInvalidService(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage(NULL_OR_EMPTY_ERROR_PARAM); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } + + if (hasInvalidConfigurationId(input)) { + log.debug("exiting {} because of null or empty configuration-id", svcOperation); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty configuration-id"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + trySetSvcRequestId(input, responseBuilder); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + PortMirrorTopologyOperationInputBuilder inputBuilder = new PortMirrorTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(properties, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(properties, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + String portMirrorObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, properties, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty("service-object-path"); + portMirrorObjectPath = respProps.getProperty("port-mirror-object-path"); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setResponseMessage(responseObject.getMessage()); + responseBuilder.setAckFinalIndicator(ackFinal); + + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + // return error + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { + // Only update operational tree on activate or delete + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + PortMirrorResponseInformationBuilder portMirrorResponseInformationBuilder = new PortMirrorResponseInformationBuilder(); + portMirrorResponseInformationBuilder + .setInstanceId(input.getConfigurationInformation().getConfigurationId()); + portMirrorResponseInformationBuilder.setObjectPath(portMirrorObjectPath); + responseBuilder.setPortMirrorResponseInformation(portMirrorResponseInformationBuilder.build()); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.getMessage()); + responseBuilder.setAckFinalIndicator("Y"); + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(responseObject.getStatusCode()); + responseBuilder.setAckFinalIndicator(ackFinal); + trySetResponseMessage(responseBuilder, responseObject); + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + + if (ackFinal.equals("N")) { + // Spawn background thread to invoke the Async DG + Runnable backgroundThread = new Runnable() { + public void run() { + log.info(BACKGROUND_THREAD_STARTED_MESSAGE); + processAsyncPortMirrorTopologyOperation(input); + } + }; + new Thread(backgroundThread).start(); + } + + // return success + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidService(PortMirrorTopologyOperationInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } + + private boolean hasInvalidConfigurationId(PortMirrorTopologyOperationInput input) { + return input.getConfigurationInformation() == null + || input.getConfigurationInformation().getConfigurationId() == null + || input.getConfigurationInformation().getConfigurationId().length() == 0; + } + + private void trySetSvcRequestId(PortMirrorTopologyOperationInput input, + PortMirrorTopologyOperationOutputBuilder responseBuilder) { + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + } + + private void trySetResponseMessage(PortMirrorTopologyOperationOutputBuilder responseBuilder, + ResponseObject responseObject) { + if (responseObject.getMessage() != null) { + if (!responseObject.getMessage().isEmpty()) { + responseBuilder.setResponseMessage(responseObject.getMessage()); + } + } + } + + public void processAsyncPortMirrorTopologyOperation(PortMirrorTopologyOperationInput input) { + log.info(BACKGROUND_THREAD_INFO, input.getConfigurationInformation().getConfigurationId()); + + final String svcOperation = "port-mirror-topology-operation-async"; + ServiceData serviceData = null; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + PortMirrorTopologyOperationInputBuilder inputBuilder = new PortMirrorTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + try { + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + } + + // return error + return; + } + + // Got success from SLI + try { + serviceData = serviceDataBuilder.build(); + log.info(UPDATING_MDSAL_INFO_MESSAGE, svcOperation, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { + // Only update operational tree on activate or delete + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) + || input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { + log.info(UPDATING_TREE_INFO_MESSAGE); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + + } catch (Exception e) { + log.error(UPDATING_MDSAL_ERROR_MESSAGE, svcOperation, siid, e); + return; + } + + // Update succeeded + log.info(UPDATED_MDSAL_INFO_MESSAGE, svcOperation, siid); + + return; + } + + @Override + public ListenableFuture> vnfGetResourceRequest( + VnfGetResourceRequestInput input) { + + final String svcOperation = "vnf-get-resource-request"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info(CALLED_STR, svcOperation); + // create a new response object + VnfGetResourceRequestOutputBuilder responseBuilder = new VnfGetResourceRequestOutputBuilder(); + + if (hasInvalidService(input)) { + log.debug(NULL_OR_EMPTY_ERROR_MESSAGE, svcOperation); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } + + // Grab the service instance ID from the input buffer + String siid = input.getServiceInformation().getServiceInstanceId(); + + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, serviceDataBuilder); + + ServiceDataBuilder operDataBuilder = new ServiceDataBuilder(); + getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL); + + // Set the serviceStatus based on input + setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader()); + setServiceStatus(serviceStatusBuilder, input.getRequestInformation()); + + log.info(ADDING_INPUT_DATA_LOG, svcOperation, siid, input); + VnfGetResourceRequestInputBuilder inputBuilder = new VnfGetResourceRequestInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + log.info(ADDING_OPERATIONAL_DATA_LOG, svcOperation, siid, operDataBuilder.build()); + GenericResourceApiUtil.toProperties(parms, OPERATIONAL_DATA_PARAM, operDataBuilder); + + // Call SLI sync method + + ResponseObject responseObject = new ResponseObject("200", ""); + String ackFinal = "Y"; + String serviceObjectPath = null; + Properties respProps = tryGetProperties(svcOperation, parms, serviceDataBuilder, responseObject); + + if (respProps != null) { + responseObject.setMessage(respProps.getProperty(ERROR_MESSAGE_PARAM)); + responseObject.setStatusCode(respProps.getProperty(ERROR_CODE_PARAM)); + ackFinal = respProps.getProperty(ACK_FINAL_PARAM, "Y"); + serviceObjectPath = respProps.getProperty("service-object-path"); + } + + setServiceStatus(serviceStatusBuilder, responseObject.getStatusCode(), responseObject.getMessage(), ackFinal); + serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete); + serviceStatusBuilder.setRpcName(svcOperation); + + if (failed(responseObject)) { + log.error(RETURNED_FAILED_MESSAGE, svcOperation, siid, responseBuilder.build()); + RpcResult rpcResult = RpcResultBuilder + .status(true).withResult(responseBuilder.build()).build(); + // return error + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + log.info(RETURNED_SUCCESS_MESSAGE, svcOperation, siid, responseBuilder.build()); + + if (respProps != null) { + GenericResourceApiUtil.toBuilder(respProps, responseBuilder); + } + + RpcResult rpcResult = RpcResultBuilder.status(true) + .withResult(responseBuilder.build()).build(); + + // return success + return Futures.immediateFuture(rpcResult); + } + + private boolean hasInvalidService(VnfGetResourceRequestInput input) { + return input == null || input.getServiceInformation() == null + || input.getServiceInformation().getServiceInstanceId() == null + || input.getServiceInformation().getServiceInstanceId().length() == 0; + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClient.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClient.java new file mode 100644 index 00000000..b84fa3ef --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClient.java @@ -0,0 +1,145 @@ +/*- +z * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound; + +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Properties; + +public class GenericResourceApiSvcLogicServiceClient { + static final String FAILURE_RESULT = "failure"; + static final String SVC_LOGIC_STATUS_KEY = "SvcLogic.status"; + static final String SKIP_MDSAL_UPDATE_PROP = "skip-mdsal-update"; + + private final Logger LOG = LoggerFactory + .getLogger(GenericResourceApiSvcLogicServiceClient.class); + + private SvcLogicService svcLogic = null; + + public GenericResourceApiSvcLogicServiceClient(SvcLogicService svcLogic) + { + this.svcLogic = svcLogic; + } + + public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException + { + return svcLogic.hasGraph(module, rpc, version, mode); + } + + public Properties execute(String module, String rpc, String version, String mode, ServiceDataBuilder serviceData) + throws SvcLogicException { + return execute(module, rpc, version, mode, serviceData, new Properties()); + } + + public Properties execute(String module, String rpc, String version, String mode, PreloadDataBuilder serviceData) + throws SvcLogicException { + return execute(module, rpc, version, mode, serviceData, new Properties()); + } + + public Properties execute(String module, + String rpc, + String version, + String mode, + ServiceDataBuilder serviceData, + Properties properties) + throws SvcLogicException { + + Properties props = GenericResourceApiUtil.toProperties(properties, serviceData); + printPropsDebugLogs(props, "Parameters passed to SLI"); + + Properties respProps = svcLogic.execute(module, rpc, version, mode, props); + printPropsDebugLogs(respProps, "Parameters returned by SLI"); + if (respProps == null + || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) { + return respProps; + } + + String skipMdsalUpdate = respProps.getProperty(SKIP_MDSAL_UPDATE_PROP); + if ((skipMdsalUpdate == null) || !skipMdsalUpdate.equals("Y")) { + GenericResourceApiUtil.toBuilder(respProps, serviceData); + } else { + LOG.debug("Skipping call to MdsalHelper.toBuilder"); + } + + return respProps; + } + + + public Properties execute(String module, + String rpc, + String version, + String mode, + PreloadDataBuilder serviceData, + Properties properties) + throws SvcLogicException { + + Properties props = GenericResourceApiUtil.toProperties(properties, serviceData); + printPropsDebugLogs(props, "Parameters passed to SLI"); + + Properties respProps = svcLogic.execute(module, rpc, version, mode, props); + printPropsDebugLogs(respProps, "Parameters returned by SLI"); + if (respProps == null + || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) { + return (respProps); + } + + GenericResourceApiUtil.toBuilder(respProps, serviceData); + + return respProps; + } + + public Properties execute(String module, String rpc, String version, String mode, Properties properties) + throws SvcLogicException { + + printPropsDebugLogs(properties, "Parameters passed to SLI"); + + Properties respProps = svcLogic.execute(module, rpc, version, mode, properties); + printPropsDebugLogs(respProps, "Parameters returned by SLI"); + if (respProps == null || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) { + return (respProps); + } + + return respProps; + } + + + private void printPropsDebugLogs(Properties properties, String msg) { + if (!LOG.isDebugEnabled()) { + return; + } + if (properties == null) { + LOG.debug(msg, "properties is null"); + return; + } + + LOG.debug(msg); + for (Object key : properties.keySet()) { + String paramName = (String) key; + LOG.debug(paramName + " = " + properties.getProperty(paramName)); + } + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiUtil.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiUtil.java new file mode 100644 index 00000000..63979833 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiUtil.java @@ -0,0 +1,127 @@ +package org.onap.sdnc.northbound; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class GenericResourceApiUtil extends MdsalHelper { + + private static final Logger LOG = LoggerFactory.getLogger(GenericResourceApiUtil.class); + + public static final String PROPERTIES_FILE = "/opt/opendaylight/current/configuration/generic-resource-api.properties"; + private static Properties properties; + + public static void loadProperties() { + + File file = new File(PROPERTIES_FILE); + properties = new Properties(); + if (file.isFile() && file.canRead()) { + try (InputStream input = new FileInputStream(file)) { + properties.load(input); + LOG.info("Loaded properties from " + PROPERTIES_FILE); + setYangMappingProperties(properties); + } catch (IOException e) { + LOG.error("Failed to close properties file " + PROPERTIES_FILE + "\n", e); + } catch (Exception e) { + LOG.error("Failed to load properties " + PROPERTIES_FILE + "\n", e); + } + } + } + + static { + + // Trick class loader into loading builders. Some of + // these will be needed later by Reflection classes, but need + // to explicitly "new" them here to get class loader to load them. + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.onap.model.information.OnapModelInformationBuilder u1 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.onap.model.information.OnapModelInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.assignments.NetworkAssignmentsBuilder u2 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.assignments.NetworkAssignmentsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.information.NetworkInformationBuilder u3 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.information.NetworkInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.level.oper.status.NetworkLevelOperStatusBuilder u4 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.level.oper.status.NetworkLevelOperStatusBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.parameters.NetworkParametersBuilder u5 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.parameters.NetworkParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.parameters.network.parameters.NetworkParameterBuilder u6 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.parameters.network.parameters.NetworkParameterBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.policy.NetworkPolicyBuilder u7 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.policy.NetworkPolicyBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.NetworkRequestInputBuilder u8 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.NetworkRequestInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.network.request.input.NetworkInputParametersBuilder u9 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.network.request.input.NetworkInputParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.response.information.NetworkResponseInformationBuilder u10 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.response.information.NetworkResponseInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.topology.NetworkTopologyBuilder u14 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.topology.NetworkTopologyBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.param.ParamBuilder u18 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.param.ParamBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder u19 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutputBuilder u22 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadInformationBuilder u23 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInputBuilder u24 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutputBuilder u25 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder u26 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.route.table.reference.RouteTableReferenceBuilder u27 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.route.table.reference.RouteTableReferenceBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder u28 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.assignments.ServiceAssignmentsBuilder u29 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.assignments.ServiceAssignmentsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder u30 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.NetworksBuilder u31 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.NetworksBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.networks.NetworkBuilder u32 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.networks.NetworkBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.networks.network.NetworkDataBuilder u33 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.networks.network.NetworkDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.VnfsBuilder u34 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.VnfsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.VnfBuilder u35 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.VnfBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.VnfDataBuilder u36 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.VnfDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.VfModulesBuilder u37 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.VfModulesBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.vf.modules.VfModuleBuilder u38 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.vf.modules.VfModuleBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.vf.modules.vf.module.VfModuleDataBuilder u39 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.vnfs.vnf.vnf.data.vf.modules.vf.module.VfModuleDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder u40 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.level.oper.status.ServiceLevelOperStatusBuilder u41 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.level.oper.status.ServiceLevelOperStatusBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder u42 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.parameters.ServiceParametersBuilder u43 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.parameters.ServiceParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.parameters.service.parameters.ServiceParameterBuilder u44 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.parameters.service.parameters.ServiceParameterBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.request.input.ServiceRequestInputBuilder u45 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.request.input.ServiceRequestInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.request.input.service.request.input.ServiceInputParametersBuilder u46 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.request.input.service.request.input.ServiceInputParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.response.information.ServiceResponseInformationBuilder u47 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.response.information.ServiceResponseInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServicesBuilder u48 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServicesBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder u49 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.topology.identifier.ServiceTopologyIdentifierBuilder u50 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.topology.identifier.ServiceTopologyIdentifierBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder u51 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutputBuilder u52 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.topology.ServiceTopologyBuilder u53 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.topology.ServiceTopologyBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.subnets.SubnetsBuilder u55 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.subnets.SubnetsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.assignments.VfModuleAssignmentsBuilder u56 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.assignments.VfModuleAssignmentsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.assignments.vf.module.assignments.VmsBuilder u57 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.assignments.vf.module.assignments.VmsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.information.VfModuleInformationBuilder u59 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.information.VfModuleInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.level.oper.status.VfModuleLevelOperStatusBuilder u60 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.level.oper.status.VfModuleLevelOperStatusBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.request.input.VfModuleRequestInputBuilder u61 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.request.input.VfModuleRequestInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.request.input.vf.module.request.input.VfModuleInputParametersBuilder u62 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.request.input.vf.module.request.input.VfModuleInputParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.response.information.VfModuleResponseInformationBuilder u63 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.response.information.VfModuleResponseInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.identifier.VfModuleTopologyIdentifierBuilder u64 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.identifier.VfModuleTopologyIdentifierBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInputBuilder u65 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutputBuilder u66 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.VfModuleTopologyBuilder u67 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.VfModuleTopologyBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.vf.module.topology.VfModuleParametersBuilder u68 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.vf.module.topology.VfModuleParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.FloatingIpsBuilder u69 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.FloatingIpsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.InterfaceRoutePrefixesBuilder u70 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.InterfaceRoutePrefixesBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.MacAddressesBuilder u71 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.MacAddressesBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.NetworkInformationItemsBuilder u72 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.NetworkInformationItemsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.network.information.items.NetworkInformationItemBuilder u73 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.network.information.items.NetworkInformationItemBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.network.information.items.network.information.item.NetworkIpsBuilder u74 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vm.network.data.network.information.items.network.information.item.NetworkIpsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.VnfRequestInputBuilder u98 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.VnfRequestInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.vnf.request.input.VnfInputParametersBuilder u99 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.vnf.request.input.VnfInputParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.vnf.request.input.VnfNetworksBuilder u100 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.request.input.vnf.request.input.VnfNetworksBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.AvailabilityZonesBuilder u102 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.AvailabilityZonesBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.VnfResourceAssignmentsBuilder u103 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.VnfResourceAssignmentsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.VnfNetworksBuilder u104 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.VnfNetworksBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.vnf.networks.VnfNetworkBuilder u105 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.resource.assignments.vnf.resource.assignments.vnf.networks.VnfNetworkBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.response.information.VnfResponseInformationBuilder u106 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.response.information.VnfResponseInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.topology.identifier.structure.VnfTopologyIdentifierStructureBuilder u107 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.topology.identifier.structure.VnfTopologyIdentifierStructureBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInputBuilder u108 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutputBuilder u109 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.PnfsBuilder u110 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.PnfsBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.pnfs.PnfBuilder u111 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.pnfs.PnfBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.pnfs.pnf.PnfDataBuilder u112 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.service.data.pnfs.pnf.PnfDataBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.request.input.PnfRequestInputBuilder u113 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.request.input.PnfRequestInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.request.input.pnf.request.input.PnfInputParametersBuilder u114 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.request.input.pnf.request.input.PnfInputParametersBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.response.information.PnfResponseInformationBuilder u115 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.response.information.PnfResponseInformationBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.topology.identifier.structure.PnfTopologyIdentifierStructureBuilder u116 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.topology.identifier.structure.PnfTopologyIdentifierStructureBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInputBuilder u117 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInputBuilder(); + org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutputBuilder u118 = new org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutputBuilder(); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/ResponseObject.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/ResponseObject.java new file mode 100644 index 00000000..a3ff2e2f --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/ResponseObject.java @@ -0,0 +1,30 @@ +package org.onap.sdnc.northbound; + +public class ResponseObject { + + private static final String EMPTY_STRING = ""; + + private String statusCode; + private String message; + + public ResponseObject(String statusCode, String message) { + this.statusCode = statusCode == null ? EMPTY_STRING : statusCode; + this.message = message == null ? EMPTY_STRING : message; + } + + public String getStatusCode() { + return statusCode; + } + + public void setStatusCode(String statusCode) { + this.statusCode = statusCode; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/OSGI-INF/blueprint/generic-resource-api-blueprint.xml b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/OSGI-INF/blueprint/generic-resource-api-blueprint.xml new file mode 100644 index 00000000..80d35574 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/OSGI-INF/blueprint/generic-resource-api-blueprint.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/org/opendaylight/blueprint/generic-resource-api-blueprint.xml b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/org/opendaylight/blueprint/generic-resource-api-blueprint.xml new file mode 100644 index 00000000..80d35574 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/main/resources/org/opendaylight/blueprint/generic-resource-api-blueprint.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/BrgTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/BrgTopologyOperationRPCTest.java new file mode 100644 index 00000000..ec00c363 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/BrgTopologyOperationRPCTest.java @@ -0,0 +1,146 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.brgResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.brgTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.brgTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class BrgTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "brg-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + BrgTopologyOperationInput input = build(brgTopologyOperationInput()); + + BrgTopologyOperationOutput output = + exec(genericResourceApiProvider::brgTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecuteWoServiceData(new RuntimeException("test exception")); + + BrgTopologyOperationInput input = build(brgTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + BrgTopologyOperationOutput output = + exec(genericResourceApiProvider::brgTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + BrgTopologyOperationInput input = build(brgTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + BrgTopologyOperationOutput output = + exec(genericResourceApiProvider::brgTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcResultProp.set("security-zone-object-path", "securityZoneObjectPath: XYZ"); + svcClient.mockExecuteWoServiceData(svcResultProp); + + BrgTopologyOperationInput input = build(brgTopologyOperationInput() + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + BrgTopologyOperationOutput output = + exec(genericResourceApiProvider::brgTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + BrgTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + + } + + private BrgTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder, + BrgTopologyOperationInput input) { + + return build(brgTopologyOperationOutput() + .setBrgResponseInformation(build(brgResponseInformation() + .setObjectPath(propBuilder.get("brg-object-path")))) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath)) + )) + ); + } + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ConnectionAttachmentTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ConnectionAttachmentTopologyOperationRPCTest.java new file mode 100644 index 00000000..091f2de2 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ConnectionAttachmentTopologyOperationRPCTest.java @@ -0,0 +1,271 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.INVALID_INPUT_ERROR_MESSAGE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.connectionAttachmentResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.connectionAttachmentTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.connectionAttachmentTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.service; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceLevelOperStatus; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus; + +import java.time.Instant; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastOrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastRpcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.OrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class ConnectionAttachmentTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "connection-attachment-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput()); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_service_data() throws Exception { + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(INVALID_INPUT_ERROR_MESSAGE, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcResultProp.set("contrail-route-object-path", "connectionAttachmentObjectPath: XYZ"); + svcClient.mockExecute(svcResultProp); + + ConnectionAttachmentTopologyOperationInput input = build(connectionAttachmentTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + Service service = persistServiceInDataBroker(input); + + ConnectionAttachmentTopologyOperationOutput output = + exec(genericResourceApiProvider::connectionAttachmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + ConnectionAttachmentTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + + Service actualService = db + .read(input.getServiceInformation().getServiceInstanceId(), LogicalDatastoreType.CONFIGURATION); + + Service expectedService = createExpectedService(input, service.getServiceData()); + assertEquals(expectedService, actualService); + } + + private Service persistServiceInDataBroker(ConnectionAttachmentTopologyOperationInput input) throws Exception { + + Service service = build(service() + .setServiceInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setServiceData(build(serviceData() + .setServiceLevelOperStatus(build(serviceLevelOperStatus() + .setOrderStatus(OrderStatus.Created) + .setModifyTimestamp(Instant.now().toString()) + .setLastSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setLastRpcAction(LastRpcAction.Activate) + .setLastOrderStatus(LastOrderStatus.PendingAssignment) + .setLastAction(LastAction.ActivateNetworkInstance) + .setCreateTimestamp(Instant.now().toString()) + )) + )) + ); + db.write(true, service, LogicalDatastoreType.CONFIGURATION); + return service; + } + + private ConnectionAttachmentTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder, + ConnectionAttachmentTopologyOperationInput input) { + + return build(connectionAttachmentTopologyOperationOutput() + .setConnectionAttachmentResponseInformation(build(connectionAttachmentResponseInformation() + .setObjectPath(propBuilder.get("connection-attachement-object-path")))) + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath)) + )) + ); + } + + private Service createExpectedService( + ConnectionAttachmentTopologyOperationInput expectedInput, ServiceData expectedServiceData) { + + ServiceInformation expectedServiceInformation = expectedInput.getServiceInformation(); + + return build(service() + .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId()) + .setServiceData(build(serviceData())) + .setServiceData(expectedServiceData) + .setServiceStatus(build(serviceStatus())) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java new file mode 100644 index 00000000..55b7db44 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ContrailRouteTopologyOperationRPCTest.java @@ -0,0 +1,271 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.INVALID_INPUT_ERROR_MESSAGE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.contrailRouteTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.service; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceLevelOperStatus; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus; + +import java.time.Instant; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastOrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastRpcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.OrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class ContrailRouteTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "contrail-route-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput()); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_service_data() throws Exception { + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(INVALID_INPUT_ERROR_MESSAGE, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcResultProp.set("contrail-route-object-path", "contrailRouteObjectPath: XYZ"); + svcClient.mockExecute(svcResultProp); + + ContrailRouteTopologyOperationInput input = build(contrailRouteTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + Service service = persistServiceInDataBroker(input); + + ContrailRouteTopologyOperationOutput output = + exec(genericResourceApiProvider::contrailRouteTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + ContrailRouteTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + + Service actualService = db + .read(input.getServiceInformation().getServiceInstanceId(), LogicalDatastoreType.CONFIGURATION); + + Service expectedService = createExpectedService(input, service.getServiceData()); + assertEquals(expectedService, actualService); + } + + private Service persistServiceInDataBroker(ContrailRouteTopologyOperationInput input) throws Exception { + + Service service = build(service() + .setServiceInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setServiceData(build(serviceData() + .setServiceLevelOperStatus(build(serviceLevelOperStatus() + .setOrderStatus(OrderStatus.Created) + .setModifyTimestamp(Instant.now().toString()) + .setLastSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setLastRpcAction(LastRpcAction.Activate) + .setLastOrderStatus(LastOrderStatus.PendingAssignment) + .setLastAction(LastAction.ActivateNetworkInstance) + .setCreateTimestamp(Instant.now().toString()) + )) + )) + ); + db.write(true, service, LogicalDatastoreType.CONFIGURATION); + return service; + } + + private ContrailRouteTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder, + ContrailRouteTopologyOperationInput input) { + + return build(contrailRouteTopologyOperationOutput() + .setContrailRouteResponseInformation(build(contrailRouteResponseInformation() + .setObjectPath(propBuilder.get("contrail-route-object-path")))) + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath)) + )) + ); + } + + private Service createExpectedService( + ContrailRouteTopologyOperationInput expectedInput, ServiceData expectedServiceData) { + + ServiceInformation expectedServiceInformation = expectedInput.getServiceInformation(); + + return build(service() + .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId()) + .setServiceData(build(serviceData())) + .setServiceData(expectedServiceData) + .setServiceStatus(build(serviceStatus())) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationNotificationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationNotificationRPCTest.java new file mode 100644 index 00000000..5d611801 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationNotificationRPCTest.java @@ -0,0 +1,38 @@ +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationOutput; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder; + +import static org.junit.Assert.assertNull; +import static org.onap.sdnc.northbound.util.MDSALUtil.*; + +@RunWith(MockitoJUnitRunner.class) +public class GenericConfigurationNotificationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "generic-configuration-notification"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + GenericConfigurationNotificationInput input = build(GenericConfigurationNotificationInput() + .setServiceInformation(new ServiceInformationBuilder().setServiceInstanceId("serviceInstanceId").build())); + + GenericConfigurationNotificationOutput output = + exec(genericResourceApiProvider::genericConfigurationNotification, input, RpcResult::getResult); + + assertNull(output); + } +} + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationTopologyOperationRPCTest.java new file mode 100644 index 00000000..629b485c --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericConfigurationTopologyOperationRPCTest.java @@ -0,0 +1,66 @@ +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.configuration.information.ConfigurationInformationBuilder; +import org.opendaylight.yangtools.yang.common.RpcResult; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.util.MDSALUtil.*; + +@RunWith(MockitoJUnitRunner.class) +public class GenericConfigurationTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "generic-configuration-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_vnf_topology() throws Exception { + + GenericConfigurationTopologyOperationInput input = build(GenericConfigurationTopologyOperationInput()); + + GenericConfigurationTopologyOperationOutput output = + exec(genericResourceApiProvider::genericConfigurationTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty service-instance-id", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_valid_vnf_topology() throws Exception { + + GenericConfigurationTopologyOperationInput input = build(GenericConfigurationTopologyOperationInput() + .setServiceInformation(new ServiceInformationBuilder().setServiceInstanceId("ServiceInsatnceId").build())); + + GenericConfigurationTopologyOperationOutput output = + exec(genericResourceApiProvider::genericConfigurationTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty configuration-id or configuration-type", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + +} + diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiProviderTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiProviderTest.java new file mode 100644 index 00000000..6bf6959e --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiProviderTest.java @@ -0,0 +1,75 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.sdnc.northbound.util.DataBrokerUtil; +import org.onap.sdnc.northbound.util.GenericResourceApiSvcLogicServiceClientMockUtil; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class GenericResourceApiProviderTest extends AbstractConcurrentDataBrokerTest { + + protected static final Logger LOG = LoggerFactory.getLogger(GenericResourceApiProvider.class); + protected GenericResourceApiProvider genericResourceApiProvider; + protected DataBroker dataBroker; + protected @Mock NotificationPublishService mockNotificationPublishService; + protected @Mock RpcProviderRegistry mockRpcProviderRegistry; + protected @Mock GenericResourceApiSvcLogicServiceClient mockGenericResourceApiSvcLogicServiceClient; + + + + protected DataBrokerUtil db; + protected GenericResourceApiSvcLogicServiceClientMockUtil svcClient; + + + @Before + public void setUp() throws Exception { + svcClient = new GenericResourceApiSvcLogicServiceClientMockUtil(mockGenericResourceApiSvcLogicServiceClient); + dataBroker = getDataBroker(); + db = new DataBrokerUtil(dataBroker); + try { + genericResourceApiProvider = new GenericResourceApiProvider( + dataBroker, + mockNotificationPublishService, + mockRpcProviderRegistry, + mockGenericResourceApiSvcLogicServiceClient + ); + } catch (Exception e) { + LOG.error("Caught exception on setUp", e); + throw e; + } + } + + + public static PropBuilder prop(){ + return (new PropBuilder()); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClientTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClientTest.java new file mode 100644 index 00000000..30015720 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GenericResourceApiSvcLogicServiceClientTest.java @@ -0,0 +1,207 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.mockito.internal.util.reflection.Whitebox; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; +import org.slf4j.Logger; + +import java.util.Properties; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; + +public class GenericResourceApiSvcLogicServiceClientTest { + private static final String MODE = "mode"; + private static final String MODULE = "module"; + private static final String RPC = "rpc"; + private static final String VERSION = "version"; + + private Logger mockLog = mock(Logger.class); + private SvcLogicService mockSvcLogic = mock(SvcLogicService.class); + + private GenericResourceApiSvcLogicServiceClient svcClient; + + @Before + public void setUp() throws Exception { + svcClient = spy(new GenericResourceApiSvcLogicServiceClient(mockSvcLogic)); + + Whitebox.setInternalState(svcClient, "LOG", mockLog); + Whitebox.setInternalState(svcClient, "svcLogic", mockSvcLogic); + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testConstructorWithoutSvcLogicBundle() throws Exception { + GenericResourceApiSvcLogicServiceClient client = new GenericResourceApiSvcLogicServiceClient(mockSvcLogic); + Assert.assertEquals("Should have set mockSvcLogic", + mockSvcLogic, Whitebox.getInternalState(client, "svcLogic")); + } + + @Test (expected = SvcLogicException.class) + public void testHasGraphWithException() throws Exception { + Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).hasGraph(MODULE, RPC, VERSION, MODE); + svcClient.hasGraph(MODULE, RPC, VERSION, MODE); + } + + @Test + public void testHasGraph() throws Exception { + Mockito.doReturn(true).when(mockSvcLogic).hasGraph(MODULE, RPC, VERSION, MODE); + Assert.assertTrue("Should return true", svcClient.hasGraph(MODULE, RPC, VERSION, MODE)); + } + + @Test (expected = SvcLogicException.class) + public void testExecuteWithServiceDataBuilderWithException() throws Exception { + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder); + } + + + @Test + public void testExecuteWithServiceDataBuilder() throws Exception { + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder); + Mockito.verify(svcClient, times(1)).execute( + any(String.class), any(String.class), any(String.class), any(String.class), + any(ServiceDataBuilder.class), any(Properties.class)); + } + + @Test (expected = SvcLogicException.class) + public void testExecuteWithPreloadDataBuilderWithException() throws Exception { + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder); + } + + + @Test + public void testExecuteWithPreloadDataBuilder () throws Exception { + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder); + Mockito.verify(svcClient, times(1)).execute( + any(String.class), any(String.class), any(String.class), any(String.class), + any(PreloadDataBuilder .class), any(Properties.class)); + } + + @Test (expected = SvcLogicException.class) + public void testParamExecuteWithServiceDataBuilderWithException() throws Exception { + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + } + + @Test + public void testParamExecuteWithServiceDataBuilderWithExecutorReturnNull() throws Exception { + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertTrue("Should return null", properties == null); + Mockito.verify(mockSvcLogic, times(1)).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + } + + @Test + public void testParamExecuteWithServiceDataBuilderWithExecutorReturnFailure() throws Exception { + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + Properties resultProps = new Properties(); + resultProps.setProperty(GenericResourceApiSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY, + GenericResourceApiSvcLogicServiceClient.FAILURE_RESULT); + Mockito.doReturn(resultProps).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertEquals("Should return resultProps", resultProps, properties); + } + + @Test + public void testParamExecuteWithServiceDataBuilder() throws Exception { + Mockito.doReturn(true).when(mockLog).isDebugEnabled(); + ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class); + Properties resultProps = new Properties(); + resultProps.setProperty("my", "testing"); + Mockito.doReturn(resultProps).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertEquals("Should still return resultProps", resultProps, properties); + } + + @Test (expected = SvcLogicException.class) + public void testParamExecuteWithPreloadDataBuilderWithException() throws Exception { + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + + svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + } + + @Test + public void testParamExecuteWithPreloadDataBuilderWithExecutorReturnNull() throws Exception { + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertTrue("Should return null", properties == null); + Mockito.verify(mockSvcLogic, times(1)).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + } + + @Test + public void testParamExecuteWithPreloadDataBuilderWithExecutorReturnFailure() throws Exception { + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + Properties resultProps = new Properties(); + resultProps.setProperty(GenericResourceApiSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY, + GenericResourceApiSvcLogicServiceClient.FAILURE_RESULT); + Mockito.doReturn(resultProps).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertEquals("Should return resultProps", resultProps, properties); + } + + @Test + public void testParamExecuteWithPreloadDataBuilder() throws Exception { + Mockito.doReturn(true).when(mockLog).isDebugEnabled(); + PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class); + Properties resultProps = new Properties(); + resultProps.setProperty("my", "testing"); + Mockito.doReturn(resultProps).when(mockSvcLogic).execute( + any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class)); + Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties()); + Assert.assertEquals("Should still return resultProps", resultProps, properties); + } + +} \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GetpathsegmentTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GetpathsegmentTopologyOperationRPCTest.java new file mode 100644 index 00000000..06da74c6 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/GetpathsegmentTopologyOperationRPCTest.java @@ -0,0 +1,69 @@ +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.onap.model.information.OnapModelInformationBuilder; +import org.opendaylight.yangtools.yang.common.RpcResult; + +import static org.junit.Assert.assertEquals; +import static org.onap.sdnc.northbound.util.MDSALUtil.*; + +@RunWith(MockitoJUnitRunner.class) +public class GetpathsegmentTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "getpathsegment-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_vnf_topology() throws Exception { + + GetpathsegmentTopologyOperationInput input = build(GetpathsegmentTopologyOperationInput()); + + GetpathsegmentTopologyOperationOutput output = + exec(genericResourceApiProvider::getpathsegmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty service-instance-id", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_valid_vnf_topology() throws Exception { + + GetpathsegmentTopologyOperationInput input = build(GetpathsegmentTopologyOperationInput() + .setServiceInformation(new ServiceInformationBuilder().setServiceInstanceId("ServiceInstanceID").build())); + + GetpathsegmentTopologyOperationOutput output = + exec(genericResourceApiProvider::getpathsegmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, no model-uuid provided", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_valid_serice_excep_vnf_topology() throws Exception { + + GetpathsegmentTopologyOperationInput input = build(GetpathsegmentTopologyOperationInput() + .setServiceInformation(new ServiceInformationBuilder().setServiceInstanceId("ServiceInstanceID") + .setOnapModelInformation(new OnapModelInformationBuilder().setModelUuid("moduleUUID").build()).build())); + + GetpathsegmentTopologyOperationOutput output = + exec(genericResourceApiProvider::getpathsegmentTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals("No service logic active for generic-resource-api: 'getpathsegment-topology-operation'", + output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/NetworkTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/NetworkTopologyOperationRPCTest.java new file mode 100644 index 00000000..29436415 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/NetworkTopologyOperationRPCTest.java @@ -0,0 +1,346 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.INVALID_INPUT_ERROR_MESSAGE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.networkInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.networkResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.networkTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.networkTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.service; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceLevelOperStatus; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus; +import static org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastAction; +import static org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastOrderStatus; +import static org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastRpcAction; +import static org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.OrderStatus; + +import java.time.Instant; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus; +import org.opendaylight.yangtools.yang.common.RpcResult; + + +/** + * This class test the NetworkTopologyOperation mdsal RPC. + */ +@RunWith(MockitoJUnitRunner.class) +public class NetworkTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + + final String SVC_OPERATION = "network-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + NetworkTopologyOperationInput input = build(networkTopologyOperationInput()); + + NetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::networkTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_service_data() throws Exception { + + NetworkTopologyOperationInput input = build(networkTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + NetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::networkTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(INVALID_INPUT_ERROR_MESSAGE, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + NetworkTopologyOperationInput input = build(networkTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + NetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::networkTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + NetworkTopologyOperationInput input = build(networkTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + NetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::networkTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + NetworkTopologyOperationInput input = build(networkTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + NetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::networkTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + /** + * Verify ServiceTopologyOperation RPC executes a DG then produces the expected {@link + * NetworkTopologyOperationOutput} and persisted the expected {@link Service} in the {@link DataBroker} + */ + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + //mock svcClient to perform a successful execution with the expected parameters + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + //construct the input parameter for the NetworkTopologyOperation + NetworkTopologyOperationInput input = createNTOI(); + + //pre-populate the DataBroke with the required ServiceData. + Service service = persistServiceInDataBroker(input); + + //execute the mdsal exec + NetworkTopologyOperationOutput output = exec( + genericResourceApiProvider::networkTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + //verify the returned NetworkTopologyOperationOutput + NetworkTopologyOperationOutput expectedNetworkTopologyOperationOutput + = createExpectedNTOO(svcResultProp, input); + assertEquals(expectedNetworkTopologyOperationOutput, output); + + //verify the persisted Service + Service actualService = db.read( + input.getServiceInformation().getServiceInstanceId(), + LogicalDatastoreType.CONFIGURATION + ); + Service expectedService = createExpectedService( + expectedNetworkTopologyOperationOutput, + input, + service.getServiceData(), + actualService); + assertEquals(expectedService, actualService); + + } + + + private NetworkTopologyOperationInput createNTOI() { + + return build( + networkTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("svc-request-id: xyz") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("request-id: xyz") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("service-instance-id: xyz") + )) + .setNetworkInformation(build( + networkInformation() + )) + ); + } + + private Service persistServiceInDataBroker( + NetworkTopologyOperationInput networkTopologyOperationInput + ) throws Exception { + Service service = build( + service() + .setServiceInstanceId( + networkTopologyOperationInput.getServiceInformation().getServiceInstanceId() + ) + .setServiceData(build( + serviceData() + .setServiceLevelOperStatus(build( + serviceLevelOperStatus() + .setOrderStatus(OrderStatus.Created) + .setModifyTimestamp(Instant.now().toString()) + .setLastSvcRequestId("svc-request-id: abc") + .setLastRpcAction(LastRpcAction.Activate) + .setLastOrderStatus(LastOrderStatus.PendingAssignment) + .setLastAction(LastAction.ActivateNetworkInstance) + .setCreateTimestamp(Instant.now().toString()) + )) + )) + + ); + db.write(true, service, LogicalDatastoreType.CONFIGURATION); + return service; + } + + + private NetworkTopologyOperationOutput createExpectedNTOO( + PropBuilder expectedSvcResultProp, + NetworkTopologyOperationInput expectedNetworkTopologyOperationInput) { + return build( + networkTopologyOperationOutput() + .setSvcRequestId(expectedNetworkTopologyOperationInput.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(expectedSvcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(expectedSvcResultProp.get(svcClient.ackFinal)) + .setResponseMessage(expectedSvcResultProp.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(expectedNetworkTopologyOperationInput.getServiceInformation().getServiceInstanceId()) + .setObjectPath(expectedSvcResultProp.get(svcClient.serviceObjectPath)) + )) + .setNetworkResponseInformation(build( + networkResponseInformation() + .setInstanceId(expectedSvcResultProp.get(svcClient.networkId)) + .setObjectPath(expectedSvcResultProp.get(svcClient.networkObjectPath)) + )) + ); + } + + private Service createExpectedService( + NetworkTopologyOperationOutput expectedNetworkTopologyOperationOutput, + NetworkTopologyOperationInput expectedNetworkTopologyOperationInput, + ServiceData expectedServiceData, + Service actualService + ) { + + //We cannot predict the timeStamp value so just steal it from the actual + //we need this to prevent the equals method from returning false as a result of the timestamp + String responseTimeStamp = actualService == null || actualService.getServiceStatus() == null ? + null : actualService.getServiceStatus().getResponseTimestamp(); + + SdncRequestHeader expectedSdncRequestHeader = expectedNetworkTopologyOperationInput.getSdncRequestHeader(); + ServiceInformation expectedServiceInformation = expectedNetworkTopologyOperationInput.getServiceInformation(); + RequestInformation expectedRequestInformation = expectedNetworkTopologyOperationInput.getRequestInformation(); + + return build( + service() + .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId()) + .setServiceData(build(serviceData())) + .setServiceData(expectedServiceData) + .setServiceStatus( + build( + serviceStatus() + ) + ) + ); + + } + + public ServiceStatus.RpcAction toRpcAction(SvcAction fromEnum) { + return fromEnum == null ? null : ServiceStatus.RpcAction.valueOf(fromEnum.name()); + } + + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PnfTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PnfTopologyOperationRPCTest.java new file mode 100644 index 00000000..60a0e1fc --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PnfTopologyOperationRPCTest.java @@ -0,0 +1,208 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.pnfDetailsBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.pnfResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.pnfTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.pnfTopologyOperationOutput; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class PnfTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "pnf-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_info_not_present() throws Exception { + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput()); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + /* + @Test + public void should_fail_when_invalid_pnf_id() throws Exception { + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder(). + setServiceInstanceId("test-service-instance-id") + )) + ); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty pnf-id", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + }*/ + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setPnfDetails(build(pnfDetailsBuilder() + .setPnfId("test-pnf-id") + )) + ); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setPnfDetails(build(pnfDetailsBuilder() + .setPnfId("test-pnf-id") + )) + ); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setPnfDetails(build(pnfDetailsBuilder() + .setPnfId("test-pnf-id") + )) + ); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + PnfTopologyOperationInput input = build(pnfTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setPnfDetails(build(pnfDetailsBuilder() + .setPnfId("test-pnf-id") + )) + ); + + PnfTopologyOperationOutput output = + exec(genericResourceApiProvider::pnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + PnfTopologyOperationOutput expectedPnfTopologyOperationOutput = createExpectedOutput(svcResultProp, + input); + assertEquals(expectedPnfTopologyOperationOutput, output); + } + + private PnfTopologyOperationOutput createExpectedOutput(PropBuilder svcResultProp, + PnfTopologyOperationInput pnfTopologyOperationInput) { + return build( + pnfTopologyOperationOutput() + .setSvcRequestId(pnfTopologyOperationInput.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(svcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(svcResultProp.get(svcClient.ackFinal)) + .setResponseMessage(svcResultProp.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(pnfTopologyOperationInput.getServiceInformation().getServiceInstanceId()) + .setObjectPath(svcResultProp.get(svcClient.serviceObjectPath)) + )) + .setPnfResponseInformation(build(pnfResponseInformation() + .setInstanceId(pnfTopologyOperationInput.getPnfDetails().getPnfId()) + .setObjectPath(svcResultProp.get(svcClient.pnfObjectPath)) + )) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PolicyUpdateNotifyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PolicyUpdateNotifyOperationRPCTest.java new file mode 100644 index 00000000..ff2a4351 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PolicyUpdateNotifyOperationRPCTest.java @@ -0,0 +1,48 @@ +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationOutput; +import org.opendaylight.yangtools.yang.common.RpcResult; + +import static org.junit.Assert.assertEquals; +import static org.onap.sdnc.northbound.util.MDSALUtil.*; + +@RunWith(MockitoJUnitRunner.class) +public class PolicyUpdateNotifyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "policy-update-notify-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_vnf_topology() throws Exception { + + PolicyUpdateNotifyOperationInput input = build(PolicyUpdateNotifyOperationInput()); + + PolicyUpdateNotifyOperationOutput output = + exec(genericResourceApiProvider::policyUpdateNotifyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getErrorCode()); + assertEquals("Invalid input, missing input data", output.getErrorMsg()); + } + + @Test + public void should_fail_when_valid_vnf_topology() throws Exception { + + PolicyUpdateNotifyOperationInput input = build(PolicyUpdateNotifyOperationInput().setPolicyName("PolicyName").setUpdateType("UpdateType").setVersionId("vID")); + + PolicyUpdateNotifyOperationOutput output = + exec(genericResourceApiProvider::policyUpdateNotifyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getErrorCode()); + assertEquals("No service logic active for generic-resource-api: 'policy-update-notify-operation'", output.getErrorMsg()); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PortMirrorTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PortMirrorTopologyOperationRPCTest.java new file mode 100644 index 00000000..dd3e5d90 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PortMirrorTopologyOperationRPCTest.java @@ -0,0 +1,36 @@ +package org.onap.sdnc.northbound; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationOutput; +import org.opendaylight.yangtools.yang.common.RpcResult; + +import static org.junit.Assert.assertEquals; +import static org.onap.sdnc.northbound.util.MDSALUtil.*; + +@RunWith(MockitoJUnitRunner.class) +public class PortMirrorTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "policy-update-notify-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_vnf_topology() throws Exception { + + PortMirrorTopologyOperationInput input = build(PortMirrorTopologyOperationInput()); + + PortMirrorTopologyOperationOutput output = + exec(genericResourceApiProvider::portMirrorTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty service-instance-id", output.getResponseMessage()); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadNetworkTopologyRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadNetworkTopologyRPCTest.java new file mode 100644 index 00000000..6e0f1a2e --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadNetworkTopologyRPCTest.java @@ -0,0 +1,167 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.networkTopologyIdentifierStructureBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadNetworkTopologyInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadNetworkTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadNetworkTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class PreloadNetworkTopologyRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "preload-network-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_network_topology() throws Exception { + + PreloadNetworkTopologyOperationInput input = build(preloadNetworkTopologyOperationInput()); + + PreloadNetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadNetworkTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals("invalid input, null or empty preload-network-topology-information", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecuteWoServiceDataPreload(new RuntimeException("test exception")); + + PreloadNetworkTopologyOperationInput input = build(preloadNetworkTopologyOperationInput() + .setPreloadNetworkTopologyInformation(build(preloadNetworkTopologyInformationBuilder() + .setNetworkTopologyIdentifierStructure(build(networkTopologyIdentifierStructureBuilder() + .setNetworkName("test-network-name") + .setNetworkType("test-network-type"))))) + ); + + PreloadNetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadNetworkTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + PreloadNetworkTopologyOperationInput input = build(preloadNetworkTopologyOperationInput() + .setPreloadNetworkTopologyInformation(build(preloadNetworkTopologyInformationBuilder() + .setNetworkTopologyIdentifierStructure(build(networkTopologyIdentifierStructureBuilder() + .setNetworkName("test-network-name") + .setNetworkType("test-network-type"))))) + ); + + PreloadNetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadNetworkTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecuteWoServiceData(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + PreloadNetworkTopologyOperationInput input = build(preloadNetworkTopologyOperationInput() + .setPreloadNetworkTopologyInformation(build(preloadNetworkTopologyInformationBuilder() + .setNetworkTopologyIdentifierStructure(build(networkTopologyIdentifierStructureBuilder() + .setNetworkName("test-network-name") + .setNetworkType("test-network-type"))))) + ); + + PreloadNetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadNetworkTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + PreloadNetworkTopologyOperationInput input = build(preloadNetworkTopologyOperationInput() + .setPreloadNetworkTopologyInformation(build(preloadNetworkTopologyInformationBuilder() + .setNetworkTopologyIdentifierStructure(build(networkTopologyIdentifierStructureBuilder() + .setNetworkName("test-network-name") + .setNetworkType("test-network-type"))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + ); + + PreloadNetworkTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadNetworkTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("Y", output.getAckFinalIndicator()); + + PreloadNetworkTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + } + + private PreloadNetworkTopologyOperationOutput createExpectedOutput(PropBuilder svcResultProp, + PreloadNetworkTopologyOperationInput input) { + return build(preloadNetworkTopologyOperationOutput() + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(svcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(svcResultProp.get(svcClient.ackFinal)) + ); + } + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadVnfTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadVnfTopologyOperationRPCTest.java new file mode 100644 index 00000000..7f7ff821 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/PreloadVnfTopologyOperationRPCTest.java @@ -0,0 +1,266 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadVfModuleTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadVfModuleTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfTopologyIdentifierStructureBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.preloadVfModuleTopologyInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleTopologyBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleTopologyIdentifierBuilder; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class PreloadVnfTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "preload-vf-module-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_invalid_vnf_topology() throws Exception { + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput()); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals("invalid input, null or empty preload-vf-module-topology-information.vf-module-topology.vf-module-topology-identifier.vf-module-name", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_preload_data() throws Exception { + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name"))))) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals("invalid input, null or empty preload-vf-module-topology-information.vf-module-topology.vf-module-topology-identifier.vf-module-name", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecuteWoServiceDataPreload(new RuntimeException("test exception")); + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name") + .setVnfType("test-vnf-type"))) + .setVfModuleTopology(build(vfModuleTopologyBuilder() + .setVfModuleTopologyIdentifier(build(vfModuleTopologyIdentifierBuilder() + .setVfModuleName("vf-module-name")) + ))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name") + .setVnfType("test-vnf-type"))) + .setVfModuleTopology(build(vfModuleTopologyBuilder() + .setVfModuleTopologyIdentifier(build(vfModuleTopologyIdentifierBuilder() + .setVfModuleName("vf-module-name")) + ))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecuteWoServiceData(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name") + .setVnfType("test-vnf-type"))) + .setVfModuleTopology(build(vfModuleTopologyBuilder() + .setVfModuleTopologyIdentifier(build(vfModuleTopologyIdentifierBuilder() + .setVfModuleName("vf-module-name")) + ))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name") + .setVnfType("test-vnf-type"))) + .setVfModuleTopology(build(vfModuleTopologyBuilder() + .setVfModuleTopologyIdentifier(build(vfModuleTopologyIdentifierBuilder() + .setVfModuleName("vf-module-name")) + ))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("Y", output.getAckFinalIndicator()); + + PreloadVfModuleTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + } + + + @Test + public void delete_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + PreloadVfModuleTopologyOperationInput input = build(preloadVfModuleTopologyOperationInput() + .setPreloadVfModuleTopologyInformation(build(preloadVfModuleTopologyInformationBuilder() + .setVnfTopologyIdentifierStructure(build(vnfTopologyIdentifierStructureBuilder() + .setVnfName("test-vnf-name") + .setVnfType("test-vnf-type"))) + .setVfModuleTopology(build(vfModuleTopologyBuilder() + .setVfModuleTopologyIdentifier(build(vfModuleTopologyIdentifierBuilder() + .setVfModuleName("vf-module-name")) + ))))) + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Delete) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.DeleteServiceInstance) + )) + ); + + PreloadVfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::preloadVfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("Y", output.getAckFinalIndicator()); + + PreloadVfModuleTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + } + + + + private PreloadVfModuleTopologyOperationOutput createExpectedOutput(PropBuilder svcResultProp, + PreloadVfModuleTopologyOperationInput input) { + return build(preloadVfModuleTopologyOperationOutput() + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(svcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(svcResultProp.get(svcClient.ackFinal)) + ); + } + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/SecurityZoneTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/SecurityZoneTopologyOperationRPCTest.java new file mode 100644 index 00000000..e7618937 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/SecurityZoneTopologyOperationRPCTest.java @@ -0,0 +1,272 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.INVALID_INPUT_ERROR_MESSAGE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.securityZoneResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.securityZoneTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.securityZoneTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.service; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceLevelOperStatus; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus; + +import java.time.Instant; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastOrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.LastRpcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.OperStatusData.OrderStatus; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceData; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityZoneTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + + private static final String SVC_OPERATION = "security-zone-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput()); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_service_data() throws Exception { + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(INVALID_INPUT_ERROR_MESSAGE, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + persistServiceInDataBroker(input); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcResultProp.set("security-zone-object-path", "securityZoneObjectPath: XYZ"); + svcClient.mockExecute(svcResultProp); + + SecurityZoneTopologyOperationInput input = build(securityZoneTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + Service service = persistServiceInDataBroker(input); + + SecurityZoneTopologyOperationOutput output = + exec(genericResourceApiProvider::securityZoneTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + SecurityZoneTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + + Service actualService = db + .read(input.getServiceInformation().getServiceInstanceId(), LogicalDatastoreType.CONFIGURATION); + + Service expectedService = createExpectedService(input, service.getServiceData()); + assertEquals(expectedService, actualService); + } + + private Service persistServiceInDataBroker(SecurityZoneTopologyOperationInput input) throws Exception { + + Service service = build(service() + .setServiceInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setServiceData(build(serviceData() + .setServiceLevelOperStatus(build(serviceLevelOperStatus() + .setOrderStatus(OrderStatus.Created) + .setModifyTimestamp(Instant.now().toString()) + .setLastSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setLastRpcAction(LastRpcAction.Activate) + .setLastOrderStatus(LastOrderStatus.PendingAssignment) + .setLastAction(LastAction.ActivateNetworkInstance) + .setCreateTimestamp(Instant.now().toString()) + )) + )) + ); + db.write(true, service, LogicalDatastoreType.CONFIGURATION); + return service; + } + + private SecurityZoneTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder, + SecurityZoneTopologyOperationInput input) { + + return build(securityZoneTopologyOperationOutput() + .setSecurityZoneResponseInformation(build(securityZoneResponseInformation() + .setObjectPath(propBuilder.get("security-zone-object-path")))) + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath)) + )) + ); + } + + private Service createExpectedService( + SecurityZoneTopologyOperationInput expectedInput, ServiceData expectedServiceData) { + + ServiceInformation expectedServiceInformation = expectedInput.getServiceInformation(); + + return build(service() + .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId()) + .setServiceData(build(serviceData())) + .setServiceData(expectedServiceData) + .setServiceStatus(build(serviceStatus())) + ); + } + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ServiceTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ServiceTopologyOperationRPCTest.java new file mode 100644 index 00000000..cce03cc2 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/ServiceTopologyOperationRPCTest.java @@ -0,0 +1,365 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.service; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceData; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceStatus; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceTopologyOperationOutput; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus; +import org.opendaylight.yangtools.yang.common.RpcResult; + + +/** + * This class test the ServiceTopologyOperation mdsal RPC. + */ +@RunWith(MockitoJUnitRunner.class) +public class ServiceTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + final String SVC_OPERATION = "service-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + /** + * Verify ServiceTopologyOperation RPC executes a DG then produces the expected {@link + * ServiceTopologyOperationOutput} and persisted the expected {@link Service} in the {@link DataBroker} + */ + @Test + public void testServiceTopologyOperationRPC_ExecuteDG_Success() throws Exception { + + //mock svcClient to perform a successful execution with the expected parameters + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + // create the ServiceTopologyOperationInput from the template + ServiceTopologyOperationInput input = createSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + //verify the returned ServiceTopologyOperationOutput + ServiceTopologyOperationOutput expectedServiceTopologyOperationOutput = createExpectedSTOO(svcResultProp, + input); + assertEquals(expectedServiceTopologyOperationOutput, output); + + //verify the persisted Service + Service actualService = db.read(input.getServiceInformation().getServiceInstanceId(), + LogicalDatastoreType.CONFIGURATION); + Service expectedService = createExpectedService( + expectedServiceTopologyOperationOutput, + input, + actualService); + assertEquals(expectedService, actualService); + + LOG.debug("done"); + } + + @Test + public void should_fail_when_service_info_not_present() throws Exception { + // create the ServiceTopologyOperationInput from the template + ServiceTopologyOperationInput input = build( + serviceTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("svc-request-id: xyz") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("request-id: xyz") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + ))); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + ServiceTopologyOperationInput input = createSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void delete_fail_when_client_execution_failed() throws Exception { + + //mock svcClient to perform a successful execution with the expected parameters + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + ServiceTopologyOperationInput input = deleteSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void delete_service_fail_when_client_execution_failed() throws Exception { + + //mock svcClient to perform a successful execution with the expected parameters + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + ServiceTopologyOperationInput input = deleteServiceSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("200", output.getResponseCode()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + svcClient.mockHasGraph(false); + + ServiceTopologyOperationInput input = createSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + ServiceTopologyOperationInput input = createSTOI(); + + //execute the mdsal exec + ServiceTopologyOperationOutput output = exec( + genericResourceApiProvider::serviceTopologyOperation + , input + , RpcResult::getResult + ); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + private ServiceTopologyOperationInput createSTOI() { + + return build( + serviceTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("svc-request-id: xyz") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("request-id: xyz") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("service-instance-id: xyz") + )) + ); + } + + private ServiceTopologyOperationInput deleteSTOI() { + + return build( + serviceTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("svc-request-id: xyz") + .setSvcAction(SvcAction.Unassign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("request-id: xyz") + .setRequestAction(RequestInformation.RequestAction.DeleteServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("service-instance-id: xyz") + )) + ); + } + + private ServiceTopologyOperationInput deleteServiceSTOI() { + + return build( + serviceTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("svc-request-id: xyz") + .setSvcAction(SvcAction.Delete) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("request-id: xyz") + .setRequestAction(RequestInformation.RequestAction.DeleteServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("service-instance-id: xyz") + )) + ); + } + + + private ServiceTopologyOperationOutput createExpectedSTOO(PropBuilder expectedSvcResultProp, + ServiceTopologyOperationInput expectedServiceTopologyOperationInput) { + return build( + serviceTopologyOperationOutput() + .setSvcRequestId(expectedServiceTopologyOperationInput.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(expectedSvcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(expectedSvcResultProp.get(svcClient.ackFinal)) + .setResponseMessage(expectedSvcResultProp.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(expectedServiceTopologyOperationInput.getServiceInformation().getServiceInstanceId()) + .setObjectPath(expectedSvcResultProp.get(svcClient.serviceObjectPath)) + )) + ); + } + + private Service createExpectedService( + ServiceTopologyOperationOutput expectedServiceTopologyOperationOutput, + ServiceTopologyOperationInput expectedServiceTopologyOperationInput, + Service actualService + ) { + + //We cannot predict the timeStamp value so just steal it from the actual + //we need this to prevent the equals method from returning false as a result of the timestamp + String responseTimeStamp = actualService == null || actualService.getServiceStatus() == null ? + null : actualService.getServiceStatus().getResponseTimestamp(); + + SdncRequestHeader expectedSdncRequestHeader = expectedServiceTopologyOperationInput.getSdncRequestHeader(); + ServiceInformation expectedServiceInformation = expectedServiceTopologyOperationInput.getServiceInformation(); + RequestInformation expectedRequestInformation = expectedServiceTopologyOperationInput.getRequestInformation(); + + return build( + service() + .setServiceInstanceId(expectedServiceInformation.getServiceInstanceId()) + .setServiceData(build(serviceData())) + .setServiceStatus( + build( + serviceStatus() + .setAction(expectedRequestInformation.getRequestAction().name()) + .setFinalIndicator(expectedServiceTopologyOperationOutput.getAckFinalIndicator()) + .setResponseCode(expectedServiceTopologyOperationOutput.getResponseCode()) + .setResponseMessage(expectedServiceTopologyOperationOutput.getResponseMessage()) + .setRpcAction(toRpcAction(expectedSdncRequestHeader.getSvcAction())) + .setRpcName(SVC_OPERATION) + .setRequestStatus(ServiceStatus.RequestStatus.Synccomplete) + .setResponseTimestamp(responseTimeStamp) + ) + ) + ); + + } + + public ServiceStatus.RpcAction toRpcAction(SvcAction fromEnum) { + return fromEnum == null ? null : ServiceStatus.RpcAction.valueOf(fromEnum.name()); + } + + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/TunnelxconnTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/TunnelxconnTopologyOperationRPCTest.java new file mode 100644 index 00000000..2e1f1cb1 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/TunnelxconnTopologyOperationRPCTest.java @@ -0,0 +1,146 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.tunnelxconnResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.tunnelxconnTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.tunnelxconnTopologyOperationOutput; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class TunnelxconnTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + + private static final String SVC_OPERATION = "tunnelxconn-topology-operation"; + + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_instance_id_not_present() throws Exception { + + TunnelxconnTopologyOperationInput input = build(tunnelxconnTopologyOperationInput()); + + TunnelxconnTopologyOperationOutput output = + exec(genericResourceApiProvider::tunnelxconnTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecuteWoServiceData(new RuntimeException("test exception")); + + TunnelxconnTopologyOperationInput input = build(tunnelxconnTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + TunnelxconnTopologyOperationOutput output = + exec(genericResourceApiProvider::tunnelxconnTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + TunnelxconnTopologyOperationInput input = build(tunnelxconnTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + TunnelxconnTopologyOperationOutput output = + exec(genericResourceApiProvider::tunnelxconnTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_success_when_no_errors_encountered() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcResultProp.set("security-zone-object-path", "securityZoneObjectPath: XYZ"); + svcClient.mockExecuteWoServiceData(svcResultProp); + + TunnelxconnTopologyOperationInput input = build(tunnelxconnTopologyOperationInput() + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + TunnelxconnTopologyOperationOutput output = + exec(genericResourceApiProvider::tunnelxconnTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + TunnelxconnTopologyOperationOutput expectedOutput = createExpectedOutput(svcResultProp, input); + assertEquals(expectedOutput, output); + + } + + private TunnelxconnTopologyOperationOutput createExpectedOutput(PropBuilder propBuilder, + TunnelxconnTopologyOperationInput input) { + + return build(tunnelxconnTopologyOperationOutput() + .setTunnelxconnResponseInformation(build(tunnelxconnResponseInformation() + .setObjectPath(propBuilder.get("tunnelxconn-object-path")))) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath)) + )) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VfModuleTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VfModuleTopologyOperationRPCTest.java new file mode 100644 index 00000000..927eee34 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VfModuleTopologyOperationRPCTest.java @@ -0,0 +1,242 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.vfModuleTopologyOperationOutput; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfInformationBuilder; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class VfModuleTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "vf-module-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_info_not_present() throws Exception { + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput()); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + @Test + public void should_fail_when_invalid_vnf_id() throws Exception { + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals("invalid input, null or empty vnf-id", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + /*@Test + public void should_fail_when_invalid_vf_module_id() throws Exception { + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id"))) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("403", output.getResponseCode()); + assertEquals("invalid input, vf-module-id is null or empty", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + }*/ + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + .setVfModuleInformation(build(vfModuleInformationBuilder() + .setVfModuleId("test-vf-module-id") + )) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + .setVfModuleInformation(build(vfModuleInformationBuilder() + .setVfModuleId("test-vf-module-id") + )) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + .setVfModuleInformation(build(vfModuleInformationBuilder() + .setVfModuleId("test-vf-module-id") + )) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + VfModuleTopologyOperationInput input = build(vfModuleTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + .setVfModuleInformation(build(vfModuleInformationBuilder() + .setVfModuleId("test-vf-module-id") + )) + ); + + VfModuleTopologyOperationOutput output = + exec(genericResourceApiProvider::vfModuleTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + VfModuleTopologyOperationOutput expectedOutput = createExpectedVMTOO(svcResultProp, input); + assertEquals(expectedOutput, output); + } + + private VfModuleTopologyOperationOutput createExpectedVMTOO(PropBuilder propBuilder, + VfModuleTopologyOperationInput input) { + return build(vfModuleTopologyOperationOutput() + .setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(propBuilder.get(svcClient.errorCode)) + .setAckFinalIndicator(propBuilder.get(svcClient.ackFinal)) + .setResponseMessage(propBuilder.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(input.getServiceInformation().getServiceInstanceId()) + .setObjectPath(propBuilder.get(svcClient.serviceObjectPath))) + ) + .setVnfResponseInformation(build(vnfResponseInformation() + .setInstanceId(input.getVnfInformation().getVnfId()) + .setObjectPath(propBuilder.get(svcClient.vnfObjectPath))) + ) + .setVfModuleResponseInformation(build(vfModuleResponseInformation() + .setInstanceId(input.getVfModuleInformation().getVfModuleId()) + .setObjectPath(propBuilder.get(svcClient.vfModuleObjectPath))) + ) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VnfTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VnfTopologyOperationRPCTest.java new file mode 100644 index 00000000..3c7b6ff7 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/VnfTopologyOperationRPCTest.java @@ -0,0 +1,208 @@ +package org.onap.sdnc.northbound; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.APP_NAME; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NO_SERVICE_LOGIC_ACTIVE; +import static org.onap.sdnc.northbound.GenericResourceApiProvider.NULL_OR_EMPTY_ERROR_PARAM; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.MDSALUtil.exec; +import static org.onap.sdnc.northbound.util.MDSALUtil.requestInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.sdncRequestHeader; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.serviceResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfInformationBuilder; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfResponseInformation; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfTopologyOperationInput; +import static org.onap.sdnc.northbound.util.MDSALUtil.vnfTopologyOperationOutput; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdnc.northbound.util.PropBuilder; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionChainClosedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction; +import org.opendaylight.yangtools.yang.common.RpcResult; + +@RunWith(MockitoJUnitRunner.class) +public class VnfTopologyOperationRPCTest extends GenericResourceApiProviderTest { + + private static final String SVC_OPERATION = "vnf-topology-operation"; + + @Before + public void setUp() throws Exception { + super.setUp(); + svcClient.setScvOperation(SVC_OPERATION); + } + + @Test + public void should_fail_when_service_info_not_present() throws Exception { + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput()); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals(NULL_OR_EMPTY_ERROR_PARAM, output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + + /* + @Test + public void should_fail_when_invalid_vnf_id() throws Exception { + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder(). + setServiceInstanceId("test-service-instance-id") + )) + ); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("404", output.getResponseCode()); + assertEquals("invalid input, null or empty vnf-id", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + }*/ + + + @Test + public void should_fail_when_client_execution_failed() throws Exception { + + svcClient.mockHasGraph(true); + svcClient.mockExecute(new RuntimeException("test exception")); + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + ); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_client_has_no_graph() throws Exception { + + svcClient.mockHasGraph(false); + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + ); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("503", output.getResponseCode()); + assertEquals(NO_SERVICE_LOGIC_ACTIVE + APP_NAME + ": '" + SVC_OPERATION + "'", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_fail_when_failed_to_update_mdsal() throws Exception { + + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + svcClient.mockHasGraph(true); + WriteTransaction mockWriteTransaction = mock(WriteTransaction.class); + when(mockWriteTransaction.submit()).thenThrow(new TransactionChainClosedException("test exception")); + + DataBroker spyDataBroker = Mockito.spy(dataBroker); + when(spyDataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTransaction); + genericResourceApiProvider.setDataBroker(spyDataBroker); + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput() + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + ); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("500", output.getResponseCode()); + assertEquals("test exception", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + } + + @Test + public void should_complete_with_success_when_no_errors() throws Exception { + + svcClient.mockHasGraph(true); + PropBuilder svcResultProp = svcClient.createExecuteOKResult(); + svcClient.mockExecute(svcResultProp); + + VnfTopologyOperationInput input = build(vnfTopologyOperationInput() + .setSdncRequestHeader(build(sdncRequestHeader() + .setSvcRequestId("test-svc-request-id") + .setSvcAction(SvcAction.Assign) + )) + .setRequestInformation(build(requestInformation() + .setRequestId("test-request-id") + .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance) + )) + .setServiceInformation(build(serviceInformationBuilder() + .setServiceInstanceId("test-service-instance-id") + )) + .setVnfInformation(build(vnfInformationBuilder() + .setVnfId("test-vnf-id") + )) + ); + + VnfTopologyOperationOutput output = + exec(genericResourceApiProvider::vnfTopologyOperation, input, RpcResult::getResult); + + assertEquals("200", output.getResponseCode()); + assertEquals("OK", output.getResponseMessage()); + assertEquals("Y", output.getAckFinalIndicator()); + + VnfTopologyOperationOutput expectedVnfTopologyOperationOutput = createExpectedOutput(svcResultProp, + input); + assertEquals(expectedVnfTopologyOperationOutput, output); + } + + private VnfTopologyOperationOutput createExpectedOutput(PropBuilder svcResultProp, + VnfTopologyOperationInput vnfTopologyOperationInput) { + return build( + vnfTopologyOperationOutput() + .setSvcRequestId(vnfTopologyOperationInput.getSdncRequestHeader().getSvcRequestId()) + .setResponseCode(svcResultProp.get(svcClient.errorCode)) + .setAckFinalIndicator(svcResultProp.get(svcClient.ackFinal)) + .setResponseMessage(svcResultProp.get(svcClient.errorMessage)) + .setServiceResponseInformation(build(serviceResponseInformation() + .setInstanceId(vnfTopologyOperationInput.getServiceInformation().getServiceInstanceId()) + .setObjectPath(svcResultProp.get(svcClient.serviceObjectPath)) + )) + .setVnfResponseInformation(build(vnfResponseInformation() + .setInstanceId(vnfTopologyOperationInput.getVnfInformation().getVnfId()) + .setObjectPath(svcResultProp.get(svcClient.vnfObjectPath)) + )) + ); + } +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java new file mode 100644 index 00000000..878487cf --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/DataBrokerUtil.java @@ -0,0 +1,110 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound.util; + +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.Services; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.level.oper.status.ServiceLevelOperStatusBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceKey; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; + +import static org.onap.sdnc.northbound.util.MDSALUtil.build; + + +/** + * This util class provides utility to read and write {@link Service} data objects from the {@link DataBroker} + * + */ +public class DataBrokerUtil { + + + private final DataBroker dataBroker; + + public DataBrokerUtil(DataBroker dataBroker) { + this.dataBroker = dataBroker; + } + + /** @return Service - the Service object read from the DataBroker or null if none was found */ + public Service read(String serviceKey, LogicalDatastoreType logicalDatastoreType) throws Exception { + InstanceIdentifier serviceInstanceIdentifier = InstanceIdentifier.builder(Services.class) + .child(Service.class, new ServiceKey(serviceKey)).build(); + ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction(); + Optional data = (Optional) readTx.read(logicalDatastoreType, serviceInstanceIdentifier).get(); + if(!data.isPresent()){ + return null; + } + + + //The toString() value from a Service object returned form data.get() is different than the toString() value + //from a Service Object constructed from a Builder. This makes it difficult to compare deltas when doing a + // assertEquals. That why we rebuild it her to solve that problem. + return build(ServiceBuilder::new,data.get(),(service) -> service + .setServiceStatus(build(ServiceStatusBuilder::new,service.getServiceStatus())) + .setServiceData(build(ServiceDataBuilder::new,service.getServiceData(),(serviceStatus)->serviceStatus + .setServiceLevelOperStatus(build(ServiceLevelOperStatusBuilder::new,serviceStatus.getServiceLevelOperStatus())) + )) + ); + } + + + /** + * Write the {@link Service} object to the {@link DataBroker} + * @param isReplace - false specifies the new data is to be merged into existing data, where as true cause the + * existing data to be replaced. + * @param service - the {@link Service} data object to be presisted in the db. + * @param logicalDatastoreType - The logicalDatastoreType + */ + public void write(boolean isReplace,Service service, LogicalDatastoreType logicalDatastoreType) throws Exception { + // Each entry will be identifiable by a unique key, we have to create that + // identifier + InstanceIdentifier.InstanceIdentifierBuilder serviceBuilder = InstanceIdentifier + .builder(Services.class).child(Service.class, service.key()); + InstanceIdentifier path = serviceBuilder.build(); + + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + if (!isReplace) { + tx.merge(logicalDatastoreType, path, service); + } else { + tx.put(logicalDatastoreType, path, service); + } + CheckedFuture cf = tx.submit(); + cf.checkedGet(); + + } + + + + + + + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/GenericResourceApiSvcLogicServiceClientMockUtil.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/GenericResourceApiSvcLogicServiceClientMockUtil.java new file mode 100644 index 00000000..b0cd627e --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/GenericResourceApiSvcLogicServiceClientMockUtil.java @@ -0,0 +1,182 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound.util; + +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.isA; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.northbound.util.MDSALUtil.build; +import static org.onap.sdnc.northbound.util.PropBuilder.propBuilder; + +import java.util.Properties; +import org.onap.sdnc.northbound.GenericResourceApiSvcLogicServiceClient; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; + + +/** + * GenericResourceApiSvcLogicServiceClientMockUtil provides a set of util methods for quickly configuring method + * behaviour on the Mock GenericResourceApiSvcLogicServiceClient + */ +public class GenericResourceApiSvcLogicServiceClientMockUtil { + + + private final String MODULE = "generic-resource-api"; + private final String MODE = "sync"; + private final String VERSION = null; + private String scvOperation = null; + + public final String errorCode = "error-code"; + public final String errorMessage = "error-message"; + public final String ackFinal = "ack-final"; + public final String serviceObjectPath = "service-object-path"; + public final String networkObjectPath = "network-object-path"; + public final String pnfObjectPath = "pnf-object-path"; + public final String vnfObjectPath = "vnf-object-path"; + public final String vfModuleObjectPath = "vf-module-object-path"; + public final String networkId = "networkId"; + + private final GenericResourceApiSvcLogicServiceClient mockGenericResourceApiSvcLogicServiceClient; + + public GenericResourceApiSvcLogicServiceClientMockUtil( + GenericResourceApiSvcLogicServiceClient mockGenericResourceApiSvcLogicServiceClient) { + this.mockGenericResourceApiSvcLogicServiceClient = mockGenericResourceApiSvcLogicServiceClient; + } + + + /** + * @param scvOperation - The scvOperation parameter to use on the {@link GenericResourceApiSvcLogicServiceClient} + * methods + */ + public void setScvOperation(String scvOperation) { + this.scvOperation = scvOperation; + } + + /** + * Configure {@link GenericResourceApiSvcLogicServiceClient#hasGraph(String, String, String, String)} to return the + * specified value when when invoked with the parameters {@link #MODULE}, {@link #MODE}, {@link #VERSION} and {@link + * #scvOperation} + */ + public void mockHasGraph(Boolean isHasGraph) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .hasGraph( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE)) + ).thenReturn(isHasGraph); + } + + + /** + * @return PropBuilder - A PropBuilder populated with the expected properties returned from {@link + * GenericResourceApiSvcLogicServiceClient#execute(String, String, String, String, ServiceDataBuilder, Properties)} + */ + public PropBuilder createExecuteOKResult() { + return propBuilder() + .set(errorCode, "200") + .set(errorMessage, "OK") + .set(ackFinal, "Y") + .set(serviceObjectPath, "serviceObjectPath: XYZ") + .set(networkObjectPath, "networkObjectPath: XYZ") + .set(pnfObjectPath, "pnfObjectPath: XYZ") + .set(vnfObjectPath, "vnfObjectPath: XYZ") + .set(vfModuleObjectPath, "vfModuleObjectPath: XYZ") + .set(networkId, "networkId: XYZ"); + } + + + /** + * Configure {@link GenericResourceApiSvcLogicServiceClient#execute(String, String, String, String, + * ServiceDataBuilder, Properties)} to return the specified svcResultProp when when invoked with the parameters + * {@link #MODULE}, {@link #MODE}, {@link #VERSION} and {@link #scvOperation} + */ + public void mockExecute(PropBuilder svcResultProp) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(ServiceDataBuilder.class), + isA(Properties.class)) + ).thenReturn(build(svcResultProp)); + } + + public void mockExecute(RuntimeException exception) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(ServiceDataBuilder.class), + isA(Properties.class) + ) + ).thenThrow(exception); + } + + + public void mockExecuteWoServiceData(PropBuilder svcResultProp) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(Properties.class)) + ).thenReturn(build(svcResultProp)); + } + + public void mockExecuteWoServiceData(RuntimeException exception) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(Properties.class) + ) + ).thenThrow(exception); + } + + public void mockExecuteWoServiceDataPreload(RuntimeException exception) throws Exception { + when( + mockGenericResourceApiSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(PreloadDataBuilder.class), + isA(Properties.class) + ) + ).thenThrow(exception); + } + + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java new file mode 100644 index 00000000..840b4228 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java @@ -0,0 +1,384 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound.util; + +import java.util.concurrent.Future; +import java.util.function.Consumer; +import java.util.function.Function; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationNotificationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GetpathsegmentTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PolicyUpdateNotifyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PortMirrorTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.brg.response.information.BrgResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.connection.attachment.response.information.ConnectionAttachmentResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.contrail.route.response.information.ContrailRouteResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.information.NetworkInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.response.information.NetworkResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.topology.identifier.structure.NetworkTopologyIdentifierStructureBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.network.topology.information.PreloadNetworkTopologyInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.vf.module.topology.information.PreloadVfModuleTopologyInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.security.zone.response.information.SecurityZoneResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.level.oper.status.ServiceLevelOperStatusBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.response.information.ServiceResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.tunnelxconn.response.information.TunnelxconnResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.information.VfModuleInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.response.information.VfModuleResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.VfModuleTopologyBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.identifier.VfModuleTopologyIdentifierBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.information.VnfInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.response.information.VnfResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.topology.identifier.structure.VnfTopologyIdentifierStructureBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.details.PnfDetailsBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.response.information.PnfResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.topology.identifier.structure.PnfTopologyIdentifierStructureBuilder; +import org.opendaylight.yangtools.concepts.Builder; +import org.opendaylight.yangtools.yang.common.RpcResult; + + +/** + * This uill class provides utility to build yang objects using a recursive syntax that resembles the tree structure + * when defining the same yang object in json format. + * + * For Example + *
+ * {@code
+ * import static org.onap.sdnc.northbound.util.MDSALUtil.*;
+ * ServiceTopologyOperationInput input = build(
+ *         serviceTopologyOperationInput()
+ *                 .setSdncRequestHeader(build(sdncRequestHeader()
+ *                         .setSvcRequestId("svc-request-id: xyz")
+ *                         .setSvcAction(SvcAction.Assign)
+ *                 ))
+ *                 .setRequestInformation(build(requestInformation()
+ *                         .setRequestId("request-id: xyz")
+ *                        .setRequestAction(RequestInformation.RequestAction.CreateServiceInstance)
+ *                 ))
+ *                .setServiceInformation(build(serviceInformationBuilder()
+ *                         .setServiceInstanceId("service-instance-id: xyz")
+ *                ))
+ * );
+ * }
+ * 
+ */ +public class MDSALUtil { + + public static PreloadVfModuleTopologyOperationInputBuilder preloadVfModuleTopologyOperationInput() { + return new PreloadVfModuleTopologyOperationInputBuilder(); + } + + public static GenericConfigurationTopologyOperationInputBuilder GenericConfigurationTopologyOperationInput() { + return new GenericConfigurationTopologyOperationInputBuilder(); + } + + public static GenericConfigurationNotificationInputBuilder GenericConfigurationNotificationInput() { + return new GenericConfigurationNotificationInputBuilder(); + } + + public static GetpathsegmentTopologyOperationInputBuilder GetpathsegmentTopologyOperationInput() { + return new GetpathsegmentTopologyOperationInputBuilder(); + } + + public static PolicyUpdateNotifyOperationInputBuilder PolicyUpdateNotifyOperationInput() { + return new PolicyUpdateNotifyOperationInputBuilder(); + } + + public static PortMirrorTopologyOperationInputBuilder PortMirrorTopologyOperationInput() { + return new PortMirrorTopologyOperationInputBuilder(); + } + + public static PreloadVfModuleTopologyOperationOutputBuilder preloadVfModuleTopologyOperationOutput() { + return new PreloadVfModuleTopologyOperationOutputBuilder(); + } + + public static PreloadNetworkTopologyOperationInputBuilder preloadNetworkTopologyOperationInput() { + return new PreloadNetworkTopologyOperationInputBuilder(); + } + + public static PreloadNetworkTopologyOperationOutputBuilder preloadNetworkTopologyOperationOutput() { + return new PreloadNetworkTopologyOperationOutputBuilder(); + } + + public static BrgTopologyOperationInputBuilder brgTopologyOperationInput() { + return new BrgTopologyOperationInputBuilder(); + } + + public static BrgTopologyOperationOutputBuilder brgTopologyOperationOutput() { + return new BrgTopologyOperationOutputBuilder(); + } + + public static TunnelxconnTopologyOperationInputBuilder tunnelxconnTopologyOperationInput() { + return new TunnelxconnTopologyOperationInputBuilder(); + } + + public static TunnelxconnTopologyOperationOutputBuilder tunnelxconnTopologyOperationOutput() { + return new TunnelxconnTopologyOperationOutputBuilder(); + } + + public static SecurityZoneTopologyOperationInputBuilder securityZoneTopologyOperationInput() { + return new SecurityZoneTopologyOperationInputBuilder(); + } + + public static SecurityZoneTopologyOperationOutputBuilder securityZoneTopologyOperationOutput() { + return new SecurityZoneTopologyOperationOutputBuilder(); + } + + public static ContrailRouteTopologyOperationInputBuilder contrailRouteTopologyOperationInput() { + return new ContrailRouteTopologyOperationInputBuilder(); + } + + public static ContrailRouteTopologyOperationOutputBuilder contrailRouteTopologyOperationOutput() { + return new ContrailRouteTopologyOperationOutputBuilder(); + } + + public static VfModuleTopologyOperationInputBuilder vfModuleTopologyOperationInput() { + return new VfModuleTopologyOperationInputBuilder(); + } + + public static VfModuleTopologyOperationOutputBuilder vfModuleTopologyOperationOutput() { + return new VfModuleTopologyOperationOutputBuilder(); + } + + public static PnfTopologyOperationInputBuilder pnfTopologyOperationInput() { + return new PnfTopologyOperationInputBuilder(); + } + + public static PnfTopologyOperationOutputBuilder pnfTopologyOperationOutput() { + return new PnfTopologyOperationOutputBuilder(); + } + + public static VnfTopologyOperationInputBuilder vnfTopologyOperationInput() { + return new VnfTopologyOperationInputBuilder(); + } + + public static VnfTopologyOperationOutputBuilder vnfTopologyOperationOutput() { + return new VnfTopologyOperationOutputBuilder(); + } + + public static ServiceTopologyOperationInputBuilder serviceTopologyOperationInput() { + return new ServiceTopologyOperationInputBuilder(); + } + + public static ServiceTopologyOperationOutputBuilder serviceTopologyOperationOutput() { + return new ServiceTopologyOperationOutputBuilder(); + } + + + public static SdncRequestHeaderBuilder sdncRequestHeader() { + return new SdncRequestHeaderBuilder(); + } + + + public static RequestInformationBuilder requestInformation() { + return new RequestInformationBuilder(); + } + + public static ServiceResponseInformationBuilder serviceResponseInformation() { + return new ServiceResponseInformationBuilder(); + } + + public static SecurityZoneResponseInformationBuilder securityZoneResponseInformation() { + return new SecurityZoneResponseInformationBuilder(); + } + + public static TunnelxconnResponseInformationBuilder tunnelxconnResponseInformation() { + return new TunnelxconnResponseInformationBuilder(); + } + + public static BrgResponseInformationBuilder brgResponseInformation() { + return new BrgResponseInformationBuilder(); + } + + public static ContrailRouteResponseInformationBuilder contrailRouteResponseInformation() { + return new ContrailRouteResponseInformationBuilder(); + } + + public static PnfResponseInformationBuilder pnfResponseInformation() { + return new PnfResponseInformationBuilder(); + } + + public static VnfResponseInformationBuilder vnfResponseInformation() { + return new VnfResponseInformationBuilder(); + } + + public static VfModuleResponseInformationBuilder vfModuleResponseInformation() { + return new VfModuleResponseInformationBuilder(); + } + + public static ServiceInformationBuilder serviceInformationBuilder() { + return new ServiceInformationBuilder(); + } + + public static PreloadNetworkTopologyInformationBuilder preloadNetworkTopologyInformationBuilder() { + return new PreloadNetworkTopologyInformationBuilder(); + } + + public static NetworkTopologyIdentifierStructureBuilder networkTopologyIdentifierStructureBuilder(){ + return new NetworkTopologyIdentifierStructureBuilder(); + } + + public static PnfDetailsBuilder pnfDetailsBuilder() { + return new PnfDetailsBuilder(); + } + + public static VnfInformationBuilder vnfInformationBuilder() { + return new VnfInformationBuilder(); + } + + public static VfModuleInformationBuilder vfModuleInformationBuilder() { + return new VfModuleInformationBuilder(); + } + + public static ServiceBuilder service() { + return new ServiceBuilder(); + } + + public static ServiceDataBuilder serviceData() { + return new ServiceDataBuilder(); + } + + public static ServiceStatusBuilder serviceStatus() { + return new ServiceStatusBuilder(); + } + + public static NetworkInformationBuilder networkInformation() { + return new NetworkInformationBuilder(); + } + + public static NetworkTopologyOperationInputBuilder networkTopologyOperationInput() { + return new NetworkTopologyOperationInputBuilder(); + } + + public static NetworkTopologyOperationOutputBuilder networkTopologyOperationOutput() { + return new NetworkTopologyOperationOutputBuilder(); + } + + public static PnfTopologyIdentifierStructureBuilder pnfTopologyIdentifierStructureBuilder() { + return new PnfTopologyIdentifierStructureBuilder(); + } + + public static VnfTopologyIdentifierStructureBuilder vnfTopologyIdentifierStructureBuilder() { + return new VnfTopologyIdentifierStructureBuilder(); + } + + public static PreloadVfModuleTopologyInformationBuilder preloadVfModuleTopologyInformationBuilder() { + return new PreloadVfModuleTopologyInformationBuilder(); + } + + public static VfModuleTopologyBuilder vfModuleTopologyBuilder() { + return new VfModuleTopologyBuilder(); + } + + public static VfModuleTopologyIdentifierBuilder vfModuleTopologyIdentifierBuilder() { + return new VfModuleTopologyIdentifierBuilder(); + } + + public static NetworkResponseInformationBuilder networkResponseInformation() { + return new NetworkResponseInformationBuilder(); + } + + public static ConnectionAttachmentTopologyOperationInputBuilder connectionAttachmentTopologyOperationInput() { + return new ConnectionAttachmentTopologyOperationInputBuilder(); + } + + public static ConnectionAttachmentTopologyOperationOutputBuilder connectionAttachmentTopologyOperationOutput() { + return new ConnectionAttachmentTopologyOperationOutputBuilder(); + } + + public static ConnectionAttachmentResponseInformationBuilder connectionAttachmentResponseInformation() { + return new ConnectionAttachmentResponseInformationBuilder(); + } + + public static ServiceLevelOperStatusBuilder serviceLevelOperStatus() { + return new ServiceLevelOperStatusBuilder(); + } + + public static

P build(Builder

b) { + return b == null ? null : b.build(); + } + + public static > P build(Function builderConstructor, P sourceDataObject) { + if (sourceDataObject == null) { + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + return bp.build(); + } + + public static > P build(Function builderConstructor, P sourceDataObject, + Consumer builder) { + if (sourceDataObject == null) { + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + builder.accept(bp); + return bp.build(); + } + + public static O exec(Function>> rpc, I rpcParameter, + Function, O> rpcResult) throws Exception { + Future> future = rpc.apply(rpcParameter); + return rpcResult.apply(future.get()); + } + +} diff --git a/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/PropBuilder.java b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/PropBuilder.java new file mode 100644 index 00000000..b1a07016 --- /dev/null +++ b/sdnc-a1-controller/northbound/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/PropBuilder.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound.util; + +import org.opendaylight.yangtools.concepts.Builder; + +import java.util.Properties; + +/** + * A Util class that adds method chaining to the {@link #set(String, String)} to reducing the syntax needed to populate + * {@link Properties} + */ +public class PropBuilder implements Builder { + + + final Properties prop; + + public PropBuilder(Properties prop) { + this.prop = prop; + } + + public PropBuilder() { + this.prop = new Properties(); + } + + public Properties build(){ + return prop; + } + + public PropBuilder set(String key, String value) { + prop.setProperty(key, value); + return this; + } + + public String get(String key) { + return prop.getProperty(key); + } + + + public static PropBuilder propBuilder(){ + return (new PropBuilder()); + } +} \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/.gitignore b/sdnc-a1-controller/northbound/nonrt-ric-api/.gitignore new file mode 100644 index 00000000..930c0337 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/.gitignore @@ -0,0 +1,40 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## Folders which contain auto generated source code ## +yang-gen-config +yang-gen-sal + + + +#####Archetype specific .git ignore entries####### +generate +Archetype_Next_Steps.README + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/.gitignore b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/.gitignore new file mode 100644 index 00000000..27fd4617 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/.gitignore @@ -0,0 +1,23 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# exclude jar for gradle wrapper +!gradle/wrapper/*.jar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# build files +**/target +target +.gradle +build + +logs/ diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/README.md b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/README.md new file mode 100644 index 00000000..d5780ffb --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/README.md @@ -0,0 +1,29 @@ +# A1 Mediator Client Generator + +This projects generates a REST client library from the OpenAPI specification +file stored here and packages it in a jar. + +## Eclipse and STS Users + +The Swagger Codegen maven plugin is not supported in Eclipse/STS. You can +limp along by taking these steps: + +1. Generate the code using maven: + mvn install +2. Add this folder to the project build path: + target/generated-sources/swagger/src/main/java + +## License + +Copyright (C) 2019 AT&T Intellectual Property & Nokia. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/pom.xml new file mode 100644 index 00000000..f0718bfd --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/pom.xml @@ -0,0 +1,195 @@ + + + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api-a1-client + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + UTF-8 + UTF-8 + org.oransc.ric.a1med.client + + + + + io.swagger.core.v3 + swagger-annotations + 2.0.8 + provided + + + org.springframework + spring-context + provided + + + org.springframework + spring-web + provided + + + com.fasterxml.jackson.core + jackson-core + 2.9.0 + provided + + + com.fasterxml.jackson.core + jackson-annotations + 2.9.0 + provided + + + com.fasterxml.jackson.core + jackson-databind + 2.9.0 + provided + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + 2.9.0 + provided + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.9.0 + provided + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-dependency-plugin + + org.onap.sdnc.northbound + + + + org.apache.felix + maven-bundle-plugin + 3.0.1 + true + + + ${project.groupId}.${project.artifactId} + ${project.version} + * + *;scope=compile|runtime + true + target/dependency + *;resolution:=optional + * + + + + + io.swagger.codegen.v3 + swagger-codegen-maven-plugin + 3.0.8 + + + + generate + + + ${project.basedir}/src/main/resources/a1_mediator_0.11.0.yaml + java + + ${client.base.package.name} + ${client.base.package.name}.model + ${client.base.package.name}.api + ${client.base.package.name}.invoker + ${project.groupId} + ${project.artifactId} + ${project.version} + resttemplate + true + ${project.build.directory}/generated-sources/swagger + false + false + true + false + true + src/main/java + java8 + Apache 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + io.swagger.codegen.v3 + swagger-codegen-maven-plugin + [1.0,) + + generate + + + + + + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/src/main/resources/a1_mediator_0.11.0.yaml b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/src/main/resources/a1_mediator_0.11.0.yaml new file mode 100644 index 00000000..b8b8f91c --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/a1-client/src/main/resources/a1_mediator_0.11.0.yaml @@ -0,0 +1,388 @@ +# ================================================================================== +# Copyright (c) 2019 Nokia +# Copyright (c) 2018-2019 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== +openapi: 3.0.0 +info: + version: 0.11.0 + title: RIC A1 +paths: + '/a1-p/healthcheck': + get: + description: > + Perform a healthcheck on a1 + tags: + - A1 Mediator + operationId: a1.controller.get_healthcheck + responses: + 200: + description: > + A1 is healthy. + Anything other than a 200 should be considered a1 as failing + + '/a1-p/policytypes/': + get: + description: "Get a list of all registered policy type ids" + tags: + - A1 Mediator + operationId: a1.controller.get_all_policy_types + responses: + 200: + description: "list of all registered policy type ids" + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/policy_type_id" + example: [20000, 20020] + + '/a1-p/policytypes/{policy_type_id}': + parameters: + - name: policy_type_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_type_id" + get: + description: > + Get this policy type + tags: + - A1 Mediator + operationId: a1.controller.get_policy_type + responses: + '200': + description: "policy type successfully found" + content: + application/json: + schema: + "$ref": "#/components/schemas/policy_type_schema" + '404': + description: > + policy type not found + delete: + description: > + Delete this policy type. Can only be performed if there are no instances of this type + tags: + - A1 Mediator + operationId: a1.controller.delete_policy_type + responses: + '204': + description: > + policy type successfully deleted + '400': + description: > + Policy type cannot be deleted because there are instances + All instances must be removed before a policy type can be deleted + '404': + description: > + policy type not found + put: + description: > + Create a new policy type . + Replace is not currently allowed; to replace, for now do a DELETE and then a PUT again. + + tags: + - A1 Mediator + operationId: a1.controller.create_policy_type + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/policy_type_schema" + example: + name: admission_control_policy + description: various parameters to control admission of dual connection + policy_type_id: 20000 + create_schema: + $schema: 'http://json-schema.org/draft-07/schema#' + type: object + properties: + enforce: + type: boolean + default: true + window_length: + type: integer + default: 1 + minimum: 1 + maximum: 60 + description: Sliding window length (in minutes) + blocking_rate: + type: number + default: 10 + minimum: 1 + maximum: 100 + description: '% Connections to block' + trigger_threshold: + type: integer + default: 10 + minimum: 1 + description: Minimum number of events in window to trigger blocking + additionalProperties: false + + responses: + '201': + description: "policy type successfully created" + '400': + description: "illegal ID, or object already existed" + + '/a1-p/policytypes/{policy_type_id}/policies': + parameters: + - name: policy_type_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_type_id" + get: + description: "get a list of all policy instance ids for this policy type id" + tags: + - A1 Mediator + operationId: a1.controller.get_all_instances_for_type + responses: + 200: + description: "list of all policy instance ids for this policy type id" + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/policy_instance_id" + example: ["3d2157af-6a8f-4a7c-810f-38c2f824bf12", "06911bfc-c127-444a-8eb1-1bffad27cc3d"] + + + '/a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id}': + parameters: + - name: policy_type_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_type_id" + + - name: policy_instance_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_instance_id" + + get: + description: > + Retrieve the policy instance + + tags: + - A1 Mediator + operationId: a1.controller.get_policy_instance + responses: + '200': + description: > + The policy instance. + the schema of this object is defined by the create_schema field of the policy type + content: + application/json: + schema: + type: object + '404': + description: > + there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id + + delete: + description: > + Delete this policy instance + + tags: + - A1 Mediator + operationId: a1.controller.delete_policy_instance + responses: + '204': + description: > + policy instance successfully deleted + '404': + description: > + there is no policy instance with this policy_instance_id + or there is no policy type with this policy_type_id + + put: + description: > + Create or replace a policy instance of type policy_type_id. + The schema of the PUT body is defined by the create_schema field of the policy type. + + tags: + - A1 Mediator + operationId: a1.controller.create_or_replace_policy_instance + requestBody: + content: + application/json: + schema: + type: object + description: > + the schema of this object is defined by the create_schema field of the policy type + example: + enforce: true + window_length: 10 + blocking_rate: 20 + trigger_threshold: 10 + + responses: + '201': + description: > + Policy instance created + '400': + description: > + Bad PUT body for this policy instance + '404': + description: > + There is no policy type with this policy_type_id + + '/a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id}/status': + parameters: + - name: policy_type_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_type_id" + + - name: policy_instance_id + in: path + required: true + schema: + "$ref": "#/components/schemas/policy_instance_id" + + get: + description: > + Retrieve the policy instance status across all handlers of the policy + + tags: + - A1 Mediator + operationId: a1.controller.get_policy_instance_status + responses: + '200': + description: > + The policy instance status. + Returns a vector of statuses, where each contains a handler_id (opaque id of a RIC component that implements this policy) and the policy status as returned by that handler + content: + application/json: + schema: + type: array + items: + type: object + properties: + handler_id: + type: string + status: + type: string + example: + [{"handler_id": "1234-5678", "status" : "OK"}, {"handler_id": "abc-def", "status" : "NOT IMPLEMENTED"}] + '404': + description: > + there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id + + +components: + schemas: + policy_type_schema: + type: object + required: + - name + - description + - policy_type_id + - create_schema + additionalProperties: false + properties: + name: + type: string + description: name of the policy type + description: + type: string + description: description of the policy type + policy_type_id: + description: the integer of the policy type + type: integer + create_schema: + type: object + description: > + jsonschema (following http://json-schema.org/draft-07/schema) of the CREATE payload to be sent to handlers of this policy + + policy_type_id: + description: > + represents a policy type identifier. Currently this is restricted to an integer range. + type: integer + minimum: 20000 + maximum: 21024 + + policy_instance_id: + description: > + represents a policy instance identifier. UUIDs are advisable but can be any string + type: string + example: "3d2157af-6a8f-4a7c-810f-38c2f824bf12" + + downstream_message_schema: + type: object + required: + - operation + - policy_type_id + - policy_instance_id + - payload + additionalProperties: false + properties: + operation: + description: the operation being performed + type: string + enum: + - CREATE + - DELETE + - UPDATE + - READ + policy_type_id: + "$ref": "#/components/schemas/policy_type_id" + policy_instance_id: + "$ref": "#/components/schemas/policy_instance_id" + payload: + description: payload for this operation + type: object + example: + operation: CREATE + policy_type_id: 12345678 + policy_instance_id: 3d2157af-6a8f-4a7c-810f-38c2f824bf12 + payload: + enforce: true + window_length: 10 + blocking_rate: 20 + trigger_threshold: 10 + + downstream_notification_schema: + type: object + required: + - policy_type_id + - policy_instance_id + - handler_id + - status + additionalProperties: false + properties: + policy_type_id: + "$ref": "#/components/schemas/policy_type_id" + policy_instance_id: + "$ref": "#/components/schemas/policy_instance_id" + handler_id: + description: > + id of the policy handler + type: string + status: + description: > + the status of this policy instance in this handler + type: string + example: + policy_type_id: 12345678 + policy_instance_id: 3d2157af-6a8f-4a7c-810f-38c2f824bf12 + handler_id: 1234-5678 + status: OK diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/features/features-nonrt-ric-api/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/features/features-nonrt-ric-api/pom.xml new file mode 100644 index 00000000..635b4f78 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/features/features-nonrt-ric-api/pom.xml @@ -0,0 +1,48 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + feature-repo-parent + 1.4.3 + + + + org.onap.sdnc.northbound + features-nonrt-ric-api + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + + ${project.groupId} + sdnc-nonrt-ric-api + ${project.version} + xml + features + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/features/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/features/pom.xml new file mode 100644 index 00000000..0bf1b2ce --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/features/pom.xml @@ -0,0 +1,42 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api-features + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + sdnc-nonrt-ric-api + features-nonrt-ric-api + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/features/sdnc-nonrt-ric-api/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/features/sdnc-nonrt-ric-api/pom.xml new file mode 100644 index 00000000..f6a6748b --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/features/sdnc-nonrt-ric-api/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + single-feature-parent + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-nonrt-ric-api + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + + org.opendaylight.controller + odl-mdsal-broker + xml + features + + + org.onap.ccsdk.sli.core + ccsdk-sli + ${ccsdk.sli.core.version} + xml + features + + + ${project.groupId} + nonrt-ric-api-model + ${project.version} + + + ${project.groupId} + nonrt-ric-api-a1-client + ${project.version} + + + ${project.groupId} + nonrt-ric-api-provider + ${project.version} + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/installer/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/pom.xml new file mode 100755 index 00000000..760c4ba3 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/pom.xml @@ -0,0 +1,161 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api-installer + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + sdnc-nonrt-ric-api + ${application.name} + mvn:org.onap.sdnc.northbound/${application.name}/${project.version}/xml/features + false + + + + + + org.onap.sdnc.northbound + ${application.name} + ${project.version} + xml + features + + + * + * + + + + + + org.onap.sdnc.northbound + nonrt-ric-api-provider + ${project.version} + + + + + + + + + maven-assembly-plugin + 2.6 + + + maven-repo-zip + + single + + package + + true + stage/${application.name}-${project.version} + + src/assembly/assemble_mvnrepo_zip.xml + + + + + installer-zip + + single + + package + + true + ${application.name}-${project.version}-installer + + src/assembly/assemble_installer_zip.xml + + false + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + + copy-dependencies + + prepare-package + + false + ${project.build.directory}/assembly/system + false + true + true + true + false + false + org.onap.sdnc.northbound + provided + + + + + + maven-resources-plugin + 2.6 + + + copy-version + + copy-resources + + validate + + ${basedir}/target/stage + + + src/main/resources/scripts + + install-feature.sh + + true + + + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_installer_zip.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_installer_zip.xml new file mode 100644 index 00000000..13156fda --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_installer_zip.xml @@ -0,0 +1,56 @@ + + + + + + installer_zip + + zip + + + + false + + + + target/stage/ + ${application.name} + 755 + + *.sh + + + + target/stage/ + ${application.name} + 644 + + *.sh + + + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_mvnrepo_zip.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_mvnrepo_zip.xml new file mode 100644 index 00000000..301b46df --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/assembly/assemble_mvnrepo_zip.xml @@ -0,0 +1,51 @@ + + + + repo + + zip + + + + false + + + + target/assembly/ + . + + + + + + + + ../model/target/nonrt-ric-api.properties + ./configuration/nonrt-ric-api.properties + + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/main/resources/scripts/install-feature.sh b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/main/resources/scripts/install-feature.sh new file mode 100644 index 00000000..d5f620f1 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/installer/src/main/resources/scripts/install-feature.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} +ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client} +INSTALLERDIR=$(dirname $0) + +REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip + +if [ -f ${REPOZIP} ] +then + unzip -d ${ODL_HOME} ${REPOZIP} +else + echo "ERROR : repo zip ($REPOZIP) not found" + exit 1 +fi + +${ODL_KARAF_CLIENT} feature:repo-add ${features.repositories} +${ODL_KARAF_CLIENT} feature:install ${features.boot} diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/model/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/model/pom.xml new file mode 100644 index 00000000..8bef79ec --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/model/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api-model + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + + org.opendaylight.mdsal.binding.model.ietf + rfc6991 + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + + python + + scripts/python/yang2props.py + src/main/yang/NONRT-RIC-API.yang + target/nonrt-ric-api.properties + + + generation + generate-resources + + exec + + + + + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/model/scripts/python/yang2props.py b/sdnc-a1-controller/northbound/nonrt-ric-api/model/scripts/python/yang2props.py new file mode 100755 index 00000000..559d31b8 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/model/scripts/python/yang2props.py @@ -0,0 +1,57 @@ +#!/usr/bin/python + +import re +import sys + + +# Convert word from foo-bar to FooBar +# words begining with a digit will be converted to _digit +def to_enum(s): + if s[0].isdigit(): + s = "_" + s + else: + s = s[0].upper() + s[1:] + return re.sub(r'(?!^)-([a-zA-Z])', lambda m: m.group(1).upper(), s) + +leaf = "" +val = "" +li = [] + +if len(sys.argv) < 3: + print 'yang2props.py ' + sys.exit(2) + +with open(sys.argv[1], "r") as ins: + for line in ins: + # if we see a leaf save the name for later + if "leaf " in line: + match = re.search(r'leaf (\S+)', line) + if match: + leaf = match.group(1) + + # if we see enum convert the value to enum format and see if it changed + # if the value is different write a property entry + if "enum " in line: + match = re.search(r'enum "(\S+)";', line) + if match: + val = match.group(1) + enum = to_enum(val) + + # see if converting to enum changed the string + if val != enum: + property = "yang."+leaf+"."+enum+"="+val + if property not in li: + li.append( property) + + +# Open output file +fo = open(sys.argv[2], "wb") +fo.write("# yang conversion properties \n") +fo.write("# used to convert Enum back to the original yang value \n") +fo.write("\n".join(li)) +fo.write("\n") + +# Close opend file +fo.close() + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang b/sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang new file mode 100644 index 00000000..b6a2869c --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang @@ -0,0 +1,214 @@ +module A1-ADAPTER-API { + + namespace "org:onap:sdnc:northbound:a1-adapter"; + + prefix a1-adapter-api; + + import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; } + + import ietf-yang-types { prefix yang; } + + revision "2019-10-02" { + description + "A1 adapter for Frankfurt"; + } + +///Flattend interface using RPC + + //Get a comma separated list of near-rt rics, e.g. domain-name1:port1,domainname2:port2 + //Each item in the returned list will be regarded as one near-rt-ric-id. + rpc getNearRT-RICs { + output { + leaf-list near-rt-ric-id-list { + type string; + } + } + } + + //Get health status for a Near-RT-RIC. true - health ok, false - health is not ok. + rpc getHealthCheck { + input { + leaf near-rt-ric-id { + type string; + } + } + + output { + leaf health-status { + type boolean; + } + } + } + + //Get a comma separated list of integer policy type ids + //Each item in the returned list will be regarded as one policy-type-id. + rpc getPolicyTypes { + input { + leaf near-rt-ric-id { + type string; + } + } + + output { + leaf-list policy-type-id-list { + type uint32; + } + } + } + + //Create a policy type + rpc createPolicyType { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + leaf description { + type string; + } + leaf name { + type string; + } + leaf policy-type { + type string; + } + } + output { + leaf status { + type string; + } + leaf code { + type string; + } + } + } + + //Get a policy type + rpc getPolicyType { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + } + output { + leaf description { + type string; + } + leaf name { + type string; + } + leaf policy-type { + type string; + } + } + } + + //Delete a policy type + rpc deletePolicyType { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + } + } + + //Get a comma separeated list of string policy instance ids + //Each item in the returned list will be regarded as one policy-instance-id. + rpc getPolicyInstances { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + } + + output { + leaf-list policy-instance-id-list { + type string; + } + } + } + + //Create a policy instance + rpc createPolicyInstance { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + leaf policy-instance-id { + type string; + } + leaf policy-instance { + type string; + } + } + } + + ///Get a policy instance + rpc getPolicyInstance { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + leaf policy-instance-id { + type string; + } + } + output { + leaf policy-instance { + type string; + } + } + } + + //Delete a policy instance + rpc deletePolicyInstance { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + leaf policy-instance-id { + type string; + } + } + } + + //Get the status for a policy instance + rpc getStatus { + input { + leaf near-rt-ric-id { + type string; + } + leaf policy-type-id { + type uint32; + } + leaf policy-instance-id { + type string; + } + } + output { + leaf status { + type string; + } + } + } +} \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/pom.xml new file mode 100644 index 00000000..fe26d12e --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: nonrt-ric-api + + a1-client + model + provider + features + installer + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml new file mode 100644 index 00000000..21aef793 --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml @@ -0,0 +1,115 @@ + + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + nonrt-ric-api-provider + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: nonrt-ric-api :: ${project.artifactId} + + + + + org.onap.ccsdk.sli.core + sli-core-artifacts + ${ccsdk.sli.core.version} + pom + import + + + + + + org.onap.sdnc.northbound + nonrt-ric-api-model + ${project.version} + + + org.onap.sdnc.northbound + nonrt-ric-api-a1-client + ${project.version} + + + org.apache.commons + commons-lang3 + + + org.onap.ccsdk.sli.core + sli-common + + + org.onap.ccsdk.sli.core + sli-provider + + + + org.opendaylight.controller + sal-binding-api + + + + org.opendaylight.controller + sal-common-util + + + org.opendaylight.controller + sal-test-model + test + + + + + org.opendaylight.controller + sal-binding-broker-impl + test + + + org.opendaylight.controller + sal-binding-broker-impl + test-jar + tests + test + + + junit + junit + test + + + org.mockito + mockito-core + 1.10.19 + test + + + diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java new file mode 100644 index 00000000..206b096a --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java @@ -0,0 +1,360 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.northbound.provider; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.TimeZone; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import org.apache.commons.lang3.StringUtils; +import org.onap.sdnc.northbound.restadpter.NearRicUrlProvider; +import org.onap.sdnc.northbound.restadpter.RestAdapter; +import org.onap.sdnc.northbound.restadpter.RestAdapterImpl; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.A1ADAPTERAPIService; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusInput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutputBuilder; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.oransc.ric.a1med.client.model.PolicyTypeSchema; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; + +/** + * Defines a base implementation for your provider. This class overrides the generated interface + * from the YANG model and implements the request model for the A1 interface. This class identifies + * the Near-RIC throught the IP passed over the payload and calls the corresponding Near-RIC over + * Rest API + * + *

+ * 
+ * @author lathishbabu.ganesan@est.tech
+ *
+ */
+
+public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
+
+  protected static final String APP_NAME = "nonrt-ric-api";
+  protected static final String NO_SERVICE_LOGIC_ACTIVE = "No service logic active for ";
+  private static final String NON_NULL_PARAM = "non-null";
+  private static final String NULL_PARAM = "null";
+  private static final String RESPONSE_SUCCESS = "Success";
+  private static final String RESPONSE_CODE_SUCCESS = "200";
+
+  private final Logger log = LoggerFactory.getLogger(NonrtRicApiProvider.class);
+  private final ExecutorService executor;
+
+  protected DataBroker dataBroker;
+  protected NotificationPublishService notificationService;
+  protected RpcProviderRegistry rpcRegistry;
+  protected BindingAwareBroker.RpcRegistration rpcRegistration;
+  private RestAdapter restAdapter;
+  private NearRicUrlProvider nearRicUrlProvider;
+
+  public NonrtRicApiProvider(DataBroker dataBroker,
+      NotificationPublishService notificationPublishService,
+      RpcProviderRegistry rpcProviderRegistry) {
+    log.info("Creating provider for {}", APP_NAME);
+    executor = Executors.newFixedThreadPool(1);
+    setDataBroker(dataBroker);
+    setNotificationService(notificationPublishService);
+    setRpcRegistry(rpcProviderRegistry);
+    initialize();
+
+  }
+
+  public void initialize() {
+    log.info("Initializing provider for {}", APP_NAME);
+    createContainers();
+    restAdapter = new RestAdapterImpl();
+    nearRicUrlProvider = new NearRicUrlProvider();
+    log.info("Initialization complete for {}", APP_NAME);
+  }
+
+  protected void initializeChild() {
+    // Override if you have custom initialization intelligence
+  }
+
+  @Override
+  public void close() throws Exception {
+    log.info("Closing provider for {}", APP_NAME);
+    executor.shutdown();
+    rpcRegistration.close();
+    log.info("Successfully closed provider for {}", APP_NAME);
+  }
+
+  private static class Iso8601Util {
+
+    private static TimeZone timeZone = TimeZone.getTimeZone("UTC");
+    private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+
+    private Iso8601Util() {}
+
+    static {
+      dateFormat.setTimeZone(timeZone);
+    }
+
+    private static String now() {
+      return dateFormat.format(new Date());
+    }
+  }
+
+  public void setDataBroker(DataBroker dataBroker) {
+    this.dataBroker = dataBroker;
+    if (log.isDebugEnabled()) {
+      log.debug("DataBroker set to {}", dataBroker == null ? NULL_PARAM : NON_NULL_PARAM);
+    }
+  }
+
+  public void setNotificationService(NotificationPublishService notificationService) {
+    this.notificationService = notificationService;
+    if (log.isDebugEnabled()) {
+      log.debug("Notification Service set to {}",
+          notificationService == null ? NULL_PARAM : NON_NULL_PARAM);
+    }
+  }
+
+  public void setRpcRegistry(RpcProviderRegistry rpcRegistry) {
+    this.rpcRegistry = rpcRegistry;
+    if (log.isDebugEnabled()) {
+      log.debug("RpcRegistry set to {}", rpcRegistry == null ? NULL_PARAM : NON_NULL_PARAM);
+    }
+  }
+
+  private void createContainers() {
+
+    final WriteTransaction t = dataBroker.newReadWriteTransaction();
+
+    try {
+      CheckedFuture checkedFuture = t.submit();
+      checkedFuture.get();
+      log.info("Create containers succeeded!");
+
+    } catch (InterruptedException | ExecutionException e) {
+      log.error("Create containers failed: ", e);
+    }
+  }
+
+  @Override
+  public ListenableFuture> createPolicyInstance(
+      CreatePolicyInstanceInput input) {
+    log.debug("Start of createPolicyInstance");
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()),
+        String.valueOf(input.getPolicyInstanceId()));
+    restAdapter.put(uri, input.getPolicyInstance());
+    CreatePolicyInstanceOutputBuilder responseBuilder = new CreatePolicyInstanceOutputBuilder();
+    log.debug("End of createPolicyInstance");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> createPolicyType(
+      CreatePolicyTypeInput input) {
+    log.debug("Start of createPolicyType");
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId()));
+    PolicyTypeSchema policyTypeSchema = new PolicyTypeSchema();
+    restAdapter.put(uri, policyTypeSchema);
+    CreatePolicyTypeOutputBuilder responseBuilder = new CreatePolicyTypeOutputBuilder();
+    responseBuilder.setCode(RESPONSE_CODE_SUCCESS);
+    responseBuilder.setStatus(RESPONSE_SUCCESS);
+    log.debug("End of createPolicyType");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> deletePolicyInstance(
+      DeletePolicyInstanceInput input) {
+    log.debug("Start of deletePolicyInstance");
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()),
+        String.valueOf(input.getPolicyInstanceId()));
+    restAdapter.delete(uri);
+    DeletePolicyInstanceOutputBuilder responseBuilder = new DeletePolicyInstanceOutputBuilder();
+    log.debug("End of deletePolicyInstance");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> deletePolicyType(
+      DeletePolicyTypeInput input) {
+    log.debug("Start of deletePolicyType");
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId()));
+    restAdapter.delete(uri);
+    DeletePolicyTypeOutputBuilder responseBuilder = new DeletePolicyTypeOutputBuilder();
+    log.debug("End of deletePolicyType");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getHealthCheck(
+      GetHealthCheckInput input) {
+    log.debug("Start of getHealthCheck");
+    String uri = nearRicUrlProvider.getHealthCheck();
+    Optional heathCheckStatus = restAdapter.get(uri, String.class);
+    GetHealthCheckOutputBuilder responseBuilder = new GetHealthCheckOutputBuilder();
+    if (heathCheckStatus.get().equals("")) {
+      responseBuilder.setHealthStatus(true);
+    }
+    log.debug("End of getHealthCheck");
+    RpcResult rpcResult = RpcResultBuilder.status(true)
+        .withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getNearRTRICs(GetNearRTRICsInput input) {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+  @Override
+  public ListenableFuture> getPolicyInstance(
+      GetPolicyInstanceInput input) {
+    log.debug("Start of getPolicyInstance");
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()),
+        String.valueOf(input.getPolicyInstanceId()));
+    Optional policyInstance = restAdapter.get(uri, String.class);
+    GetPolicyInstanceOutputBuilder responseBuilder = new GetPolicyInstanceOutputBuilder();
+    responseBuilder
+        .setPolicyInstance(policyInstance.isPresent() ? policyInstance.get() : StringUtils.EMPTY);
+    log.debug("End of getPolicyInstance");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getPolicyInstances(
+      GetPolicyInstancesInput input) {
+    log.debug("Start of getPolicyInstances");
+    String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getPolicyTypeId()));
+    Optional> policyInstances = restAdapter.get(uri, List.class);
+    GetPolicyInstancesOutputBuilder responseBuilder = new GetPolicyInstancesOutputBuilder();
+    if (policyInstances.isPresent()) {
+      responseBuilder.setPolicyInstanceIdList(policyInstances.get());
+    }
+    log.debug("End of getPolicyInstances");
+    RpcResult rpcResult = RpcResultBuilder
+        .status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getPolicyType(GetPolicyTypeInput input) {
+    log.debug("Start of getPolicyType");
+    log.debug("Policy Type Id : ", input.getPolicyTypeId());
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId()));
+    Optional policyTypeSchema = restAdapter.get(uri, PolicyTypeSchema.class);
+    GetPolicyTypeOutputBuilder responseBuilder = new GetPolicyTypeOutputBuilder();
+    if (policyTypeSchema.isPresent()) {
+      responseBuilder.setDescription(policyTypeSchema.get().getDescription());
+      responseBuilder.setName(policyTypeSchema.get().getName());
+      responseBuilder.setPolicyType(policyTypeSchema.get().getCreateSchema().toString());
+    }
+    log.debug("End of getPolicyType");
+    RpcResult rpcResult = RpcResultBuilder.status(true)
+        .withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getPolicyTypes(
+      GetPolicyTypesInput input) {
+    log.debug("Start of getPolicyTypes");
+    String uri = nearRicUrlProvider.getPolicyTypes();
+    Optional> policyTypes = restAdapter.get(uri, List.class);
+    GetPolicyTypesOutputBuilder responseBuilder = new GetPolicyTypesOutputBuilder();
+    responseBuilder.setPolicyTypeIdList(policyTypes.get());
+    log.debug("End of getPolicyTypes");
+    RpcResult rpcResult = RpcResultBuilder.status(true)
+        .withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+
+  @Override
+  public ListenableFuture> getStatus(GetStatusInput input) {
+    log.debug("Start of getStatus");
+    String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(
+        String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+    Optional> policyTypes = restAdapter.get(uri, List.class);
+    GetStatusOutputBuilder responseBuilder = new GetStatusOutputBuilder();
+    // TODO:
+    /*
+     * No Schema defined for the response so Identify a way to parse the schema or create the java
+     * object
+     */
+    responseBuilder.setStatus(RESPONSE_SUCCESS);
+    log.debug("End of getStatus");
+    RpcResult rpcResult =
+        RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+    return Futures.immediateFuture(rpcResult);
+  }
+}
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java
new file mode 100644
index 00000000..469e4075
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.northbound.restadpter;
+
+import org.springframework.web.util.UriComponentsBuilder;
+
+/**
+ * This class provides Near-RIC api to invoke the A1 interface
+ * 
+ * @author lathishbabu.ganesan@est.tech
+ *
+ */
+
+public class NearRicUrlProvider {
+
+  private String baseUrl;
+
+  public NearRicUrlProvider() {
+    // Near ric ip is passed in payload
+    baseUrl = "http://localhost:8080/a1-p/";
+  }
+
+  /**
+   * Retrieve the base url of the Near-RIC
+   * 
+   * @return the base url
+   */
+  public String getBaseUrl() {
+    return UriComponentsBuilder.fromUriString(baseUrl).build().toString();
+  }
+
+  /**
+   * Retrieve the url of A1 healthcheck
+   * 
+   * @return the health check url
+   */
+  public String getHealthCheck() {
+    return UriComponentsBuilder.fromUriString(getBaseUrl()).pathSegment("healthcheck").build()
+        .toString();
+  }
+
+  /**
+   * Retrieve the policy type url
+   * 
+   * @return the base url with the policytypes
+   */
+  public String getPolicyTypes() {
+    return UriComponentsBuilder.fromUriString(getBaseUrl()).pathSegment("policytypes").build()
+        .toString();
+  }
+
+  /**
+   * Retrieve the url of policy type id
+   * 
+   * @param policyTypeId Policy Type Id
+   * @return the policy type id url
+   */
+  public String getPolicyTypeId(final String policyTypeId) {
+    return UriComponentsBuilder.fromUriString(getBaseUrl()).pathSegment("policytypes")
+        .pathSegment(policyTypeId).build().toString();
+  }
+
+  /**
+   * Retrieve the url of the policy instances
+   * 
+   * @param policyTypeId Policy Type Id
+   * @return the policy instances for the given policy type
+   */
+  public String getPolicyInstances(final String policyTypeId) {
+    return UriComponentsBuilder.fromUriString(getPolicyTypeId(policyTypeId)).pathSegment("policies")
+        .build().toString();
+  }
+
+  /**
+   * Retrieve the url of the policy instance id
+   * 
+   * @param policyTypeId Policy Type Id
+   * @param policyInstanceId Policy Instance Id
+   * @return the policy instance id for the given policy type
+   */
+  public String getPolicyInstanceId(final String policyTypeId, final String policyInstanceId) {
+    return UriComponentsBuilder.fromUriString(getPolicyTypeId(policyTypeId)).pathSegment("policies")
+        .pathSegment(policyInstanceId).build().toString();
+  }
+
+  /**
+   * Retrieve the url of the policy instance id status
+   * 
+   * @param policyTypeId Policy Type Id
+   * @param policyInstanceId Policy Instance Id
+   * @return the policy instance id status for the given policy type
+   */
+  public String getPolicyInstanceIdStatus(final String policyTypeId,
+      final String policyInstanceId) {
+    return UriComponentsBuilder.fromUriString(getPolicyInstanceId(policyTypeId, policyInstanceId))
+        .pathSegment("status").build().toString();
+  }
+}
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapter.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapter.java
new file mode 100644
index 00000000..98759fd5
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapter.java
@@ -0,0 +1,62 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.northbound.restadpter;
+
+import com.google.common.base.Optional;
+
+
+/**
+ * An interface to wrap the generic HTTP methods
+ * 
+ * @author lathishbabu.ganesan@est.tech
+ *
+ */
+public interface RestAdapter {
+
+  /**
+   * Retrieve a representation by doing a GET on the specified URL. The response (if any) is
+   * converted and returned.
+   * 
+   * @param uri the URL
+   * @param clazz responseType the type of the return value
+   * @return the converted object
+   */
+
+   Optional get(final String url, final Class clazz);
+
+  /**
+   * Create or update a resource by PUTting the given object to the URI.
+   * 
+   * @param url the URL
+   * @param request the Object to be PUT (may be {@code null})
+   * @return the response code
+   */
+   Optional put(final String url, final Object object);
+
+  /**
+   * Delete resource for the given object to the URI.
+   * 
+   * @param url the URL
+   * @return the response code
+   */
+   Optional delete(final String url);
+
+}
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapterImpl.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapterImpl.java
new file mode 100644
index 00000000..bbdcb002
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapterImpl.java
@@ -0,0 +1,92 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.northbound.restadpter;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.RestTemplate;
+import com.google.common.base.Optional;
+
+/**
+ * This class provides the Generic Rest Adapter interface to the RestTemplate
+ * 
+ * @author lathishbabu.ganesan@est.tech
+ *
+ */
+
+public class RestAdapterImpl implements RestAdapter {
+
+  private final Logger log = LoggerFactory.getLogger(RestAdapterImpl.class);
+
+  private RestTemplate restTemplate;
+
+  public RestAdapterImpl() {
+    restTemplate = new RestTemplate();
+  }
+
+  private HttpEntity getHttpEntity(final Object object) {
+    return new HttpEntity<>(object);
+  }
+
+  @Override
+  public  Optional get(String uri, Class clazz) {
+    HttpEntity entity = getHttpEntity(null);
+    final ResponseEntity response = invokeHttpRequest(uri, HttpMethod.GET, clazz, entity);
+    return buildOptional(response);
+  }
+
+  @Override
+  public  Optional put(String uri, Object object) {
+    HttpEntity entity = getHttpEntity(object);
+    final ResponseEntity response = invokeHttpRequest(uri, HttpMethod.PUT, null, entity);
+    return buildOptional(response);
+  }
+
+  @Override
+  public  Optional delete(String uri) {
+    HttpEntity entity = getHttpEntity(null);
+    final ResponseEntity response = invokeHttpRequest(uri, HttpMethod.DELETE, null, entity);
+    return buildOptional(response);
+  }
+
+  @SuppressWarnings("unchecked")
+  private  ResponseEntity invokeHttpRequest(String uri, HttpMethod httpMethod, Class clazz,
+      HttpEntity entity) {
+    return (ResponseEntity) restTemplate.exchange(uri, httpMethod, entity, clazz);
+  }
+
+  private  Optional buildOptional(ResponseEntity response) {
+    if (!response.getStatusCode().equals(HttpStatus.OK)
+        | !response.getStatusCode().equals(HttpStatus.CREATED)
+        | !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
+      log.error("Failed to get the Response");
+      return Optional.absent();
+    }
+    if (response.hasBody()) {
+      return Optional.of(response.getBody());
+    }
+    return Optional.absent();
+  }
+}
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/OSGI-INF/blueprint/nonrt-ric-api-blueprint.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/OSGI-INF/blueprint/nonrt-ric-api-blueprint.xml
new file mode 100644
index 00000000..3f732ab3
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/OSGI-INF/blueprint/nonrt-ric-api-blueprint.xml
@@ -0,0 +1,45 @@
+
+
+
+
+    
+
+    
+
+    
+
+    
+        
+        
+        
+    
+
+    
+
+
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/org/opendaylight/blueprint/nonrt-ric-api-blueprint.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/org/opendaylight/blueprint/nonrt-ric-api-blueprint.xml
new file mode 100644
index 00000000..3f732ab3
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/org/opendaylight/blueprint/nonrt-ric-api-blueprint.xml
@@ -0,0 +1,45 @@
+
+
+
+
+    
+
+    
+
+    
+
+    
+        
+        
+        
+    
+
+    
+
+
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/test/java/org/onap/sdnc/northbound/NonrtRicApiProviderTest.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/test/java/org/onap/sdnc/northbound/NonrtRicApiProviderTest.java
new file mode 100644
index 00000000..9c40a880
--- /dev/null
+++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/test/java/org/onap/sdnc/northbound/NonrtRicApiProviderTest.java
@@ -0,0 +1,244 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.northbound;
+
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.internal.util.reflection.Whitebox;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.onap.sdnc.northbound.provider.NonrtRicApiProvider;
+import org.onap.sdnc.northbound.restadpter.NearRicUrlProvider;
+import org.onap.sdnc.northbound.restadpter.RestAdapter;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutput;
+import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.oransc.ric.a1med.client.model.PolicyTypeSchema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.ListenableFuture;
+
+/**
+ * This class Tests all the methods in NonrtRicApiProvider
+ * 
+ * @author lathishbabu.ganesan@est.tech
+ *
+ */
+
+@RunWith(MockitoJUnitRunner.class)
+public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
+
+  protected static final Logger LOG = LoggerFactory.getLogger(NonrtRicApiProviderTest.class);
+  protected NonrtRicApiProvider nonrtRicApiProvider;
+  protected DataBroker dataBroker;
+  @Mock
+  protected NotificationPublishService mockNotificationPublishService;
+  @Mock
+  protected RpcProviderRegistry mockRpcProviderRegistry;
+  @Mock
+  private RestAdapter restAdapter;
+  private NearRicUrlProvider nearRicUrlProvider;
+  private static Long policyTypeId = 11L;
+  private static String policyTypeInstanceId = "12";
+
+
+  @Before
+  public void setUp() throws Exception {
+    nearRicUrlProvider = new NearRicUrlProvider();
+    dataBroker = getDataBroker();
+    nonrtRicApiProvider = new NonrtRicApiProvider(dataBroker, mockNotificationPublishService,
+        mockRpcProviderRegistry);
+  }
+
+  @Test
+  public void testCreatePolicyType() throws InterruptedException, ExecutionException {
+    CreatePolicyTypeInputBuilder inputBuilder = new CreatePolicyTypeInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri =
+        nearRicUrlProvider.getPolicyTypeId(String.valueOf(inputBuilder.build().getPolicyTypeId()));
+    Optional createPolicyTyperesponse = null;
+    when(restAdapter.put(eq(uri), anyObject())).thenReturn(createPolicyTyperesponse);
+    ListenableFuture> result =
+        nonrtRicApiProvider.createPolicyType(inputBuilder.build());
+    Assert.assertEquals("Success", result.get().getResult().getStatus());
+  }
+
+  @Test
+  public void testGetPolicyType() throws InterruptedException, ExecutionException {
+    GetPolicyTypeInputBuilder inputBuilder = new GetPolicyTypeInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri =
+        nearRicUrlProvider.getPolicyTypeId(String.valueOf(inputBuilder.build().getPolicyTypeId()));
+    PolicyTypeSchema policyTypeSchema = new PolicyTypeSchema();
+    policyTypeSchema.setName("AdmissionControlPolicy");
+    policyTypeSchema.setCreateSchema("{}");
+    when(restAdapter.get(eq(uri), anyObject())).thenReturn(Optional.of(policyTypeSchema));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getPolicyType(inputBuilder.build());
+    Assert.assertEquals(policyTypeSchema.getName(), result.get().getResult().getName());
+  }
+
+  @Test
+  public void testGetPolicyTypes() throws InterruptedException, ExecutionException {
+    GetPolicyTypesInputBuilder inputBuilder = new GetPolicyTypesInputBuilder();
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getPolicyTypes();
+    List policyTypes = new ArrayList<>();
+    policyTypes.add(20001L);
+    when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(Optional.of(policyTypes));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getPolicyTypes(inputBuilder.build());
+    Assert.assertEquals(policyTypes, result.get().getResult().getPolicyTypeIdList());
+  }
+
+  @Test
+  public void testDeletePolicyType() throws InterruptedException, ExecutionException {
+    DeletePolicyTypeInputBuilder inputBuilder = new DeletePolicyTypeInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri =
+        nearRicUrlProvider.getPolicyTypeId(String.valueOf(inputBuilder.build().getPolicyTypeId()));
+    Optional deletePolicyTyperesponse = null;
+    when(restAdapter.delete(uri)).thenReturn(deletePolicyTyperesponse);
+    ListenableFuture> result =
+        nonrtRicApiProvider.deletePolicyType(inputBuilder.build());
+  }
+
+  @Test
+  public void testCreatePolicyInstance() throws InterruptedException, ExecutionException {
+    CreatePolicyInstanceInputBuilder inputBuilder = new CreatePolicyInstanceInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getPolicyInstanceId(
+        String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+    Optional createPolicyInstanceresponse = null;
+    when(restAdapter.put(eq(uri), anyObject())).thenReturn(createPolicyInstanceresponse);
+    ListenableFuture> result =
+        nonrtRicApiProvider.createPolicyInstance(inputBuilder.build());
+  }
+
+  @Test
+  public void testDeletePolicyInstance() throws InterruptedException, ExecutionException {
+    DeletePolicyInstanceInputBuilder inputBuilder = new DeletePolicyInstanceInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getPolicyInstanceId(
+        String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+    Optional deletePolicyInstanceresponse = null;
+    when(restAdapter.delete(uri)).thenReturn(deletePolicyInstanceresponse);
+    ListenableFuture> result =
+        nonrtRicApiProvider.deletePolicyInstance(inputBuilder.build());
+  }
+
+  @Test
+  public void testGetPolicyInstance() throws InterruptedException, ExecutionException {
+    GetPolicyInstanceInputBuilder inputBuilder = new GetPolicyInstanceInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getPolicyInstanceId(
+        String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+    String getPolicyInstanceresponse = "{}";
+    when(restAdapter.get(eq(uri), eq(String.class)))
+        .thenReturn(Optional.of(getPolicyInstanceresponse));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getPolicyInstance(inputBuilder.build());
+  }
+
+  @Test
+  public void testGetPolicyInstances() throws InterruptedException, ExecutionException {
+    GetPolicyInstancesInputBuilder inputBuilder = new GetPolicyInstancesInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider
+        .getPolicyInstances(String.valueOf(inputBuilder.build().getPolicyTypeId()));
+    List getPolicyInstances = new ArrayList<>();
+    getPolicyInstances.add("3d2157af-6a8f-4a7c-810f-38c2f824bf12");
+    when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(Optional.of(getPolicyInstances));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getPolicyInstances(inputBuilder.build());
+  }
+
+  @Test
+  public void testGetStatus() throws InterruptedException, ExecutionException {
+    GetStatusInputBuilder inputBuilder = new GetStatusInputBuilder();
+    inputBuilder.setPolicyTypeId(policyTypeId);
+    inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(
+        String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+    List getPolicyInstanceIdStatus = new ArrayList<>();
+    getPolicyInstanceIdStatus.add("");
+    when(restAdapter.get(eq(uri), eq(List.class)))
+        .thenReturn(Optional.of(getPolicyInstanceIdStatus));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getStatus(inputBuilder.build());
+    // TODO: Define the proper response message for get policy instance status
+    Assert.assertEquals("Success", result.get().getResult().getStatus());
+  }
+
+  @Test
+  public void testHealthCheck() throws InterruptedException, ExecutionException {
+    GetHealthCheckInputBuilder inputBuilder = new GetHealthCheckInputBuilder();
+    Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+    String uri = nearRicUrlProvider.getHealthCheck();
+    String healthCheckStatus = "";
+    when(restAdapter.get(eq(uri), eq(String.class))).thenReturn(Optional.of(healthCheckStatus));
+    ListenableFuture> result =
+        nonrtRicApiProvider.getHealthCheck(inputBuilder.build());
+    Assert.assertEquals(true, result.get().getResult().isHealthStatus());
+  }
+}
diff --git a/sdnc-a1-controller/northbound/pom.xml b/sdnc-a1-controller/northbound/pom.xml
new file mode 100644
index 00000000..7ee0bd44
--- /dev/null
+++ b/sdnc-a1-controller/northbound/pom.xml
@@ -0,0 +1,103 @@
+
+
+	4.0.0
+
+	
+		org.onap.ccsdk.parent
+		odlparent-lite
+		1.4.3
+		
+	
+
+	org.onap.sdnc.northbound
+	sdnc-northbound
+	1.7.3-SNAPSHOT
+	pom
+
+	sdnc-northbound
+	The SDN-C Northbound APIs repo contains code for northbound API adaptors, typically MD-SAL applications
+	https://wiki.onap.org
+	
+		ONAP
+	
+
+	
+		generic-resource-api
+		vnfapi
+		vnftools
+		features
+		nonrt-ric-api
+	
+
+	
+		scm:git:ssh://git@${onap.git.host}/sdnc-northbound.git
+
+		scm:git:ssh://${onap.git.host}:${onap.git.port}/${onap.git.project}/sdnc-northbound.git
+		${onap.git.protocol}://${onap.git.host}/projects/${onap.git.project}/repos/sdnc-northbound/browse
+	
+	
+		JIRA
+		https://jira.onap.org/
+	
+	
+		Jenkins
+		https://jenkins.onap.org/
+	
+	
+		
+			sdnc-javadoc
+			dav:https://${onap.nexus.host}:${onap.nexus.port}/repository/sdn-c-javadoc/${project.artifactId}/${project.version}
+		
+	
+
+	
+		
+			
+				org.apache.maven.plugins
+				maven-surefire-plugin
+				2.17
+				
+					false
+				
+			
+		
+	
+
+	
+		
+			blackduck
+			
+				
+					blackduck-scan
+				
+			
+			
+					
+						
+							com.blackducksoftware.integration
+							hub-maven-plugin
+							1.4.0
+							false
+							
+								${project.name}
+								${project.basedir}
+							
+							
+								
+									create-bdio-file
+									package
+									
+										createHubOutput
+									
+								
+							
+						
+					
+
+
+			
+
+		
+
+	
+
diff --git a/sdnc-a1-controller/northbound/releases/1.6.0.yaml b/sdnc-a1-controller/northbound/releases/1.6.0.yaml
new file mode 100644
index 00000000..601a1dc5
--- /dev/null
+++ b/sdnc-a1-controller/northbound/releases/1.6.0.yaml
@@ -0,0 +1,5 @@
+---
+distribution_type: 'maven'
+version: '1.6.0'
+project: 'sdnc-northbound'
+log_dir: 'sdnc-northbound-maven-stage-master/159/'
diff --git a/sdnc-a1-controller/northbound/releases/1.6.1.yaml b/sdnc-a1-controller/northbound/releases/1.6.1.yaml
new file mode 100644
index 00000000..10e69cb1
--- /dev/null
+++ b/sdnc-a1-controller/northbound/releases/1.6.1.yaml
@@ -0,0 +1,5 @@
+---
+distribution_type: 'maven'
+version: '1.6.1'
+project: 'sdnc-northbound'
+log_dir: 'sdnc-northbound-maven-stage-master/162/'
diff --git a/sdnc-a1-controller/northbound/releases/1.6.2.yaml b/sdnc-a1-controller/northbound/releases/1.6.2.yaml
new file mode 100644
index 00000000..40c2cd5e
--- /dev/null
+++ b/sdnc-a1-controller/northbound/releases/1.6.2.yaml
@@ -0,0 +1,5 @@
+---
+distribution_type: 'maven'
+version: '1.6.2'
+project: 'sdnc-northbound'
+log_dir: 'sdnc-northbound-maven-stage-master/170/'
diff --git a/sdnc-a1-controller/northbound/releases/1.7.0.yaml b/sdnc-a1-controller/northbound/releases/1.7.0.yaml
new file mode 100644
index 00000000..082efc5c
--- /dev/null
+++ b/sdnc-a1-controller/northbound/releases/1.7.0.yaml
@@ -0,0 +1,5 @@
+---
+distribution_type: 'maven'
+version: '1.7.0'
+project: 'sdnc-northbound'
+log_dir: 'sdnc-northbound-maven-stage-master/183/'
diff --git a/sdnc-a1-controller/northbound/ueb-listener/.gitignore b/sdnc-a1-controller/northbound/ueb-listener/.gitignore
new file mode 100755
index 00000000..1b8a6ba9
--- /dev/null
+++ b/sdnc-a1-controller/northbound/ueb-listener/.gitignore
@@ -0,0 +1,12 @@
+org.eclipse.core.resources.prefs
+.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+maven-eclipse.xml
+*.class
+target/
+MANIFEST.MF
+.DS_STORE
+.metadata
diff --git a/sdnc-a1-controller/northbound/ueb-listener/.sonar/checkstyle.xml b/sdnc-a1-controller/northbound/ueb-listener/.sonar/checkstyle.xml
new file mode 100755
index 00000000..3fa23153
--- /dev/null
+++ b/sdnc-a1-controller/northbound/ueb-listener/.sonar/checkstyle.xml
@@ -0,0 +1 @@
+ 
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/ueb-listener/.sonar/pmd.xml b/sdnc-a1-controller/northbound/ueb-listener/.sonar/pmd.xml
new file mode 100755
index 00000000..80343b3b
--- /dev/null
+++ b/sdnc-a1-controller/northbound/ueb-listener/.sonar/pmd.xml
@@ -0,0 +1,67 @@
+
+
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    2
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    5
+  
+  
+    2
+  
+  
+    3
+  
+  
+    3
+  
+
+
diff --git a/sdnc-a1-controller/northbound/ueb-listener/README.md b/sdnc-a1-controller/northbound/ueb-listener/README.md
new file mode 100644
index 00000000..842ddb16
--- /dev/null
+++ b/sdnc-a1-controller/northbound/ueb-listener/README.md
@@ -0,0 +1,3 @@
+UEB-LISTENER MOVED TO CCSDK!
+
+The code for ueb-listener moved to the ccsdk/sli/northbound repository
diff --git a/sdnc-a1-controller/northbound/version.properties b/sdnc-a1-controller/northbound/version.properties
new file mode 100644
index 00000000..1c99b94e
--- /dev/null
+++ b/sdnc-a1-controller/northbound/version.properties
@@ -0,0 +1,14 @@
+###########################################################
+# Versioning variables
+# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... )
+# because they are used in Jenkins, whose plug-in doesn't support
+
+release_name=1
+sprint_number=7
+feature_revision=3
+
+base_version=${release_name}.${sprint_number}.${feature_revision}
+
+release_version=${base_version}-STAGING
+snapshot_version=${base_version}-SNAPSHOT
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/.gitignore b/sdnc-a1-controller/northbound/vnfapi/.gitignore
new file mode 100644
index 00000000..b73caf31
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/.gitignore
@@ -0,0 +1,34 @@
+#####standard .git ignore entries#####
+
+## IDE Specific Files ##
+org.eclipse.core.resources.prefs
+.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+maven-eclipse.xml
+workspace
+
+## Compilation Files ##
+*.class
+**/target
+target
+target-ide
+MANIFEST.MF
+
+## Misc Ignores (OS specific etc) ##
+bin/
+dist
+*~
+*.ipr
+*.iml
+*.iws
+classes
+out/
+.DS_STORE
+.metadata
+
+## Folders which contain auto generated source code ##
+yang-gen-config
+yang-gen-sal
diff --git a/sdnc-a1-controller/northbound/vnfapi/.sonar/checkstyle.xml b/sdnc-a1-controller/northbound/vnfapi/.sonar/checkstyle.xml
new file mode 100644
index 00000000..3fa23153
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/.sonar/checkstyle.xml
@@ -0,0 +1 @@
+ 
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/vnfapi/.sonar/pmd.xml b/sdnc-a1-controller/northbound/vnfapi/.sonar/pmd.xml
new file mode 100644
index 00000000..80343b3b
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/.sonar/pmd.xml
@@ -0,0 +1,67 @@
+
+
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    2
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    3
+  
+  
+    5
+  
+  
+    2
+  
+  
+    3
+  
+  
+    3
+  
+
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/README.txt b/sdnc-a1-controller/northbound/vnfapi/README.txt
new file mode 100644
index 00000000..f9f4a2ab
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/README.txt
@@ -0,0 +1,35 @@
+======================
+Introduction
+======================
+You have generated an MD-SAL module using the Brocade Archetype. 
+
+* You should be able to successfully run 'mvn clean install' on this project.
+* This will produce a .zip file under the karaf.extension directory which you can deploy using
+Brocade's extension deployment mechanism.
+
+======================
+Next Steps:
+======================
+* run a 'mvn clean install' if you haven't already. This will generate some code from the yang models.
+* Modify the model yang file under the model project.
+* Follow the comments in the generated provider class to wire your new provider into the generated 
+code.
+* Modify the generated provider model to respond to and handle the yang model. Depending on what
+you added to your model you may need to inherit additional interfaces or make other changes to
+the provider model.
+
+======================
+Generated Bundles:
+======================
+* model
+    - Provides the yang model for your application. This is your primary northbound interface.
+* provider
+    - Provides a template implementation for a provider to respond to your yang model.
+* features
+    - Defines a karaf feature. If you add dependencies on third-party bundles then you will need to
+      modify the features.xml to list out the dependencies.
+* karaf.extension
+    - Bundles all of the jars and third party dependencies (minus ODL dependencies) into a single
+      .zip file with the necessary configuration files to work correctly with the Brocade extension
+      mechanism.
+      
diff --git a/sdnc-a1-controller/northbound/vnfapi/features/features-vnfapi/pom.xml b/sdnc-a1-controller/northbound/vnfapi/features/features-vnfapi/pom.xml
new file mode 100644
index 00000000..999b1e32
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/features/features-vnfapi/pom.xml
@@ -0,0 +1,29 @@
+
+
+	4.0.0
+
+	
+		org.onap.ccsdk.parent
+		feature-repo-parent
+		1.4.3
+		
+	
+
+	org.onap.sdnc.northbound
+	features-vnfapi
+	1.7.3-SNAPSHOT
+	feature
+
+	sdnc-northbound :: vnfapi :: ${project.artifactId}
+
+	
+		
+			${project.groupId}
+			sdnc-vnfapi
+			${project.version}
+			xml
+			features
+		
+
+	
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/features/pom.xml b/sdnc-a1-controller/northbound/vnfapi/features/pom.xml
new file mode 100644
index 00000000..2209efd2
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/features/pom.xml
@@ -0,0 +1,23 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        odlparent-lite
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    vnfapi-features
+    1.7.3-SNAPSHOT
+    pom
+
+    sdnc-northbound :: vnfapi :: ${project.artifactId}
+
+    
+        sdnc-vnfapi
+        features-vnfapi
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/features/sdnc-vnfapi/pom.xml b/sdnc-a1-controller/northbound/vnfapi/features/sdnc-vnfapi/pom.xml
new file mode 100644
index 00000000..01dc2f94
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/features/sdnc-vnfapi/pom.xml
@@ -0,0 +1,45 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        single-feature-parent
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    sdnc-vnfapi
+    1.7.3-SNAPSHOT
+    feature
+
+    sdnc-northbound :: vnfapi :: ${project.artifactId}
+
+    
+        
+            org.opendaylight.controller
+            odl-mdsal-broker
+            xml
+            features
+        
+        
+            org.onap.ccsdk.sli.core
+            ccsdk-sli
+            ${ccsdk.sli.core.version}
+            xml
+            features
+        
+        
+            ${project.groupId}
+            vnfapi-model
+            ${project.version}
+        
+        
+            ${project.groupId}
+            vnfapi-provider
+            ${project.version}
+        
+
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/installer/pom.xml b/sdnc-a1-controller/northbound/vnfapi/installer/pom.xml
new file mode 100755
index 00000000..3947d702
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/installer/pom.xml
@@ -0,0 +1,142 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        odlparent-lite
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    vnfapi-installer
+    1.7.3-SNAPSHOT
+    pom
+
+    sdnc-northbound :: vnfapi :: ${project.artifactId}
+
+    
+        sdnc-vnfapi
+        ${application.name}
+        mvn:org.onap.sdnc.northbound/${application.name}/${project.version}/xml/features
+        false
+    
+
+    
+
+        
+            ${project.groupId}
+            ${application.name}
+            ${project.version}
+            xml
+            features
+            
+                
+                    *
+                    *
+                
+            
+        
+
+        
+            ${project.groupId}
+            vnfapi-provider
+            ${project.version}
+        
+
+
+    
+
+    
+        
+            
+                maven-assembly-plugin
+                2.6
+                
+                    
+                        maven-repo-zip
+                        
+                            single
+                        
+                        package
+                        
+                            true
+                            stage/${application.name}-${project.version}
+                            
+                                src/assembly/assemble_mvnrepo_zip.xml
+                            
+                        
+                    
+                    
+                        installer-zip
+                        
+                            single
+                        
+                        package
+                        
+                            true
+                            ${application.name}-${project.version}-installer
+                            
+                                src/assembly/assemble_installer_zip.xml
+                            
+                            false
+                        
+                    
+                
+            
+            
+                org.apache.maven.plugins
+                maven-dependency-plugin
+                
+                    
+                        copy-dependencies
+                        
+                            copy-dependencies
+                        
+                        prepare-package
+                        
+                            false
+                            ${project.build.directory}/assembly/system
+                            false
+                            true
+                            true
+                            true
+                            false
+                            false
+                            org.onap.sdnc.northbound
+                            provided
+                        
+                    
+                
+            
+            
+                maven-resources-plugin
+                2.6
+                
+                    
+                        copy-version
+                        
+                            copy-resources
+                        
+                        validate
+                        
+                            ${basedir}/target/stage
+                            
+                                
+                                    src/main/resources/scripts
+                                    
+                                        install-feature.sh
+                                    
+                                    true
+                                
+                            
+                        
+                    
+
+                
+            
+
+        
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_installer_zip.xml b/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_installer_zip.xml
new file mode 100644
index 00000000..13156fda
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_installer_zip.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+    installer_zip
+    
+        zip
+    
+
+    
+    false
+
+    
+        
+            target/stage/
+            ${application.name}
+            755
+            
+                *.sh
+            
+        
+        
+            target/stage/
+            ${application.name}
+            644
+            
+                *.sh
+            
+        
+    
+
+
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_mvnrepo_zip.xml b/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_mvnrepo_zip.xml
new file mode 100644
index 00000000..05f52597
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+    repo
+    
+        zip
+    
+
+    
+    false
+
+    
+        
+            target/assembly/
+            .
+            
+            
+        
+    
+
+
+
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/installer/src/main/resources/scripts/install-feature.sh b/sdnc-a1-controller/northbound/vnfapi/installer/src/main/resources/scripts/install-feature.sh
new file mode 100644
index 00000000..d5f620f1
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/installer/src/main/resources/scripts/install-feature.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# openECOMP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# 							reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
+ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client}
+INSTALLERDIR=$(dirname $0)
+
+REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip
+
+if [ -f ${REPOZIP} ]
+then
+	unzip -d ${ODL_HOME} ${REPOZIP}
+else
+	echo "ERROR : repo zip ($REPOZIP) not found"
+	exit 1
+fi
+
+${ODL_KARAF_CLIENT} feature:repo-add ${features.repositories}
+${ODL_KARAF_CLIENT} feature:install ${features.boot}
diff --git a/sdnc-a1-controller/northbound/vnfapi/model/pom.xml b/sdnc-a1-controller/northbound/vnfapi/model/pom.xml
new file mode 100644
index 00000000..43384d10
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/model/pom.xml
@@ -0,0 +1,27 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        binding-parent
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    vnfapi-model
+    1.7.3-SNAPSHOT
+    bundle
+
+    sdnc-northbound :: vnfapi :: ${project.artifactId}
+
+    
+        
+            org.opendaylight.mdsal.binding.model.ietf
+            rfc6991
+        
+
+        
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/model/scripts/python/yang2props.py b/sdnc-a1-controller/northbound/vnfapi/model/scripts/python/yang2props.py
new file mode 100755
index 00000000..559d31b8
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/model/scripts/python/yang2props.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+import re
+import sys
+
+
+# Convert word from foo-bar to FooBar
+# words begining with a digit will be converted to _digit
+def to_enum(s):
+    if s[0].isdigit():
+        s = "_" + s
+    else:
+        s = s[0].upper() + s[1:]
+    return re.sub(r'(?!^)-([a-zA-Z])', lambda m: m.group(1).upper(), s)
+
+leaf = ""
+val = ""
+li = []
+
+if len(sys.argv) < 3:
+     print 'yang2props.py  '
+     sys.exit(2)
+
+with open(sys.argv[1], "r") as ins:
+    for line in ins:
+        # if we see a leaf save the name for later
+        if "leaf " in line:
+	    match = re.search(r'leaf (\S+)', line)
+	    if match:
+                 leaf = match.group(1)
+      
+        # if we see enum convert the value to enum format and see if it changed
+        # if the value is different write a property entry
+        if "enum " in line:
+	    match = re.search(r'enum "(\S+)";', line)
+	    if match:
+                val = match.group(1)
+            	enum = to_enum(val)
+
+                # see if converting to enum changed the string
+		if val != enum:
+                    property = "yang."+leaf+"."+enum+"="+val
+		    if property not in li:
+		        li.append( property)
+
+
+# Open output file
+fo = open(sys.argv[2], "wb")
+fo.write("# yang conversion properties \n")
+fo.write("# used to convert Enum back to the original yang value \n")
+fo.write("\n".join(li))
+fo.write("\n")
+
+# Close opend file
+fo.close()
+
+   
diff --git a/sdnc-a1-controller/northbound/vnfapi/model/src/main/resources/vnf-api.20150720.json b/sdnc-a1-controller/northbound/vnfapi/model/src/main/resources/vnf-api.20150720.json
new file mode 100644
index 00000000..5319ed34
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/model/src/main/resources/vnf-api.20150720.json
@@ -0,0 +1,35918 @@
+{
+  "swagger": "2.0",
+  "info": {
+    "version": "1.0.0"
+  },
+  "basePath": "/restconf",
+  "paths": {
+    "/config": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)preload-vnfs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnfs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnfs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)preload-vnf-instances",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnf-instances-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instances",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnf-instances-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)preload-vf-modules",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vf-modules-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-modules",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vf-modules-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)VNF-API_modulePOST"
+            }
+          }
+        },
+        "description": "Defines API interface for VNF Orchestration",
+        "operationId": "POST-VNF-API_module"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-preload-vf-modules"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vf-modules"
+            }
+          }
+        },
+        "operationId": "GET-preload-vf-modules"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vf-module-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vf-modulesPOST"
+            }
+          }
+        },
+        "operationId": "POST-preload-vf-modules"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)preload-vf-modules",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vf-modules-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vf-modules-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-preload-vf-modules"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-preload-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-preload-list"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-preload-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-preload-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-preload-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-preload-list"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-preload-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-preload-data"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-preload-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-preload-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-preload-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-preload-data"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-topology-information"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vf-module-identifiers": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-identifiers"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-identifiers"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-identifiers"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-identifiers"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:preload-vf-modules/vf-module-preload-list/{vf-module-name}/{vf-module-model-id}/vf-module-preload-data/vf-module-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vf-module-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vf-module-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-preload-vnf-instances"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vnf-instances"
+            }
+          }
+        },
+        "operationId": "GET-preload-vnf-instances"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vnf-instancesPOST"
+            }
+          }
+        },
+        "operationId": "POST-preload-vnf-instances"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)preload-vnf-instances",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnf-instances-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnf-instances-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-preload-vnf-instances"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-preload-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-preload-list"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-preload-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-preload-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-preload-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-preload-list"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-preload-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-preload-data"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-preload-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-preload-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-preload-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-preload-data"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-topology-information"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/service-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-information"
+            }
+          }
+        },
+        "operationId": "GET-service-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-information"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-instance-identifiers": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-identifiers"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-identifiers"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-identifiers"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-identifiers"
+      }
+    },
+    "/config/VNF-API:preload-vnf-instances/vnf-instance-preload-list/{vnf-instance-name}/{vnf-model-id}/vnf-instance-preload-data/vnf-instance-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vnf-instance-name, aka generic-vnf-name",
+            "in": "path",
+            "name": "vnf-instance-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vnf-model-id, aka generic-vnf-type",
+            "in": "path",
+            "name": "vnf-model-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:preload-vnfs": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-preload-vnfs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vnfs"
+            }
+          }
+        },
+        "operationId": "GET-preload-vnfs"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vnf-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-vnfsPOST"
+            }
+          }
+        },
+        "operationId": "POST-preload-vnfs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)preload-vnfs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnfs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)preload-vnfs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-preload-vnfs"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-preload-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-preload-list"
+            }
+          }
+        },
+        "operationId": "GET-vnf-preload-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-preload-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-preload-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-preload-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-preload-list"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-preload-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-data"
+            }
+          }
+        },
+        "operationId": "GET-preload-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)preload-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-preload-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)preload-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-preload-data"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-network-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-policy",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vpn-bindings",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)provider-network-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)route-table-reference",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-network-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-topology-information"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/network-policy/{network-policy-fqdn}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "network-policy-fqdn",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-policy"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "network-policy-fqdn",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-policy"
+            }
+          }
+        },
+        "operationId": "GET-network-policy"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "network-policy-fqdn",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-policy",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-policy"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/network-topology-identifier": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-topology-identifier"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-topology-identifier"
+            }
+          }
+        },
+        "operationId": "GET-network-topology-identifier"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-topology-identifier"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/provider-network-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-provider-network-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)provider-network-information"
+            }
+          }
+        },
+        "operationId": "GET-provider-network-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)provider-network-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-provider-network-information"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/route-table-reference/{route-table-reference-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-table-reference-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-route-table-reference"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-table-reference-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)route-table-reference"
+            }
+          }
+        },
+        "operationId": "GET-route-table-reference"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-table-reference-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)route-table-reference",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-route-table-reference"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/subnets/{start-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)subnets"
+            }
+          }
+        },
+        "operationId": "GET-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)host-routes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-subnets"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/subnets/{start-address}/host-routes/{route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-host-routes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)host-routes"
+            }
+          }
+        },
+        "operationId": "GET-host-routes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "start-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)host-routes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-host-routes"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/network-topology-information/vpn-bindings/{vpn-binding-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vpn-binding-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vpn-bindings"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vpn-binding-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vpn-bindings"
+            }
+          }
+        },
+        "operationId": "GET-vpn-bindings"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vpn-binding-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vpn-bindings",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vpn-bindings"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-topology-information"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:preload-vnfs/vnf-preload-list/{vnf-name}/{vnf-type}/preload-data/vnf-topology-information/vnf-topology-identifier": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-topology-identifier"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-identifier"
+            }
+          }
+        },
+        "operationId": "GET-vnf-topology-identifier"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-name",
+            "in": "path",
+            "name": "vnf-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-type",
+            "in": "path",
+            "name": "vnf-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-topology-identifier"
+      }
+    },
+    "/config/VNF-API:vf-modules": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-modules"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-modules"
+            }
+          }
+        },
+        "operationId": "GET-vf-modules"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vf-module-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-modulesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-modules"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)vf-modules",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vf-modules-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vf-modules-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-modules"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-list"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-list"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/service-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-status"
+            }
+          }
+        },
+        "operationId": "GET-service-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-status"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-service-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-service-data"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-service-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-service-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-service-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-service-data"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)request-information"
+            }
+          }
+        },
+        "operationId": "GET-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-request-information"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/sdnc-request-header": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sdnc-request-header"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sdnc-request-header"
+            }
+          }
+        },
+        "operationId": "GET-sdnc-request-header"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sdnc-request-header"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/service-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-information"
+            }
+          }
+        },
+        "operationId": "GET-service-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-information"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-request-information"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-request-information"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vf-module-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-topology-information"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vf-module-identifiers": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-identifiers"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-identifiers"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-identifiers"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-identifiers"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:vf-modules/vf-module-list/{vf-module-id}/vf-module-service-data/vf-module-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:vnf-instances": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instances"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instances"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instances"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instancesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instances"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)vnf-instances",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnf-instances-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnf-instances-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instances"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-list"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-list"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/service-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-status"
+            }
+          }
+        },
+        "operationId": "GET-service-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-status"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-service-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-service-data"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-service-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vf-module-relationship-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-service-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-service-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-service-data"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)request-information"
+            }
+          }
+        },
+        "operationId": "GET-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-request-information"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/sdnc-request-header": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sdnc-request-header"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sdnc-request-header"
+            }
+          }
+        },
+        "operationId": "GET-sdnc-request-header"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sdnc-request-header"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/service-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-information"
+            }
+          }
+        },
+        "operationId": "GET-service-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-information"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vf-module-relationship-list/{vf-module-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vf-module-relationship-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vf-module-relationship-list"
+            }
+          }
+        },
+        "operationId": "GET-vf-module-relationship-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vf-module-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vf-module-relationship-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vf-module-relationship-list"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-request-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-request-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-request-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-request-information"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-request-information/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "List of vnf networks to override preload",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "List of vnf networks to override preload",
+        "operationId": "GET-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "List of vnf networks to override preload",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-instance-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-instance-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-topology-information"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/service-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-information"
+            }
+          }
+        },
+        "operationId": "GET-service-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-information"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-instance-identifiers": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-instance-identifiers"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-instance-identifiers"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instance-identifiers"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-instance-identifiers",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-instance-identifiers"
+      }
+    },
+    "/config/VNF-API:vnf-instances/vnf-instance-list/{vnf-instance-id}/vnf-instance-service-data/vnf-instance-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "generic-vnf-id",
+            "in": "path",
+            "name": "vnf-instance-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:vnfs": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfs"
+            }
+          }
+        },
+        "operationId": "GET-vnfs"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "**(config)vnf-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "(config)vnfs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnfs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API(config)vnfs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfs"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-list"
+            }
+          }
+        },
+        "operationId": "GET-vnf-list"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-listPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-list"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-data"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-data"
+            }
+          }
+        },
+        "operationId": "GET-service-data"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-dataPOST"
+            }
+          }
+        },
+        "operationId": "POST-service-data"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-data",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-data"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/oper-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-oper-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)oper-status"
+            }
+          }
+        },
+        "operationId": "GET-oper-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)oper-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-oper-status"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)request-information"
+            }
+          }
+        },
+        "operationId": "GET-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-request-information"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/sdnc-request-header": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sdnc-request-header"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sdnc-request-header"
+            }
+          }
+        },
+        "operationId": "GET-sdnc-request-header"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sdnc-request-header",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sdnc-request-header"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/service-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-information"
+            }
+          }
+        },
+        "operationId": "GET-service-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-information"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-request-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-request-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-request-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-request-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-request-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-request-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-request-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-request-information"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-request-information/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-topology-information"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-information"
+            }
+          }
+        },
+        "operationId": "GET-vnf-topology-information"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-informationPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-topology-information"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-topology-information",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-topology-information"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-assignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignments"
+            }
+          }
+        },
+        "operationId": "GET-vnf-assignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-assignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-assignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-assignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-assignments"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/availability-zones/{availability-zone}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-availability-zones"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)availability-zones"
+            }
+          }
+        },
+        "operationId": "GET-availability-zones"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Openstack availability zone name or UUID",
+            "in": "path",
+            "name": "availability-zone",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)availability-zones",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-availability-zones"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vnf-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vnf-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vnf-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vnf-networks"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-networks/{network-role}/sriov-vlan-filter-list/{sriov-vlan-filter}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-sriov-vlan-filter-list"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)sriov-vlan-filter-list"
+            }
+          }
+        },
+        "operationId": "GET-sriov-vlan-filter-list"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "A Network Role to which a VNF must connect",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "sriov-vlan-filter",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)sriov-vlan-filter-list",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-sriov-vlan-filter-list"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-vms"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vms"
+            }
+          }
+        },
+        "operationId": "GET-vnf-vms"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-vmsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnf-vms"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-vms",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-vms"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vm-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-names"
+            }
+          }
+        },
+        "operationId": "GET-vm-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vm-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vm-names"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-names"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-names"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-names"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-namesPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-names"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-names",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-names"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networks"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-networksPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-networks"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnets"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnets"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnets"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnetsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-subnets"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnets",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnets"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-ipassignments"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignments"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-ipassignments"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-ipassignmentsPOST"
+            }
+          }
+        },
+        "operationId": "POST-vnfc-ipassignments"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-ipassignments",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-ipassignments"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-names/{vm-name}/vnfc-names/{vnfc-name}/vnfc-networks/{vnfc-network-role}/vnfc-subnets/{vnfc-subnet-role}/vnfc-ipassignments/{vnfc-address-family}/vnfc-subnet-ips/{vnfc-client-key}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnfc-subnet-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnfc-subnet-ips"
+            }
+          }
+        },
+        "operationId": "GET-vnfc-subnet-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-subnet-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "Subnet Version tells if this is IpV4 or IpV6",
+            "in": "path",
+            "name": "vnfc-address-family",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vnfc-client-key",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnfc-subnet-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnfc-subnet-ips"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "description": "Network List",
+        "operationId": "DELETE-vm-networks"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networks"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "GET-vm-networks"
+      },
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          },
+          {
+            "in": "body",
+            "name": "**(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vm-networksPOST"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "POST-vm-networks"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vm-networks",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP"
+            }
+          }
+        },
+        "description": "Network List",
+        "operationId": "PUT-vm-networks"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/interface-route-prefixes/{interface-route-prefix}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-interface-route-prefixes"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)interface-route-prefixes"
+            }
+          }
+        },
+        "operationId": "GET-interface-route-prefixes"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes",
+            "in": "path",
+            "name": "interface-route-prefix",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)interface-route-prefixes",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-interface-route-prefixes"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips-v6/{ip-address-ipv6}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips-v6"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips-v6"
+            }
+          }
+        },
+        "operationId": "GET-network-ips-v6"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv6 addresses on a network",
+            "in": "path",
+            "name": "ip-address-ipv6",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips-v6",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips-v6"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-ips/{ip-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-ips"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-ips"
+            }
+          }
+        },
+        "operationId": "GET-network-ips"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of assigned ipv4 addresses on a network",
+            "in": "path",
+            "name": "ip-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-ips",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-ips"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-assignments/vnf-vms/{vm-type}/vm-networks/{network-role}/network-macs/{mac-address}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-network-macs"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)network-macs"
+            }
+          }
+        },
+        "operationId": "GET-network-macs"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "path",
+            "name": "vm-type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF",
+            "in": "path",
+            "name": "network-role",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "List of network assignments for this VM (one per network)",
+            "in": "path",
+            "name": "mac-address",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)network-macs",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-network-macs"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-parameters/{vnf-parameter-name}": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-parameters"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-parameters"
+            }
+          }
+        },
+        "operationId": "GET-vnf-parameters"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "description": "The name of an arbitrary instance-specific vnf-parameters",
+            "in": "path",
+            "name": "vnf-parameter-name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-parameters",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-parameters"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data/vnf-topology-information/vnf-topology-identifier": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-vnf-topology-identifier"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)vnf-topology-identifier"
+            }
+          }
+        },
+        "operationId": "GET-vnf-topology-identifier"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)vnf-topology-identifier",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-vnf-topology-identifier"
+      }
+    },
+    "/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-status": {
+      "delete": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified"
+          }
+        },
+        "operationId": "DELETE-service-status"
+      },
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(config)service-status"
+            }
+          }
+        },
+        "operationId": "GET-service-status"
+      },
+      "put": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "description": "vf-module-id",
+            "in": "path",
+            "name": "vnf-id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "in": "body",
+            "name": "(config)service-status",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status-TOP"
+            }
+          }
+        },
+        "operationId": "PUT-service-status"
+      }
+    },
+    "/operational/VNF-API:preload-vf-modules": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)preload-vf-modules"
+            }
+          }
+        },
+        "operationId": "GET-preload-vf-modules"
+      }
+    },
+    "/operational/VNF-API:preload-vnf-instances": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)preload-vnf-instances"
+            }
+          }
+        },
+        "operationId": "GET-preload-vnf-instances"
+      }
+    },
+    "/operational/VNF-API:preload-vnfs": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)preload-vnfs"
+            }
+          }
+        },
+        "operationId": "GET-preload-vnfs"
+      }
+    },
+    "/operational/VNF-API:vf-modules": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)vf-modules"
+            }
+          }
+        },
+        "operationId": "GET-vf-modules"
+      }
+    },
+    "/operational/VNF-API:vnf-instances": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)vnf-instances"
+            }
+          }
+        },
+        "operationId": "GET-vnf-instances"
+      }
+    },
+    "/operational/VNF-API:vnfs": {
+      "get": {
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(operational)vnfs"
+            }
+          }
+        },
+        "operationId": "GET-vnfs"
+      }
+    },
+    "/operations/VNF-API:network-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(network-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(network-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "network-topology-operation"
+      }
+    },
+    "/operations/VNF-API:preload-network-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(preload-network-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(preload-network-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "preload-network-topology-operation"
+      }
+    },
+    "/operations/VNF-API:preload-vf-module-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(preload-vf-module-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(preload-vf-module-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "preload-vf-module-topology-operation"
+      }
+    },
+    "/operations/VNF-API:preload-vnf-instance-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(preload-vnf-instance-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(preload-vnf-instance-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "preload-vnf-instance-topology-operation"
+      }
+    },
+    "/operations/VNF-API:preload-vnf-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(preload-vnf-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(preload-vnf-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "preload-vnf-topology-operation"
+      }
+    },
+    "/operations/VNF-API:vf-module-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(vf-module-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(vf-module-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "vf-module-topology-operation"
+      }
+    },
+    "/operations/VNF-API:vnf-instance-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(vnf-instance-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(vnf-instance-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "vnf-instance-topology-operation"
+      }
+    },
+    "/operations/VNF-API:vnf-topology-operation": {
+      "post": {
+        "consumes": [
+          "application/json",
+          "application/xml"
+        ],
+        "produces": [
+          "application/json",
+          "application/xml"
+        ],
+        "parameters": [
+          {
+            "in": "body",
+            "name": "body",
+            "required": false,
+            "schema": {
+              "$ref": "#/definitions/(vnf-topology-operation)input-TOP"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "No response was specified",
+            "schema": {
+              "$ref": "#/definitions/(vnf-topology-operation)output-TOP"
+            }
+          }
+        },
+        "operationId": "vnf-topology-operation"
+      }
+    }
+  },
+  "definitions": {
+    "(config)VNF-API_modulePOST": {
+      "properties": {
+        "preload-vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vf-modules"
+          },
+          "type": "object"
+        },
+        "preload-vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vnf-instances"
+          },
+          "type": "object"
+        },
+        "preload-vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vnfs"
+          },
+          "type": "object"
+        },
+        "vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-modules"
+          },
+          "type": "object"
+        },
+        "vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instances"
+          },
+          "type": "object"
+        },
+        "vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnfs"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)availability-zonesPOST": {
+      "properties": {
+        "availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "(config)host-routesPOST": {
+      "properties": {
+        "next-hop": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Could be ip-address or hostname or service-instance"
+        },
+        "route-prefix": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)interface-route-prefixesPOST": {
+      "properties": {
+        "interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-informationPOST": {
+      "properties": {
+        "network-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-ips-v6POST": {
+      "properties": {
+        "ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-ipsPOST": {
+      "properties": {
+        "ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-macsPOST": {
+      "properties": {
+        "mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-policyPOST": {
+      "properties": {
+        "network-policy-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-policy-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-request-informationPOST": {
+      "properties": {
+        "aic-clli": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "network-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-topology-identifierPOST": {
+      "properties": {
+        "network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-technology": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "network-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)network-topology-informationPOST": {
+      "properties": {
+        "network-policy": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-policy"
+          },
+          "type": "array"
+        },
+        "network-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-topology-identifier"
+          },
+          "type": "object"
+        },
+        "provider-network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)provider-network-information"
+          },
+          "type": "object"
+        },
+        "route-table-reference": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)route-table-reference"
+          },
+          "type": "array"
+        },
+        "subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)subnets"
+          },
+          "type": "array"
+        },
+        "vpn-bindings": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)vpn-bindings"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)oper-statusPOST": {
+      "properties": {
+        "create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)preload-dataPOST": {
+      "properties": {
+        "network-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information"
+          },
+          "type": "object"
+        },
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)preload-vf-modulesPOST": {
+      "properties": {
+        "vf-module-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)preload-vnf-instancesPOST": {
+      "properties": {
+        "vnf-instance-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)preload-vnfsPOST": {
+      "properties": {
+        "vnf-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)provider-network-informationPOST": {
+      "properties": {
+        "is-external-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "is-provider-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "is-shared-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "physical-network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)request-informationPOST": {
+      "properties": {
+        "notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "order-number": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "order-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "request-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "request-sub-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "source": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)route-table-referencePOST": {
+      "properties": {
+        "route-table-reference-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "route-table-reference-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)sdnc-request-headerPOST": {
+      "properties": {
+        "svc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "svc-notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)service-dataPOST": {
+      "properties": {
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "vnf-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information"
+          },
+          "type": "object"
+        },
+        "vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)service-informationPOST": {
+      "properties": {
+        "service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "(config)service-statusPOST": {
+      "properties": {
+        "final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "request-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "response-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "rpc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "rpc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnfsdn-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnfsdn-subaction": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)sriov-vlan-filter-listPOST": {
+      "properties": {
+        "sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)subnetsPOST": {
+      "properties": {
+        "addr-from-start": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Default is N"
+        },
+        "cidr-mask": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "dhcp-enabled": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "dhcp-end-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "dhcp-start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "gateway-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "host-routes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information/subnets(config)host-routes"
+          },
+          "type": "array"
+        },
+        "ip-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "subnet-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-identifiersPOST": {
+      "properties": {
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-informationPOST": {
+      "properties": {
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-listPOST": {
+      "properties": {
+        "service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "vf-module-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "required": [
+        "vf-module-id"
+      ],
+      "type": "object"
+    },
+    "(config)vf-module-preload-dataPOST": {
+      "properties": {
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-preload-listPOST": {
+      "properties": {
+        "vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "vf-module-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-relationship-listPOST": {
+      "properties": {
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-request-informationPOST": {
+      "properties": {
+        "aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-service-dataPOST": {
+      "properties": {
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "vf-module-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information"
+          },
+          "type": "object"
+        },
+        "vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-module-topology-informationPOST": {
+      "properties": {
+        "vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        },
+        "vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vf-modulesPOST": {
+      "properties": {
+        "vf-module-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vm-namesPOST": {
+      "properties": {
+        "vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vm-networksPOST": {
+      "properties": {
+        "floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-assignmentsPOST": {
+      "properties": {
+        "availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "vnf-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-informationPOST": {
+      "properties": {
+        "vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "vnf-service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-identifiersPOST": {
+      "properties": {
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-informationPOST": {
+      "properties": {
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-id"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-listPOST": {
+      "properties": {
+        "service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic-vnf-id"
+        },
+        "vnf-instance-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "required": [
+        "vnf-instance-id"
+      ],
+      "type": "object"
+    },
+    "(config)vnf-instance-preload-dataPOST": {
+      "properties": {
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-preload-listPOST": {
+      "properties": {
+        "vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-name, aka generic-vnf-name"
+        },
+        "vnf-instance-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data"
+          },
+          "type": "object"
+        },
+        "vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-model-id, aka generic-vnf-type"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-request-informationPOST": {
+      "properties": {
+        "aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-service-dataPOST": {
+      "properties": {
+        "oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "vf-module-relationship-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list"
+          },
+          "type": "array"
+        },
+        "vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-id"
+        },
+        "vnf-instance-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information"
+          },
+          "type": "object"
+        },
+        "vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instance-topology-informationPOST": {
+      "properties": {
+        "service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        },
+        "vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        },
+        "vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-instancesPOST": {
+      "properties": {
+        "vnf-instance-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-listPOST": {
+      "properties": {
+        "service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data"
+          },
+          "type": "object"
+        },
+        "service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "required": [
+        "vnf-id"
+      ],
+      "type": "object"
+    },
+    "(config)vnf-networksPOST": {
+      "properties": {
+        "contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-parametersPOST": {
+      "properties": {
+        "vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-preload-listPOST": {
+      "properties": {
+        "preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data"
+          },
+          "type": "object"
+        },
+        "vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-request-informationPOST": {
+      "properties": {
+        "aic-clli": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf-id"
+        },
+        "generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf name"
+        },
+        "generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf type"
+        },
+        "model-customization-uuid": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "customized resource, i.e. vf-module, for use within a given service"
+        },
+        "tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "use-preload": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "orchestrate vf-module with full preload data or TOSCA lookup plus EIPAM automation"
+        },
+        "vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "vnf-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "vnf-request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-topology-identifierPOST": {
+      "properties": {
+        "generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-topology-informationPOST": {
+      "properties": {
+        "vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        },
+        "vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnf-vmsPOST": {
+      "properties": {
+        "vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "vm-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfc-ipassignmentsPOST": {
+      "properties": {
+        "vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfc-namesPOST": {
+      "properties": {
+        "vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfc-networksPOST": {
+      "properties": {
+        "vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfc-subnet-ipsPOST": {
+      "properties": {
+        "ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfc-subnetsPOST": {
+      "properties": {
+        "vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vnfsPOST": {
+      "properties": {
+        "vnf-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "(config)vpn-bindingsPOST": {
+      "properties": {
+        "global-route-target": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "vpn-binding-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(network-topology-operation)input": {
+      "properties": {
+        "VNF-API:network-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(network-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(network-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(network-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(network-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(network-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-network-topology-operation)input": {
+      "properties": {
+        "VNF-API:network-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-topology-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-network-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(preload-network-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-network-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-network-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(preload-network-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vf-module-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vf-module-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(preload-vf-module-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vf-module-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vf-module-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(preload-vf-module-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-instance-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-instance-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(preload-vnf-instance-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-instance-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-instance-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(preload-vnf-instance-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(preload-vnf-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "(preload-vnf-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(preload-vnf-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vf-module-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vf-module-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(vf-module-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vf-module-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vf-module-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vf-module-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(vf-module-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-instance-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-instance-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(vnf-instance-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-instance-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-instance-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(vnf-instance-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-topology-operation)input": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-topology-operation)input-TOP": {
+      "properties": {
+        "VNF-API:input": {
+          "items": {
+            "$ref": "#/definitions/(vnf-topology-operation)input"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-topology-operation)output": {
+      "properties": {
+        "VNF-API:ack-final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "(vnf-topology-operation)output-TOP": {
+      "properties": {
+        "VNF-API:output": {
+          "items": {
+            "$ref": "#/definitions/(vnf-topology-operation)output"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-information": {
+      "properties": {
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-information-TOP": {
+      "properties": {
+        "VNF-API:network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-request-information": {
+      "properties": {
+        "VNF-API:aic-clli": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-request-information-TOP": {
+      "properties": {
+        "VNF-API:network-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-topology-information": {
+      "properties": {
+        "VNF-API:network-policy": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-policy"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-topology-identifier"
+          },
+          "type": "object"
+        },
+        "VNF-API:provider-network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)provider-network-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:route-table-reference": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)route-table-reference"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)subnets"
+          },
+          "type": "array"
+        },
+        "VNF-API:vpn-bindings": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)vpn-bindings"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)network-topology-information-TOP": {
+      "properties": {
+        "VNF-API:network-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)network-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vf-modules": {
+      "properties": {
+        "VNF-API:vf-module-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vf-modules-TOP": {
+      "properties": {
+        "VNF-API:preload-vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vf-modules"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vnf-instances": {
+      "properties": {
+        "VNF-API:vnf-instance-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vnf-instances-TOP": {
+      "properties": {
+        "VNF-API:preload-vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vnf-instances"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vnfs": {
+      "properties": {
+        "VNF-API:vnf-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)preload-vnfs-TOP": {
+      "properties": {
+        "VNF-API:preload-vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)preload-vnfs"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)request-information": {
+      "properties": {
+        "VNF-API:notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-number": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-sub-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:source": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)request-information-TOP": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)sdnc-request-header": {
+      "properties": {
+        "VNF-API:svc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)sdnc-request-header-TOP": {
+      "properties": {
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)sdnc-request-header"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-information": {
+      "properties": {
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-request-information": {
+      "properties": {
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-request-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-topology-information": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-module-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-modules": {
+      "properties": {
+        "VNF-API:vf-module-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vf-modules-TOP": {
+      "properties": {
+        "VNF-API:vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vf-modules"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-information": {
+      "properties": {
+        "VNF-API:vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vnf-service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-information": {
+      "properties": {
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-request-information": {
+      "properties": {
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "List of vnf networks to override preload",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-request-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-topology-information": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instance-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instances": {
+      "properties": {
+        "VNF-API:vnf-instance-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-instances-TOP": {
+      "properties": {
+        "VNF-API:vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-instances"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-request-information": {
+      "properties": {
+        "VNF-API:aic-clli": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf-id"
+        },
+        "VNF-API:generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf name"
+        },
+        "VNF-API:generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf type"
+        },
+        "VNF-API:model-customization-uuid": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "customized resource, i.e. vf-module, for use within a given service"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:use-preload": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "orchestrate vf-module with full preload data or TOSCA lookup plus EIPAM automation"
+        },
+        "VNF-API:vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-request-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-topology-information": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnf-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnfs": {
+      "properties": {
+        "VNF-API:vnf-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(config)vnfs-TOP": {
+      "properties": {
+        "VNF-API:vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(config)vnfs"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vf-modules": {
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vf-modules-TOP": {
+      "properties": {
+        "VNF-API:preload-vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)preload-vf-modules"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vnf-instances": {
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vnf-instances-TOP": {
+      "properties": {
+        "VNF-API:preload-vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)preload-vnf-instances"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vnfs": {
+      "type": "object"
+    },
+    "VNF-API(operational)preload-vnfs-TOP": {
+      "properties": {
+        "VNF-API:preload-vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)preload-vnfs"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)vf-modules": {
+      "type": "object"
+    },
+    "VNF-API(operational)vf-modules-TOP": {
+      "properties": {
+        "VNF-API:vf-modules": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)vf-modules"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)vnf-instances": {
+      "type": "object"
+    },
+    "VNF-API(operational)vnf-instances-TOP": {
+      "properties": {
+        "VNF-API:vnf-instances": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)vnf-instances"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API(operational)vnfs": {
+      "type": "object"
+    },
+    "VNF-API(operational)vnfs-TOP": {
+      "properties": {
+        "VNF-API:vnfs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API(operational)vnfs"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)network-policy": {
+      "properties": {
+        "VNF-API:network-policy-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-policy-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)network-policy-TOP": {
+      "properties": {
+        "VNF-API:network-policy": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-policy"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)network-topology-identifier": {
+      "properties": {
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-technology": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)network-topology-identifier-TOP": {
+      "properties": {
+        "VNF-API:network-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)network-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)provider-network-information": {
+      "properties": {
+        "VNF-API:is-external-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:is-provider-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:is-shared-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:physical-network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)provider-network-information-TOP": {
+      "properties": {
+        "VNF-API:provider-network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)provider-network-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)route-table-reference": {
+      "properties": {
+        "VNF-API:route-table-reference-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:route-table-reference-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)route-table-reference-TOP": {
+      "properties": {
+        "VNF-API:route-table-reference": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)route-table-reference"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)subnets": {
+      "properties": {
+        "VNF-API:addr-from-start": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Default is N"
+        },
+        "VNF-API:cidr-mask": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-enabled": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-end-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:gateway-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:host-routes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information/subnets(config)host-routes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)subnets-TOP": {
+      "properties": {
+        "VNF-API:subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)vpn-bindings": {
+      "properties": {
+        "VNF-API:global-route-target": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vpn-binding-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information(config)vpn-bindings-TOP": {
+      "properties": {
+        "VNF-API:vpn-bindings": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information(config)vpn-bindings"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information/subnets(config)host-routes": {
+      "properties": {
+        "VNF-API:next-hop": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Could be ip-address or hostname or service-instance"
+        },
+        "VNF-API:route-prefix": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/network-topology-information/subnets(config)host-routes-TOP": {
+      "properties": {
+        "VNF-API:host-routes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/network-topology-information/subnets(config)host-routes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules(config)vf-module-preload-list": {
+      "properties": {
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vf-module-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules(config)vf-module-preload-list-TOP": {
+      "properties": {
+        "VNF-API:vf-module-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules(config)vf-module-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data-TOP": {
+      "properties": {
+        "VNF-API:vf-module-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list(config)vf-module-preload-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers": {
+      "properties": {
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vf-modules/vf-module-preload-list/vf-module-preload-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances(config)vnf-instance-preload-list": {
+      "properties": {
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-name, aka generic-vnf-name"
+        },
+        "VNF-API:vnf-instance-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-model-id, aka generic-vnf-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances(config)vnf-instance-preload-list-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances(config)vnf-instance-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list(config)vnf-instance-preload-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers": {
+      "properties": {
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnf-instances/vnf-instance-preload-list/vnf-instance-preload-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs(config)vnf-preload-list": {
+      "properties": {
+        "VNF-API:preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs(config)vnf-preload-list-TOP": {
+      "properties": {
+        "VNF-API:vnf-preload-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs(config)vnf-preload-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list(config)preload-data": {
+      "properties": {
+        "VNF-API:network-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list(config)preload-data-TOP": {
+      "properties": {
+        "VNF-API:preload-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list(config)preload-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information": {
+      "properties": {
+        "VNF-API:network-policy": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier"
+          },
+          "type": "object"
+        },
+        "VNF-API:provider-network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:route-table-reference": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets"
+          },
+          "type": "array"
+        },
+        "VNF-API:vpn-bindings": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information-TOP": {
+      "properties": {
+        "VNF-API:network-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)network-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy": {
+      "properties": {
+        "VNF-API:network-policy-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-policy-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy-TOP": {
+      "properties": {
+        "VNF-API:network-policy": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-policy"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier": {
+      "properties": {
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-technology": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:network-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier-TOP": {
+      "properties": {
+        "VNF-API:network-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)network-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information": {
+      "properties": {
+        "VNF-API:is-external-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:is-provider-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:is-shared-network": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:physical-network-name": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information-TOP": {
+      "properties": {
+        "VNF-API:provider-network-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)provider-network-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference": {
+      "properties": {
+        "VNF-API:route-table-reference-fqdn": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:route-table-reference-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference-TOP": {
+      "properties": {
+        "VNF-API:route-table-reference": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)route-table-reference"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets": {
+      "properties": {
+        "VNF-API:addr-from-start": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Default is N"
+        },
+        "VNF-API:cidr-mask": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-enabled": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-end-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:dhcp-start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:gateway-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:host-routes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:start-address": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets-TOP": {
+      "properties": {
+        "VNF-API:subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings": {
+      "properties": {
+        "VNF-API:global-route-target": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vpn-binding-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings-TOP": {
+      "properties": {
+        "VNF-API:vpn-bindings": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information(config)vpn-bindings"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes": {
+      "properties": {
+        "VNF-API:next-hop": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Could be ip-address or hostname or service-instance"
+        },
+        "VNF-API:route-prefix": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes-TOP": {
+      "properties": {
+        "VNF-API:host-routes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/network-topology-information/subnets(config)host-routes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier": {
+      "properties": {
+        "VNF-API:generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/preload-vnfs/vnf-preload-list/preload-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vf-module-identifiers": {
+      "properties": {
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vf-module-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules(config)vf-module-list": {
+      "properties": {
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vf-module-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "required": [
+        "VNF-API:vf-module-id"
+      ],
+      "type": "object"
+    },
+    "VNF-API/vf-modules(config)vf-module-list-TOP": {
+      "properties": {
+        "VNF-API:vf-module-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules(config)vf-module-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list(config)service-status": {
+      "properties": {
+        "VNF-API:final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-subaction": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list(config)service-status-TOP": {
+      "properties": {
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)service-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list(config)vf-module-service-data": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vf-module-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list(config)vf-module-service-data-TOP": {
+      "properties": {
+        "VNF-API:vf-module-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list(config)vf-module-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information": {
+      "properties": {
+        "VNF-API:notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-number": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-sub-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:source": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information-TOP": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header": {
+      "properties": {
+        "VNF-API:svc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header-TOP": {
+      "properties": {
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information": {
+      "properties": {
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vf-module-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data(config)vf-module-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers": {
+      "properties": {
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module id"
+        },
+        "VNF-API:vf-module-model-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        },
+        "VNF-API:vf-module-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vf-module-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vf-module-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vf-modules/vf-module-list/vf-module-service-data/vf-module-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-request-information(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-request-information(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "List of vnf networks to override preload",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-instance-identifiers": {
+      "properties": {
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances(config)vnf-instance-list": {
+      "properties": {
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic-vnf-id"
+        },
+        "VNF-API:vnf-instance-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "required": [
+        "VNF-API:vnf-instance-id"
+      ],
+      "type": "object"
+    },
+    "VNF-API/vnf-instances(config)vnf-instance-list-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances(config)vnf-instance-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list(config)service-status": {
+      "properties": {
+        "VNF-API:final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-subaction": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list(config)service-status-TOP": {
+      "properties": {
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)service-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vf-module-relationship-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vnf-instance-id"
+        },
+        "VNF-API:vnf-instance-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list(config)vnf-instance-service-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information": {
+      "properties": {
+        "VNF-API:notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-number": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-sub-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:source": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information-TOP": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header": {
+      "properties": {
+        "VNF-API:svc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header-TOP": {
+      "properties": {
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list": {
+      "properties": {
+        "VNF-API:vf-module-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list-TOP": {
+      "properties": {
+        "VNF-API:vf-module-relationship-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vf-module-relationship-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information": {
+      "properties": {
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "List of vnf networks to override preload",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data(config)vnf-instance-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "List of vnf networks to override preload",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers": {
+      "properties": {
+        "VNF-API:vnf-instance-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-instance-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-model-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers-TOP": {
+      "properties": {
+        "VNF-API:vnf-instance-identifiers": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-instance-identifiers"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-instances/vnf-instance-list/vnf-instance-service-data/vnf-instance-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-request-information(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-request-information(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-topology-identifier": {
+      "properties": {
+        "VNF-API:generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information(config)vnf-topology-identifier-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs(config)vnf-list": {
+      "properties": {
+        "VNF-API:service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        }
+      },
+      "required": [
+        "VNF-API:vnf-id"
+      ],
+      "type": "object"
+    },
+    "VNF-API/vnfs(config)vnf-list-TOP": {
+      "properties": {
+        "VNF-API:vnf-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs(config)vnf-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list(config)service-data": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status"
+          },
+          "type": "object"
+        },
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        },
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vnf-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list(config)service-data-TOP": {
+      "properties": {
+        "VNF-API:service-data": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-data"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list(config)service-status": {
+      "properties": {
+        "VNF-API:final-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-code": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-message": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:response-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:rpc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfsdn-subaction": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list(config)service-status-TOP": {
+      "properties": {
+        "VNF-API:service-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list(config)service-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)oper-status": {
+      "properties": {
+        "VNF-API:create-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:last-svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:maintenance-indicator": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:modify-timestamp": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-status": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)oper-status-TOP": {
+      "properties": {
+        "VNF-API:oper-status": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)oper-status"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)request-information": {
+      "properties": {
+        "VNF-API:notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-number": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:order-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:request-sub-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:source": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)request-information-TOP": {
+      "properties": {
+        "VNF-API:request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header": {
+      "properties": {
+        "VNF-API:svc-action": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-notification-url": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:svc-request-id": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header-TOP": {
+      "properties": {
+        "VNF-API:sdnc-request-header": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)sdnc-request-header"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)service-information": {
+      "properties": {
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-instance-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A service instance that a VNF or a l3-network is associated with"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI subscription-service-type"
+        },
+        "VNF-API:subscriber-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "AnAI global-customer-id"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)service-information-TOP": {
+      "properties": {
+        "VNF-API:service-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)service-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information": {
+      "properties": {
+        "VNF-API:aic-clli": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:aic-cloud-region": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The AIC cloud region which maps to contrail versions"
+        },
+        "VNF-API:generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf-id"
+        },
+        "VNF-API:generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf name"
+        },
+        "VNF-API:generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "generic vnf type"
+        },
+        "VNF-API:model-customization-uuid": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "customized resource, i.e. vf-module, for use within a given service"
+        },
+        "VNF-API:tenant": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:use-preload": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "orchestrate vf-module with full preload data or TOSCA lookup plus EIPAM automation"
+        },
+        "VNF-API:vnf-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-id"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-request-version": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-request-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-request-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        },
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-information": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data(config)vnf-topology-information"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-request-information(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnf-status": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Orchestration Status from AAI - to be set by SDNC"
+        },
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments-TOP": {
+      "properties": {
+        "VNF-API:vnf-assignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-assignments"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters": {
+      "properties": {
+        "VNF-API:vnf-parameter-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The name of an arbitrary instance-specific vnf-parameters"
+        },
+        "VNF-API:vnf-parameter-value": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The value of an arbitrary instance-specific vnf-parameters "
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters-TOP": {
+      "properties": {
+        "VNF-API:vnf-parameters": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-parameters"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier": {
+      "properties": {
+        "VNF-API:generic-vnf-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:generic-vnf-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-id": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:service-type": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnf-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-name"
+        },
+        "VNF-API:vnf-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "vf-module-type"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier-TOP": {
+      "properties": {
+        "VNF-API:vnf-topology-identifier": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information(config)vnf-topology-identifier"
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones": {
+      "properties": {
+        "VNF-API:availability-zone": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Openstack availability zone name or UUID"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones-TOP": {
+      "properties": {
+        "VNF-API:availability-zones": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)availability-zones"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks": {
+      "properties": {
+        "VNF-API:contrail-network-fqdn": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "contrail network policy object"
+        },
+        "VNF-API:ipv4-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-key-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance."
+        },
+        "VNF-API:ipv6-subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:ipv6-subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv6 subnet-name that corresponds to the ipv6 subnet-id"
+        },
+        "VNF-API:network-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "A Network Role to which a VNF must connect"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:neutron-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Unique Neutron UUID of an instance of the network role "
+        },
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        },
+        "VNF-API:subnet-id": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"
+        },
+        "VNF-API:subnet-name": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "ipv4 subnet-name that corresponds to the ipv4 subnet-id"
+        },
+        "VNF-API:subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks-TOP": {
+      "properties": {
+        "VNF-API:vnf-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms": {
+      "properties": {
+        "VNF-API:vm-count": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        },
+        "VNF-API:vm-type": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms-TOP": {
+      "properties": {
+        "VNF-API:vnf-vms": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments(config)vnf-vms"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list-TOP": {
+      "properties": {
+        "VNF-API:sriov-vlan-filter-list": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-networks(config)sriov-vlan-filter-list"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names": {
+      "properties": {
+        "VNF-API:vm-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names-TOP": {
+      "properties": {
+        "VNF-API:vm-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks": {
+      "properties": {
+        "VNF-API:floating-ip": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv4 for VMs of a given type on this network"
+        },
+        "VNF-API:floating-ip-v6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Floating ipv6 for VMs of a given type on this network"
+        },
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        },
+        "VNF-API:ip-count": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:ip-count-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ipv6 addresses to be assigned per vm for this network role"
+        },
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        },
+        "VNF-API:network-role": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF"
+        },
+        "VNF-API:network-role-tag": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The network-role that maps to the HEAT parameter {network-role}_net_id"
+        },
+        "VNF-API:use-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VM"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks-TOP": {
+      "properties": {
+        "VNF-API:vm-networks": {
+          "description": "Network List",
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms(config)vm-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names": {
+      "properties": {
+        "VNF-API:vnfc-name": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names-TOP": {
+      "properties": {
+        "VNF-API:vnfc-names": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names(config)vnfc-names"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks": {
+      "properties": {
+        "VNF-API:vnfc-network-role": {
+          "$ref": "#/definitions/Optional.empty"
+        },
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks-TOP": {
+      "properties": {
+        "VNF-API:vnfc-networks": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names(config)vnfc-networks"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        },
+        "VNF-API:vnfc-subnet-role": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnets": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks(config)vnfc-subnets"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments": {
+      "properties": {
+        "VNF-API:vnfc-address-family": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Subnet Version tells if this is IpV4 or IpV6"
+        },
+        "VNF-API:vnfc-subnet-dhcp": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned "
+        },
+        "VNF-API:vnfc-subnet-ipcount": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "The number of ip addresses to be assigned per vnfc for this subnet role"
+        },
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments-TOP": {
+      "properties": {
+        "VNF-API:vnfc-ipassignments": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets(config)vnfc-ipassignments"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips": {
+      "properties": {
+        "VNF-API:ip-type": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. "
+        },
+        "VNF-API:vnfc-address-ipv4": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. "
+        },
+        "VNF-API:vnfc-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion."
+        },
+        "VNF-API:vnfc-client-key": {
+          "$ref": "#/definitions/Optional.empty"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips-TOP": {
+      "properties": {
+        "VNF-API:vnfc-subnet-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-names/vnfc-names/vnfc-networks/vnfc-subnets/vnfc-ipassignments(config)vnfc-subnet-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes": {
+      "properties": {
+        "VNF-API:interface-route-prefix": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes"
+        },
+        "VNF-API:interface-route-prefix-cidr": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes-TOP": {
+      "properties": {
+        "VNF-API:interface-route-prefixes": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)interface-route-prefixes"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips": {
+      "properties": {
+        "VNF-API:ip-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv4 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-TOP": {
+      "properties": {
+        "VNF-API:network-ips": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6": {
+      "properties": {
+        "VNF-API:ip-address-ipv6": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of assigned ipv6 addresses on a network"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6-TOP": {
+      "properties": {
+        "VNF-API:network-ips-v6": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-ips-v6"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs": {
+      "properties": {
+        "VNF-API:mac-address": {
+          "$ref": "#/definitions/Optional.empty",
+          "description": "List of network assignments for this VM (one per network)"
+        }
+      },
+      "type": "object"
+    },
+    "VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs-TOP": {
+      "properties": {
+        "VNF-API:network-macs": {
+          "items": {
+            "$ref": "#/definitions/VNF-API/vnfs/vnf-list/service-data/vnf-topology-information/vnf-assignments/vnf-vms/vm-networks(config)network-macs"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "unique_empty_identifier": {}
+  }
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/VNF-API.yang b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/VNF-API.yang
new file mode 100755
index 00000000..5a6a472c
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/VNF-API.yang
@@ -0,0 +1,932 @@
+module VNF-API {
+
+    yang-version 1;
+
+    namespace "org:onap:sdnctl:vnf";
+
+    prefix vnfapi;
+
+    import ietf-inet-types { prefix "ietf"; revision-date "2013-07-15"; }
+
+    include "vnfsubmodule";
+
+    organization "ONAP";
+
+    contact
+    "Network Controller ";
+
+    description
+        "Defines API interface for VNF Orchestration";
+
+    revision "2015-07-20" {
+        description
+            "Initial draft";
+    }
+    // Last updated on 8-17-2016
+    grouping sdnc-request-header {
+        container sdnc-request-header {
+            leaf svc-request-id {
+                type string;
+            }
+            leaf svc-action {
+                type enumeration {
+                    enum "reserve";
+                    enum "assign";
+                    enum "activate";  // equal to commit
+                    enum "delete";    // equal to commit
+                    enum "changeassign";
+                    enum "changedelete";
+                    enum "rollback";
+                }
+            }
+            leaf svc-notification-url {
+                type string;
+            }
+        }
+    }
+
+    grouping request-information {
+        container request-information {
+            leaf request-id {
+                type string;
+            }
+            leaf request-action {
+                type enumeration {
+                    enum "PreloadNetworkRequest";
+                    enum "DeletePreloadNetworkRequest";
+                    enum "NetworkActivateRequest";
+                    enum "DisconnectNetworkRequest";
+                    enum "PreloadVNFRequest";
+                    enum "DeletePreloadVNFRequest";
+                    enum "VNFActivateRequest";
+                    enum "ChangeVNFActivateRequest";
+                    enum "DisconnectVNFRequest";
+                    enum "PreloadVnfInstanceRequest";
+                    enum "DeletePreloadVnfInstanceRequest";
+                    enum "VnfInstanceActivateRequest";
+                    enum "ChangeVnfInstanceActivateRequest";
+                    enum "DisconnectVnfInstanceRequest";
+                    enum "PreloadVfModuleRequest";
+                    enum "DeletePreloadVfModuleRequest";
+                    enum "VfModuleActivateRequest";
+                    enum "ChangeVfModuleActivateRequest";
+                    enum "DisconnectVfModuleRequest";
+                }
+            }
+            leaf request-sub-action {
+                type enumeration {
+                    enum "SUPP";
+                    enum "CANCEL";
+                    enum "RetainResource";
+                }
+            }
+            leaf source {
+                type string;
+            }
+            leaf notification-url {
+                type string;
+            }
+            leaf order-number {
+                type string;
+            }
+            leaf order-version {
+                type string;
+            }
+        }
+    }
+
+    grouping service-information {
+        container service-information {
+            leaf service-type {
+                type string;
+                description "AnAI subscription-service-type";
+            }
+            leaf service-id {
+                type string;
+            }
+            leaf service-instance-id {
+                type string;
+                description "A service instance that a VNF or a l3-network is associated with";
+            }
+            leaf subscriber-name {
+                type string;
+                description "AnAI global-customer-id";
+            }
+        }
+    }
+
+
+    grouping vnf-request-information {
+        container vnf-request-information {
+            leaf vnf-request-version {
+                type string;
+            }
+            leaf model-customization-uuid {
+                type string;
+                description "customized resource, i.e. vf-module, for use within a given service";
+            }
+            leaf use-preload {
+                type enumeration {
+                    enum "Y";
+                    enum "N";
+                }
+                description "orchestrate vf-module with full preload data or TOSCA lookup plus EIPAM automation";
+            }
+            leaf vnf-id {
+                type string;
+                description "vf-module-id";
+            }
+            leaf vnf-type {
+                type string;
+                description "vf-module-type";
+            }
+            leaf vnf-name {
+                type string;
+                description "vf-module-name";
+            }
+            leaf generic-vnf-id {
+                type string;
+                description "generic vnf-id";
+            }
+            leaf generic-vnf-type {
+                type string;
+                description "generic vnf type";
+            }
+            leaf generic-vnf-name {
+                type string;
+                description "generic vnf name";
+            }
+            leaf tenant {
+                type string;
+            }
+            leaf aic-clli {
+                type string;
+            }
+            leaf aic-cloud-region {
+                type string;
+                description "The AIC cloud region which maps to contrail versions";
+            }
+            list vnf-networks {
+                key network-role;
+                uses vnf-network;
+                description "Network List";
+            }
+        }
+    }
+
+    grouping network-request-information {
+        container network-request-information {
+            leaf network-id {
+                type string;
+            }
+            leaf network-type {
+                type string;
+            }
+            leaf network-name {
+                type string;
+            }
+            leaf tenant {
+                type string;
+            }
+            leaf aic-clli {
+                type string;
+            }
+            leaf aic-cloud-region {
+                type string;
+                description "The AIC cloud region which maps to contrail versions";
+            }
+        }
+    }
+
+    /***********************************************************/
+    /*               PRELOAD DATA                                 */
+    /***********************************************************/
+
+    container preload-vnfs {
+        uses preload-model-information;
+    }
+    grouping preload-model-information {
+        list vnf-preload-list {
+            key "vnf-name vnf-type";
+            leaf vnf-name {
+                type string;
+                description "vf-module-name";
+            }
+            leaf vnf-type {
+                type string;
+                description "vf-module-type";
+            }
+            uses preload-data;
+        }
+    }
+
+    // For preload networks it will have network-topology-information
+    // For preload vnfs, it will have vnf-topology-information
+    grouping preload-data {
+        container preload-data {
+            uses vnf-topology-information;
+            uses network-topology-information;
+            uses oper-status;
+        }
+    }
+
+
+    grouping vnf-topology-information {
+        container vnf-topology-information {
+            uses vnf-topology-identifier;
+            uses vnf-assignments;
+            uses vnf-parameters;
+        }
+    }
+
+    grouping vnf-topology-identifier {
+        container vnf-topology-identifier {
+            leaf service-type {
+                type string;
+            }
+            leaf service-id {
+                type string;
+            }
+            leaf vnf-name {
+                type string;
+                description "vf-module-name";
+            }
+            leaf vnf-type {
+                type string;
+                description "vf-module-type";
+            }
+            leaf generic-vnf-name {
+                type string;
+            }
+            leaf generic-vnf-type {
+                type string;
+            }
+            leaf generic-vnf-id {
+                type string;
+            }
+        }
+    }
+
+    grouping vnf-assignments {
+        container vnf-assignments {
+            leaf vnf-status {
+                type string;
+                description "Orchestration Status from AAI - to be set by SDNC";
+            }
+            list availability-zones {
+                key "availability-zone";
+                ordered-by  user;
+                leaf availability-zone {
+                    type string;
+                    description "Openstack availability zone name or UUID";
+                }
+            }
+            list vnf-networks {
+                key network-role;
+                uses vnf-network;
+                uses sriov-vlan-filter-list;
+                description "Network List";
+            }
+            uses vm-topology;
+        }
+    }
+
+    grouping vm-topology {
+        list vnf-vms {
+            key vm-type;
+            leaf vm-type {
+                type string;
+            }
+            leaf vm-count {
+                type uint8;
+            }
+            list vm-names {
+                ordered-by user;
+                key "vm-name";
+                leaf vm-name {
+                    type string;
+                }
+                list vnfc-names {
+                    ordered-by user;
+                    key "vnfc-name";
+                    leaf vnfc-name {
+                        type string;
+                    }
+                    list vnfc-networks {
+                        key vnfc-network-role;
+                        uses vnfc-network;
+                    }
+                }
+            }
+            list vm-networks {
+                key network-role;
+                uses vm-network;
+                description "Network List";
+            }
+        }
+    }
+    
+    grouping vnfc-network {
+        leaf vnfc-network-role {
+            type string;
+        }
+        list vnfc-subnets {
+            key "vnfc-subnet-role";
+            leaf vnfc-subnet-role {
+                type string;
+        }
+        list vnfc-ipassignments {
+            key "vnfc-address-family";
+            leaf vnfc-address-family {
+                description "Subnet Version tells if this is IpV4 or IpV6";
+                type enumeration {
+                    enum "ipv4";
+                    enum "ipv6";
+                }
+            }
+            leaf vnfc-subnet-dhcp {
+                description "Indicator to use DHCP on this network for this VNFC. Unless dhcp=N, we wouldnt have any address, since they would not be sdnc assigned ";
+                type enumeration {
+                    enum "Y";
+                    enum "N";
+                }
+            }
+            leaf vnfc-subnet-ipcount {
+                description "The number of ip addresses to be assigned per vnfc for this subnet role";
+                type uint8;
+            }
+            list vnfc-subnet-ips {
+                key "vnfc-client-key";
+                leaf vnfc-client-key {
+                    type string;
+                }
+                leaf ip-type {
+                    description "Capture what type of IP this is, if is virtual IP (AKA, floating IP) or Fixed IP. ";
+                    type enumeration {
+                        enum "FIXED";
+                        enum "VIP";
+                    }
+               }
+               leaf vnfc-address-ipv4 {
+                    description "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion. ";
+                    type ietf:ip-address;
+               }
+               leaf vnfc-address-ipv6 {
+                    description "Either IpV4 IP addresses or IpV6 IP addresses should be present,  but not both within one VnfcVersion.";
+                    type ietf:ipv6-address;
+               }
+            }
+         }
+      }
+   }
+
+    grouping vnf-network {
+        leaf network-role {
+            type string;
+            description "A Network Role to which a VNF must connect";
+        }
+        leaf network-role-tag {
+            type string;
+            description "The network-role that maps to the HEAT parameter {network-role}_net_id";
+        }
+        leaf network-name {
+            type string;
+            description "Unique Neutron UUID of an instance of the network role ";
+        }
+        leaf neutron-id {
+            type string;
+            description "Unique Neutron UUID of an instance of the network role ";
+        }
+        leaf network-id {
+            type string;
+            description "Unique Neutron UUID of an instance of the network role ";
+        }
+        leaf subnet-id {
+            type string;
+            description "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment";
+        }
+        leaf contrail-network-fqdn {
+            type string;
+            description "contrail network policy object";
+        }
+        leaf ipv6-subnet-id {
+            type string;
+            description "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment";
+        }
+        leaf ipv6-subnet-name {
+            type string;
+            description "ipv6 subnet-name that corresponds to the ipv6 subnet-id";
+        }
+        leaf subnet-name {
+            type string;
+            description "ipv4 subnet-name that corresponds to the ipv4 subnet-id";
+        }
+        leaf ipv4-key-subnet-id {
+            description "Unique SDN-C generated UUID of the ipv4 subnet.Key into A&AI instance.";
+            type string;
+        }
+        leaf ipv6-key-subnet-id {
+            description "Unique SDN-C generated UUID of the ipv6 subnet.Key into A&AI instance.";
+            type string;
+        }
+        leaf subnet-role {
+            type string;
+        }
+    }
+
+    grouping sriov-vlan-filter-list {
+        list sriov-vlan-filter-list {
+            key "sriov-vlan-filter";
+            leaf sriov-vlan-filter {
+                type string;
+            }
+        }
+    }
+
+    grouping vm-network {
+        leaf network-role {
+            type string;
+            description "network (identified by role) that this VM connects to.  Should also be included in the vnf-networks for the containing VNF";
+        }
+        leaf network-role-tag {
+            type string;
+            description "The network-role that maps to the HEAT parameter {network-role}_net_id";
+        }
+        leaf use-dhcp {
+            type enumeration {
+                  enum "Y";
+                  enum "N";
+            }
+            description "Indicator to use DHCP on this network for this VM";
+        }
+        leaf ip-count {
+            type uint8;
+            description "The number of ip addresses to be assigned per vm for this network role";
+        }
+        leaf ip-count-ipv6 {
+            type uint8;
+            description "The number of ipv6 addresses to be assigned per vm for this network role";
+        }
+        list network-ips {
+            ordered-by user;
+            key ip-address;
+            leaf ip-address {
+                type ietf:ip-address;
+                description "List of assigned ipv4 addresses on a network";
+            }
+        }
+        list network-ips-v6 {
+            ordered-by user;
+            key ip-address-ipv6;
+            leaf ip-address-ipv6 {
+                type ietf:ipv6-address;
+                description "List of assigned ipv6 addresses on a network";
+            }
+        }
+        list network-macs {
+            ordered-by user;
+            key mac-address;
+            leaf mac-address {
+                type string;
+                description "List of network assignments for this VM (one per network)";
+            }
+        }
+        leaf floating-ip {
+            type ietf:ip-address;
+            description "Floating ipv4 for VMs of a given type on this network";
+        }
+        leaf floating-ip-v6 {
+            type ietf:ipv6-address;
+            description "Floating ipv6 for VMs of a given type on this network";
+        }
+        list interface-route-prefixes {
+            ordered-by user;
+            key interface-route-prefix;
+            leaf interface-route-prefix {
+                type ietf:ip-address;
+                description "OBSOLETE, route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes";
+            }
+            leaf interface-route-prefix-cidr {
+                type string;
+                description "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes";
+            }
+        }
+    }
+
+    grouping vnf-parameters {
+        list vnf-parameters {
+            key vnf-parameter-name;
+            leaf vnf-parameter-name {
+                type string;
+                description "The name of an arbitrary instance-specific vnf-parameters";
+            }
+            leaf vnf-parameter-value {
+                type string;
+                description "The value of an arbitrary instance-specific vnf-parameters ";
+            }
+        }
+    }
+
+    grouping network-topology-information {
+        container network-topology-information {
+            uses network-topology-identifier;
+            uses subnets;
+            uses vpn-bindings;
+            uses network-policy;
+            uses route-table-reference;
+            uses provider-network-information;
+        }
+    }
+
+    grouping network-topology-identifier {
+        container network-topology-identifier {
+            leaf service-type {
+                type string;
+            }
+            leaf network-name {
+                type string;
+            }
+            leaf network-role {
+                type string;
+            }
+            leaf network-type {
+                type string;
+            }
+            leaf network-technology{
+                type string;
+            }
+        }
+    }
+    grouping subnets {
+        list subnets {
+            key start-address;
+            leaf start-address{
+                type ietf:ip-address;
+            }
+            leaf gateway-address{
+                type ietf:ip-address;
+            }
+            leaf cidr-mask{
+                type string;
+            }
+            leaf ip-version {
+                type string;
+            }
+            leaf dhcp-enabled {
+                type enumeration {
+                    enum "Y";
+                    enum "N";
+                }
+            }
+            leaf dhcp-start-address {
+                type string;
+            }
+            leaf dhcp-end-address {
+                type string;
+            }
+            leaf subnet-name {
+                type string;
+            }
+            leaf addr-from-start {
+                description "Default is N";
+                type enumeration {
+                    enum "Y";
+                    enum "N";
+                }
+            }
+            leaf subnet-role {
+                type string;
+            }
+            uses host-routes;
+        }
+    }
+
+    grouping vpn-bindings {
+        list vpn-bindings {
+            key vpn-binding-id;
+            leaf vpn-binding-id {
+                type string;
+            }
+            leaf global-route-target {
+                type string;
+            }
+        }
+    }
+
+    grouping network-policy {
+        list network-policy {
+            key network-policy-fqdn;
+            leaf network-policy-fqdn {
+                type string;
+            }
+            leaf network-policy-id {
+                type string;
+            }
+        }
+    }
+
+    grouping route-table-reference {
+        list route-table-reference {
+            key "route-table-reference-id";
+            leaf route-table-reference-id {
+                type string;
+            }
+            leaf route-table-reference-fqdn {
+                type string;
+            }
+        }
+    }
+
+    grouping provider-network-information {
+        container provider-network-information {
+            leaf physical-network-name {
+                type string;
+            }
+            leaf is-provider-network {
+                type boolean;
+            }
+            leaf is-shared-network {
+                type boolean;
+            }
+            leaf is-external-network {
+                type boolean;
+            }
+        }
+    }
+
+    grouping host-routes {
+        list host-routes {
+            key "route-prefix";
+            leaf route-prefix {
+                type string;
+            }
+            leaf next-hop {
+                description "Could be ip-address or hostname or service-instance";
+                type string;
+            }
+        }
+    }
+
+    /***********************************************************/
+    /*               SERVICE_DATA                                */
+    /***********************************************************/
+    container vnfs {
+        uses vnf-model-infrastructure;
+    }
+    grouping vnf-model-infrastructure {
+        list vnf-list {
+            key vnf-id;
+            leaf vnf-id {
+                type string;
+                mandatory true;
+                description "vf-module-id";
+            }
+            uses service-data;
+            uses service-status;
+        }
+    }
+    grouping service-data {
+        container service-data {
+            uses vnf-configuration-information;
+            uses oper-status;
+        }
+    }
+    grouping service-status {
+        container service-status {
+            leaf response-code {
+                type string;
+            }
+            leaf response-message {
+                type string;
+            }
+            leaf final-indicator {
+                type string;
+            }
+            leaf request-status {
+                type enumeration {
+                    enum "synccomplete";
+                    enum "asynccomplete";
+                    enum "notifycomplete";
+                }
+            }
+            leaf vnfsdn-action {
+                type enumeration {
+                    enum "PreloadNetworkRequest";
+                    enum "DeletePreloadNetworkRequest";
+                    enum "NetworkActivateRequest";
+                    enum "DisconnectNetworkRequest";
+                    enum "PreloadVNFRequest";
+                    enum "DeletePreloadVNFRequest";
+                    enum "VNFActivateRequest";
+                    enum "ChangeVNFActivateRequest";
+                    enum "DisconnectVNFRequest";
+                    enum "PreloadVnfInstanceRequest";
+                    enum "DeletePreloadVnfInstanceRequest";
+                    enum "VnfInstanceActivateRequest";
+                    enum "ChangeVnfInstanceActivateRequest";
+                    enum "DisconnectVnfInstanceRequest";
+                    enum "PreloadVfModuleRequest";
+                    enum "DeletePreloadVfModuleRequest";
+                    enum "VfModuleActivateRequest";
+                    enum "ChangeVfModuleActivateRequest";
+                    enum "DisconnectVfModuleRequest";
+                }
+            }
+            leaf vnfsdn-subaction {
+                type enumeration {
+                    enum "SUPP";
+                    enum "CANCEL";
+                    enum "RetainResource";
+                }
+            }
+            leaf rpc-name {
+                type enumeration {
+                    enum "vnf-topology-operation";
+                    enum "preload-vnf-topology-operation";
+                    enum "vnf-instance-topology-operation";
+                    enum "preload-vnf-instance-topology-operation";
+                    enum "vf-module-topology-operation";
+                    enum "preload-vf-module-topology-operation";
+                }
+            }
+            leaf rpc-action {
+                type enumeration {
+                    enum "reserve";
+                    enum "assign";
+                    enum "activate";  // equal to commit
+                    enum "delete";      // equal to commit
+                    enum "changeassign";
+                    enum "changedelete";
+                    enum "rollback";
+                }
+            }
+            leaf response-timestamp {
+                type string;
+            }
+        }
+    }
+    grouping vnf-configuration-information {
+        uses sdnc-request-header;
+        uses request-information;
+        uses service-information;
+        uses vnf-request-information;
+        uses vnf-topology;
+    }
+    grouping vnf-topology-response-body {
+        leaf svc-request-id {
+            type string;
+        }
+        leaf response-code {
+            type string;
+        }
+        leaf response-message {
+            type string;
+        }
+        leaf ack-final-indicator {
+            type string;
+        }
+    }
+
+    grouping vnf-information {
+        container vnf-information {
+            leaf vnf-service-type {
+                type string;
+            }
+            leaf vnf-id {
+                type string;
+                description "vf-module-id";
+            }
+        }
+    }
+
+    grouping network-information {
+        container network-information {
+            leaf network-service-type {
+                type string;
+            }
+            leaf network-id {
+                type string;
+            }
+        }
+    }
+
+
+    // Carried over from l3sdn and potentially not needed
+    grouping oper-status {
+        container oper-status {
+            leaf order-status {
+                type enumeration {
+                    enum "Active";
+                    enum "PendingAssignment";
+                    enum "PendingCreate";
+                    enum "PendingUpdate";
+                    enum "PendingDelete";
+                    enum "Deleted";
+
+                }
+            }
+            leaf last-action {
+                type enumeration {
+                    enum "VNFActivateRequest";
+                    enum "ChangeVNFActivateRequest";
+                    enum "VnfInstanceActivateRequest";
+                    enum "ChangeVnfInstanceActivateRequest";
+                    enum "VfModuleActivateRequest";
+                    enum "ChangeVfModuleActivateRequest";
+                    enum "DisconnectVNFRequest";
+                    enum "DisconnectVnfInstanceRequest";
+                    enum "DisconnectVfModuleRequest";
+                    enum "PreloadVNFRequest";
+                    enum "DeletePreloadVNFRequest";
+                    enum "PreloadVnfInstanceRequest";
+                    enum "DeletePreloadVnfInstanceRequest";
+                    enum "PreloadVfModuleRequest";
+                    enum "DeletePreloadVfModuleRequest";
+                }
+            }
+            leaf last-svc-request-id {
+                type string;
+            }
+            leaf last-order-status {
+                type enumeration {
+                    enum "Active";
+                    enum "PendingAssignment";
+                    enum "PendingCreate";
+                    enum "PendingUpdate";
+                    enum "PendingDelete";
+                    enum "Deleted";
+                }
+            }
+            leaf create-timestamp {
+                type string;
+            }
+            leaf modify-timestamp {
+                type string;
+            }
+            leaf maintenance-indicator {
+                type enumeration {
+                    enum "Y";
+                    enum "N";
+                }
+            }
+        }
+    }
+    grouping vnf-topology {
+        leaf vnf-id {
+            type string;
+            description "vf-module-id";
+        }
+        uses vnf-topology-information;
+    }
+
+
+    rpc vnf-topology-operation {
+        input {
+            uses sdnc-request-header;
+            uses request-information;
+            uses service-information;
+            uses vnf-request-information;
+        }
+        output {
+            uses vnf-topology-response-body;
+            uses vnf-information;
+            uses service-information;
+        }
+    }
+
+    rpc network-topology-operation {
+        input {
+            uses sdnc-request-header;
+            uses request-information;
+            uses service-information;
+            uses network-request-information;
+        }
+        output {
+            uses vnf-topology-response-body;
+            uses network-information;
+            uses service-information;
+        }
+    }
+
+    rpc preload-vnf-topology-operation {
+        input {
+            uses sdnc-request-header;
+            uses request-information;
+            uses vnf-topology-information;
+        }
+        output {
+            uses vnf-topology-response-body;
+        }
+    }
+
+    rpc preload-network-topology-operation {
+        input {
+            uses sdnc-request-header;
+            uses request-information;
+            uses network-topology-information;
+        }
+        output {
+            uses vnf-topology-response-body;
+        }
+    }
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang
new file mode 100755
index 00000000..7899d52f
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang
@@ -0,0 +1,357 @@
+submodule vnfsubmodule {
+
+    belongs-to VNF-API { prefix "vnfapi"; }
+
+    // Last updated on 8-17-2016
+    /********************************************/
+    /*             vnf-instance                 */
+    /********************************************/
+	grouping vnf-instance-request-information {
+		container vnf-instance-request-information {
+            leaf request-version {
+                type string;
+            }
+            uses vnf-instance-topology-identifier;
+            uses region-identifier;
+			list vnf-networks {
+				key network-role;
+				uses vnfapi:vnf-network;
+				description "List of vnf networks to override preload";
+			}
+		}
+	}
+
+    grouping region-identifier {
+        leaf tenant {
+            type string;
+        }
+        leaf aic-cloud-region {
+            type string;
+            description "The AIC cloud region which maps to contrail versions";
+        }
+    }
+
+
+    /***********************************************************/
+    /*             PRELOAD DATA - vnf-instance                 */
+    /***********************************************************/
+
+	container preload-vnf-instances {
+		uses preload-vnf-instance-model-information;
+	}
+	grouping preload-vnf-instance-model-information {
+		list vnf-instance-preload-list {
+			key "vnf-instance-name vnf-model-id";
+			leaf vnf-instance-name {
+				type string;
+				description "vnf-instance-name, aka generic-vnf-name";
+			}
+			leaf vnf-model-id {
+				type string;
+				description "vnf-model-id, aka generic-vnf-type";
+			}
+			uses vnf-instance-preload-data;
+		}
+	}
+
+	grouping vnf-instance-preload-data {
+		container vnf-instance-preload-data {
+			uses vnf-instance-topology-information;
+			uses vnfapi:oper-status;
+		}
+	}
+
+	grouping vnf-instance-topology-information {
+		container vnf-instance-topology-information {
+			uses vnf-instance-identifiers;
+			uses vnfapi:service-information;
+			uses vnfapi:vnf-assignments;
+			uses vnfapi:vnf-parameters;
+		}
+	}
+
+    // This is used by MSO request for assign,rollback,activate,delete, etc
+	grouping vnf-instance-topology-identifier {
+		leaf vnf-instance-name {
+			type string;
+		}
+		leaf vnf-model-id {
+			type string;
+		}
+		leaf vnf-instance-id {
+			type string;
+		}
+	}
+
+    // container used in preload identifiers
+    grouping vnf-instance-identifiers {
+        container vnf-instance-identifiers {
+            uses vnf-instance-topology-identifier;
+        }
+    }
+
+	/***********************************************************/
+    /*               SERVICE_DATA  - vnf-instance              */
+	/***********************************************************/
+	container vnf-instances {
+		uses vnf-instance-model-infrastructure;
+	}
+	grouping vnf-instance-model-infrastructure {
+		list vnf-instance-list {
+			key vnf-instance-id;
+			leaf vnf-instance-id {
+				type string;
+				mandatory true;
+				description "generic-vnf-id";
+			}
+			uses vnf-instance-service-data;
+			uses vnfapi:service-status;
+		}
+	}
+
+    grouping vnf-instance-service-data {
+        container vnf-instance-service-data {
+            uses vnf-instance-configuration-information;
+            uses vf-module-relationship-list;
+            uses vnfapi:oper-status;
+        }
+    }
+
+	grouping vnf-instance-configuration-information {
+		uses vnfapi:sdnc-request-header;
+		uses vnfapi:request-information;
+		uses vnfapi:service-information;
+		uses vnf-instance-request-information;
+		uses vnf-instance-topology;
+	}
+
+    grouping vf-module-relationship-list {
+        list vf-module-relationship-list {
+            key "vf-module-id";
+            leaf vf-module-id {
+                type string;
+                description "vf-module-id";
+            }
+        }
+    }
+
+	grouping vnf-instance-topology-response-body {
+		leaf svc-request-id {
+			type string;
+		}
+		leaf response-code {
+			type string;
+		}
+		leaf response-message {
+			type string;
+		}
+		leaf ack-final-indicator {
+			type string;
+		}
+	}
+
+	grouping vnf-instance-information {
+		container vnf-instance-information {
+			leaf vnf-instance-id {
+				type string;
+				description "vnf-instance-id";
+			}
+		}
+	}
+
+	grouping vnf-instance-topology {
+		leaf vnf-instance-id {
+			type string;
+			description "vnf-instance-id";
+		}
+		uses vnf-instance-topology-information;
+	}
+
+
+	rpc vnf-instance-topology-operation {
+		input {
+			uses sdnc-request-header;
+			uses request-information;
+			uses service-information;
+			uses vnf-instance-request-information;
+		}
+		output {
+			uses vnf-instance-topology-response-body;
+			uses vnf-instance-information;
+			uses service-information;
+		}
+	}
+
+	rpc preload-vnf-instance-topology-operation {
+		input {
+			uses sdnc-request-header;
+			uses request-information;
+			uses vnf-instance-topology-information;
+		}
+		output {
+			uses vnf-instance-topology-response-body;
+		}
+	}
+
+    /********************************************/
+    /*             vf-module                    */
+    /********************************************/
+	grouping vf-module-request-information {
+		container vf-module-request-information {
+            uses vnf-instance-topology-identifier;
+            uses region-identifier;
+            uses vf-module-topology-identifier;
+		}
+	}
+
+    grouping vf-module-identifiers {
+        container vf-module-identifiers {
+            uses vf-module-topology-identifier;
+        }
+    }
+
+    grouping vf-module-topology-identifier {
+        leaf vf-module-id {
+            type string;
+            description "vf-module id";
+        }
+        leaf vf-module-name {
+            type string;
+            description "vf-module-name";
+        }
+        leaf vf-module-model-id {
+            type string;
+            description "vf-module-type";
+        }
+    }
+
+    /***********************************************************/
+    /*             PRELOAD DATA  - vfmodule                    */
+    /***********************************************************/
+	container preload-vf-modules {
+		uses preload-vf-module-model-information;
+	}
+
+	grouping preload-vf-module-model-information {
+		list vf-module-preload-list {
+			key "vf-module-name vf-module-model-id";
+			leaf vf-module-name {
+				type string;
+				description "vf-module-name";
+			}
+			leaf vf-module-model-id {
+				type string;
+				description "vf-module-type";
+			}
+			uses vf-module-preload-data;
+		}
+	}
+
+	grouping vf-module-preload-data {
+		container vf-module-preload-data {
+			uses vf-module-topology-information;
+			uses vnfapi:oper-status;
+		}
+	}
+
+	grouping vf-module-topology-information {
+		container vf-module-topology-information {
+			uses vf-module-identifiers;
+			uses vnfapi:vnf-assignments;
+			uses vnfapi:vnf-parameters;
+		}
+	}
+
+
+    /***********************************************************/
+    /*               SERVICE_DATA - vfmodule                   */
+    /***********************************************************/
+	container vf-modules {
+		uses vf-module-model-infrastructure;
+	}
+	grouping vf-module-model-infrastructure {
+		list vf-module-list {
+			key vf-module-id;
+			leaf vf-module-id {
+				type string;
+				mandatory true;
+				description "vf-module-id";
+			}
+			uses vf-module-service-data;
+			uses vnfapi:service-status;
+		}
+	}
+
+   grouping vf-module-service-data {
+     container vf-module-service-data {
+       uses vf-module-configuration-information;
+       uses vnfapi:oper-status;
+     }
+    }
+
+	grouping vf-module-configuration-information {
+		uses vnfapi:sdnc-request-header;
+		uses vnfapi:request-information;
+		uses vnfapi:service-information;
+		uses vf-module-request-information;
+		uses vf-module-topology;
+	}
+
+	grouping vf-module-topology-response-body {
+		leaf svc-request-id {
+			type string;
+		}
+		leaf response-code {
+			type string;
+		}
+		leaf response-message {
+			type string;
+		}
+		leaf ack-final-indicator {
+			type string;
+		}
+	}
+
+	grouping vf-module-information {
+		container vf-module-information {
+			leaf vf-module-id {
+				type string;
+				description "vf-module-id";
+			}
+		}
+	}
+
+	grouping vf-module-topology {
+		leaf vf-module-id {
+			type string;
+			description "vf-module-id";
+		}
+		uses vf-module-topology-information;
+	}
+
+
+	rpc vf-module-topology-operation {
+		input {
+			uses sdnc-request-header;
+			uses request-information;
+			uses service-information;
+			uses vf-module-request-information;
+		}
+		output {
+			uses vf-module-topology-response-body;
+			uses vf-module-information;
+			uses service-information;
+		}
+	}
+
+	rpc preload-vf-module-topology-operation {
+		input {
+			uses sdnc-request-header;
+			uses request-information;
+			uses vf-module-topology-information;
+		}
+		output {
+			uses vf-module-topology-response-body;
+		}
+	}
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/pom.xml b/sdnc-a1-controller/northbound/vnfapi/pom.xml
new file mode 100644
index 00000000..07fc7142
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/pom.xml
@@ -0,0 +1,25 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        odlparent-lite
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    vnfapi
+    1.7.3-SNAPSHOT
+    pom
+
+    sdnc-northbound :: vnfapi
+
+    
+        model
+        features
+        provider
+        installer
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/pom.xml b/sdnc-a1-controller/northbound/vnfapi/provider/pom.xml
new file mode 100644
index 00000000..0608704e
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/pom.xml
@@ -0,0 +1,94 @@
+
+
+    4.0.0
+
+    
+        org.onap.ccsdk.parent
+        binding-parent
+        1.4.3
+        
+    
+
+    org.onap.sdnc.northbound
+    vnfapi-provider
+    1.7.3-SNAPSHOT
+    bundle
+
+    sdnc-northbound :: vnfapi :: ${project.artifactId}
+	
+	    
+	    	
+	    	    org.onap.ccsdk.sli.core
+	    	    sli-core-artifacts
+	    	    ${ccsdk.sli.core.version}
+	    	    pom
+	    	    import
+	    	
+	    
+	
+    
+        
+            org.onap.sdnc.northbound
+            vnfapi-model
+            ${project.version}
+        
+        
+            org.opendaylight.controller
+            sal-binding-api
+        
+        
+            org.opendaylight.controller
+            sal-common-util
+        
+        
+            org.onap.ccsdk.sli.core
+            sli-common
+        
+        
+            org.onap.ccsdk.sli.core
+            sli-provider
+        
+
+        
+            org.opendaylight.controller
+            sal-test-model
+            test
+        
+
+        
+            org.opendaylight.controller
+            sal-binding-broker-impl
+            test
+        
+        
+            org.opendaylight.controller
+            sal-binding-broker-impl
+            test-jar
+            tests
+            test
+        
+
+
+        
+            junit
+            junit
+            test
+        
+        
+            org.mockito
+            mockito-core
+            1.10.19
+            test
+        
+        
+            org.powermock
+            powermock-api-mockito
+            test
+        
+        
+            org.powermock
+            powermock-module-junit4
+            test
+        
+    
+
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClient.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClient.java
new file mode 100644
index 00000000..275948ab
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClient.java
@@ -0,0 +1,270 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Properties;
+
+public class VNFSDNSvcLogicServiceClient {
+    static final String FAILURE_RESULT = "failure";
+    static final String SVC_LOGIC_STATUS_KEY = "SvcLogic.status";
+    private static final String TO_SLI_MSG = "Parameters passed to SLI";
+    private static final String FROM_SLI_MSG = "Parameters returned by SLI";
+
+    private final Logger logger = LoggerFactory.getLogger(VNFSDNSvcLogicServiceClient.class);
+
+    private final SvcLogicService svcLogic;
+
+    public VNFSDNSvcLogicServiceClient(final SvcLogicService svcLogicService) {
+        this.svcLogic = svcLogicService;
+    }
+
+    public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException {
+        return svcLogic.hasGraph(module, rpc, version, mode);
+    }
+
+    public Properties execute(String module, String rpc, String version, String mode, ServiceDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    public Properties execute(String module, String rpc, String version, String mode, PreloadDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              ServiceDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              PreloadDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+
+    //1610 vnf-instance
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VnfInstanceServiceDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    //1610 vnf-instance
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VnfInstanceServiceDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+    //1610 vf-module
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VfModuleServiceDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    //1610 vf-module
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VfModuleServiceDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+    //1610 vnf-instance-preload
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VnfInstancePreloadDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    //1610 vnf-instance-preload
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VnfInstancePreloadDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+    //1610 vf-module-preload
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VfModulePreloadDataBuilder serviceData)
+            throws SvcLogicException {
+        return execute(module, rpc, version, mode, serviceData, new Properties());
+    }
+
+    //1610 vf-module-preload
+    public Properties execute(String module,
+                              String rpc,
+                              String version,
+                              String mode,
+                              VfModulePreloadDataBuilder serviceData,
+                              Properties properties)
+            throws SvcLogicException {
+
+        Properties props = VnfSdnUtil.toProperties(properties, serviceData);
+        printDebugLog(props, TO_SLI_MSG);
+
+        Properties respProps = svcLogic.execute(module, rpc, version, mode, props);
+        printDebugLog(respProps, FROM_SLI_MSG);
+
+        if (respProps == null
+                || FAILURE_RESULT.equalsIgnoreCase(respProps.getProperty(SVC_LOGIC_STATUS_KEY))) {
+            return respProps;
+        }
+
+        VnfSdnUtil.toBuilder(respProps, serviceData);
+
+        return respProps;
+    }
+
+    private void printDebugLog(Properties properties, String msg) {
+        if (!logger.isDebugEnabled()) {
+            return;
+        }
+        if (properties == null) {
+            logger.debug(msg, "properties is null");
+            return;
+        }
+
+        logger.debug(msg);
+        for (Object key : properties.keySet()) {
+            String paramName = (String) key;
+            logger.debug(paramName, " = ", properties.getProperty(paramName));
+        }
+    }
+
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
new file mode 100644
index 00000000..c14db885
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java
@@ -0,0 +1,2327 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                                                      reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.base.Optional;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModules;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModulesBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstances;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstancesBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfs;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfsBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VNFAPIService;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModules;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModulesBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstances;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstancesBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.Vnfs;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfsBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.information.NetworkInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader.SvcAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus.RequestStatus;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus.RpcAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus.RpcName;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus.VnfsdnAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus.VnfsdnSubaction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.information.VfModuleInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.information.VnfInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.information.VnfInstanceInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Properties;
+import java.util.TimeZone;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.concurrent.Future;
+
+/**
+ * Defines a base implementation for your provider. This class extends from a helper class which provides storage for
+ * the most commonly used components of the MD-SAL. Additionally the base class provides some basic logging and
+ * initialization / clean up methods.
+ */
+
+public class VnfApiProvider implements AutoCloseable, VNFAPIService {
+
+    protected DataBroker dataBroker;
+    protected NotificationPublishService notificationService;
+    protected RpcProviderRegistry rpcRegistry;
+    protected BindingAwareBroker.RpcRegistration rpcRegistration;
+    private final Logger log = LoggerFactory.getLogger(VnfApiProvider.class);
+    private final ExecutorService executor;
+
+    private static final String PRELOAD_DATA = "] PreloadData: ";
+    private static final String SENDING_SUCCESS_RPC = "Sending Success rpc result due to external error";
+    public static final String REASON = "', Reason: '";
+    public static final String ERROR_CODE = "] error code: '";
+    public static final String INVALID_INPUT_INVALID_PRELOAD_TYPE = "invalid input, invalid preload-type";
+    public static final String BECAUSE_OF_INVALID_PRELOAD_TYPE = " because of invalid preload-type";
+    public static final String INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID = "invalid input, null or empty service-instance-id";
+    public static final String BECAUSE_OF_INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID = " because of invalid input, null or empty service-instance-id";
+    private static final String APP_NAME = "vnfapi";
+    private static final String VNF_API = "VNF-API";
+    private static final String OPERATIONAL_DATA = "operational-data";
+    private static final String READ_MD_SAL_STR = "Read MD-SAL (";
+    private static final String DATA_FOR_STR = ") data for [";
+    private static final String SERVICE_DATA_STR = "] ServiceData: ";
+    private static final String NO_DATA_FOUND_STR = "No data found in MD-SAL (";
+    private static final String EXCEPTION_READING_MD_SAL_STR = "Caught Exception reading MD-SAL (";
+    private static final String FOR_STR = ") for [";
+    private static final String INVALID_INPUT_VF_MODULE_STR = "invalid input, null or empty vf-module-id";
+    private static final String UPDATED_MD_SAL_STR = "Updated MD-SAL for ";
+    private static final String RETURNED_SUCCESS_STR = "Returned SUCCESS for ";
+    private static final String UPDATING_OPERATIONAL_TREE_STR = "Updating OPERATIONAL tree.";
+    private static final String UPDATING_MD_SAL_STR = "Updating MD-SAL for ";
+    private static final String CAUGHT_EXCEPTION_STR = "Caught Exception updating MD-SAL for ";
+    private static final String RETURNED_FAILED_STR = "Returned FAILED for ";
+    private static final String ADDING_INPUT_DATA_STR = "Adding INPUT data for ";
+    private static final String ADDING_OPERATIONAL_DATA_STR = "Adding OPERATIONAL data for ";
+    private static final String OPERATIONAL_DATA_STR = "] operational-data: ";
+    private static final String ADDING_CONFIG_DATA_STR = "Adding CONFIG data for ";
+    private static final String INPUT_STR = "] input: ";
+    private static final String CALLED_STR = " called.";
+    private static final String EXITING_STR = "exiting ";
+    private static final String INVALID_INPUT_VNF_INSTANCE_STR = "invalid input, null or empty vnf-instance-id";
+
+    private VNFSDNSvcLogicServiceClient svcLogicClient;
+
+    public VnfApiProvider(DataBroker dataBroker2, NotificationPublishService notificationPublishService,
+        RpcProviderRegistry rpcProviderRegistry, VNFSDNSvcLogicServiceClient client) {
+        log.info("Creating provider for " + APP_NAME);
+        executor = Executors.newFixedThreadPool(1);
+        dataBroker = dataBroker2;
+        notificationService = notificationPublishService;
+        rpcRegistry = rpcProviderRegistry;
+        svcLogicClient = client;
+        initialize();
+    }
+
+    private void initialize() {
+        log.info("Initializing provider for " + APP_NAME);
+        // Create the top level containers
+        createContainers();
+        try {
+            VnfSdnUtil.loadProperties();
+        } catch (Exception e) {
+            log.error("Caught Exception while trying to load properties file: ", e);
+        }
+
+        log.info("Initialization complete for " + APP_NAME);
+    }
+
+    private void createContainers() {
+        final WriteTransaction t = dataBroker.newReadWriteTransaction();
+
+        // Create the Vnfs container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(Vnfs.class), new VnfsBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(Vnfs.class), new VnfsBuilder().build());
+
+        // Create the PreloadVnfs container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(PreloadVnfs.class),
+            new PreloadVnfsBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(PreloadVnfs.class),
+            new PreloadVnfsBuilder().build());
+
+        // 1610 Create the PreloadVnfInstances container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(PreloadVnfInstances.class),
+            new PreloadVnfInstancesBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(PreloadVnfInstances.class),
+            new PreloadVnfInstancesBuilder().build());
+
+        // 1610 Create the VnfInstances container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(VnfInstances.class),
+            new VnfInstancesBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(VnfInstances.class),
+            new VnfInstancesBuilder().build());
+
+        // 1610 Create the PreloadVfModules container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(PreloadVfModules.class),
+            new PreloadVfModulesBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(PreloadVfModules.class),
+            new PreloadVfModulesBuilder().build());
+
+        // 1610 Create the VfModules container
+        t.merge(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(VfModules.class),
+            new VfModulesBuilder().build());
+        t.merge(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(VfModules.class),
+            new VfModulesBuilder().build());
+
+        try {
+            CheckedFuture checkedFuture = t.submit();
+            checkedFuture.get();
+            log.info("Create Containers succeeded!: ");
+
+        } catch (InterruptedException | ExecutionException e) {
+            log.error("Create Containers Failed: " + e);
+        }
+    }
+
+    @Override
+    public void close() throws Exception {
+        log.info("Closing provider for " + APP_NAME);
+        executor.shutdown();
+        rpcRegistration.close();
+        log.info("Successfully closed provider for " + APP_NAME);
+    }
+
+
+    private static class Iso8601Util {
+
+
+        private static TimeZone tz = TimeZone.getTimeZone("UTC");
+        private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+
+        private Iso8601Util() {
+        }
+
+        static {
+            df.setTimeZone(tz);
+        }
+
+        private static String now() {
+            return df.format(new Date());
+        }
+    }
+
+    private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, String errorCode, String errorMessage,
+        String ackFinal) {
+        serviceStatusBuilder.setResponseCode(errorCode);
+        serviceStatusBuilder.setResponseMessage(errorMessage);
+        serviceStatusBuilder.setFinalIndicator(ackFinal);
+        serviceStatusBuilder.setResponseTimestamp(Iso8601Util.now());
+    }
+
+    private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, RequestInformation requestInformation) {
+        if (requestInformation != null && requestInformation.getRequestAction() != null) {
+            switch (requestInformation.getRequestAction()) {
+                case VNFActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.VNFActivateRequest);
+                    break;
+                case ChangeVNFActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.ChangeVNFActivateRequest);
+                    break;
+                case DisconnectVNFRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.DisconnectVNFRequest);
+                    break;
+                case PreloadVNFRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.PreloadVNFRequest);
+                    break;
+                case DeletePreloadVNFRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.DeletePreloadVNFRequest);
+                    break;
+                // 1610 vnf-instance Requests
+                case VnfInstanceActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.VnfInstanceActivateRequest);
+                    break;
+                case ChangeVnfInstanceActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.ChangeVnfInstanceActivateRequest);
+                    break;
+                case DisconnectVnfInstanceRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.DisconnectVnfInstanceRequest);
+                    break;
+                case PreloadVnfInstanceRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.PreloadVnfInstanceRequest);
+                    break;
+                // 1610 vf-module Requests
+                case VfModuleActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.VfModuleActivateRequest);
+                    break;
+                case ChangeVfModuleActivateRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.ChangeVfModuleActivateRequest);
+                    break;
+                case DisconnectVfModuleRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.DisconnectVfModuleRequest);
+                    break;
+                case PreloadVfModuleRequest:
+                    serviceStatusBuilder.setVnfsdnAction(VnfsdnAction.PreloadVfModuleRequest);
+                    break;
+                default:
+                    log.error("Unknown RequestAction: " + requestInformation.getRequestAction());
+                    break;
+            }
+        }
+        if (requestInformation != null && requestInformation.getRequestSubAction() != null) {
+            switch (requestInformation.getRequestSubAction()) {
+                case SUPP:
+                    serviceStatusBuilder.setVnfsdnSubaction(VnfsdnSubaction.SUPP);
+                    break;
+                case CANCEL:
+                    serviceStatusBuilder.setVnfsdnSubaction(VnfsdnSubaction.CANCEL);
+                    break;
+                default:
+                    log.error("Unknown RequestSubAction: " + requestInformation.getRequestSubAction());
+                    break;
+            }
+        }
+    }
+
+    private void setServiceStatus(ServiceStatusBuilder serviceStatusBuilder, SdncRequestHeader requestHeader) {
+        if (requestHeader != null && requestHeader.getSvcAction() != null) {
+            switch (requestHeader.getSvcAction()) {
+                case Reserve:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Reserve);
+                    break;
+                case Activate:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Activate);
+                    break;
+                case Assign:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Assign);
+                    break;
+                case Delete:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Delete);
+                    break;
+                case Changeassign:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Changeassign);
+                    break;
+                case Changedelete:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Changedelete);
+                    break;
+                case Rollback:
+                    serviceStatusBuilder.setRpcAction(RpcAction.Rollback);
+                    break;
+                default:
+                    log.error("Unknown SvcAction: " + requestHeader.getSvcAction());
+                    break;
+            }
+        }
+    }
+
+    private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder) {
+        // default to config
+        getServiceData(siid, serviceDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+
+    private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder, LogicalDatastoreType type) {
+        // See if any data exists yet for this siid, if so grab it.
+        InstanceIdentifier serviceInstanceIdentifier = InstanceIdentifier
+            .builder(Vnfs.class)
+            .child(VnfList.class, new VnfListKey(siid))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, serviceInstanceIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            ServiceData serviceData = (ServiceData) data.get().getServiceData();
+            if (serviceData != null) {
+                log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + siid + SERVICE_DATA_STR + serviceData);
+                serviceDataBuilder.setSdncRequestHeader(serviceData.getSdncRequestHeader());
+                serviceDataBuilder.setRequestInformation(serviceData.getRequestInformation());
+                serviceDataBuilder.setServiceInformation(serviceData.getServiceInformation());
+                serviceDataBuilder.setVnfRequestInformation(serviceData.getVnfRequestInformation());
+                serviceDataBuilder.setVnfId(serviceData.getVnfId());
+                serviceDataBuilder.setVnfTopologyInformation(serviceData.getVnfTopologyInformation());
+                serviceDataBuilder.setOperStatus(serviceData.getOperStatus());
+            } else {
+                log.info("No service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
+        }
+    }
+
+    //1610 vnf-instance
+    private void getVnfInstanceServiceData(String siid, VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder) {
+        // default to config
+        getVnfInstanceServiceData(siid, vnfInstanceServiceDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+    //1610 vnf-instance
+    private void getVnfInstanceServiceData(String siid, VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder,
+        LogicalDatastoreType type) {
+        // See if any data exists yet for this siid, if so grab it.
+        InstanceIdentifier vnfInstanceIdentifier = InstanceIdentifier
+            .builder(VnfInstances.class)
+            .child(VnfInstanceList.class, new VnfInstanceListKey(siid))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, vnfInstanceIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            VnfInstanceServiceData vnfInstanceServiceData = data.get().getVnfInstanceServiceData();
+            if (vnfInstanceServiceData != null) {
+                log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + siid + "] VnfInstanceServiceData: "
+                    + vnfInstanceServiceData);
+                vnfInstanceServiceDataBuilder.setSdncRequestHeader(vnfInstanceServiceData.getSdncRequestHeader());
+                vnfInstanceServiceDataBuilder.setRequestInformation(vnfInstanceServiceData.getRequestInformation());
+                vnfInstanceServiceDataBuilder.setServiceInformation(vnfInstanceServiceData.getServiceInformation());
+                vnfInstanceServiceDataBuilder
+                    .setVnfInstanceRequestInformation(vnfInstanceServiceData.getVnfInstanceRequestInformation());
+                vnfInstanceServiceDataBuilder.setVnfInstanceId(vnfInstanceServiceData.getVnfInstanceId());
+                vnfInstanceServiceDataBuilder
+                    .setVnfInstanceTopologyInformation(vnfInstanceServiceData.getVnfInstanceTopologyInformation());
+                vnfInstanceServiceDataBuilder.setOperStatus(vnfInstanceServiceData.getOperStatus());
+            } else {
+                log.info("No vnf-instance-service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
+        }
+    }
+
+    //1610 vf-module
+    private void getVfModuleServiceData(String siid, VfModuleServiceDataBuilder vfModuleServiceDataBuilder) {
+        // default to config
+        getVfModuleServiceData(siid, vfModuleServiceDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+    //1610 vf-module
+    private void getVfModuleServiceData(String siid, VfModuleServiceDataBuilder vfModuleServiceDataBuilder,
+        LogicalDatastoreType type) {
+        // See if any data exists yet for this siid, if so grab it.
+        InstanceIdentifier vfModuleIdentifier = InstanceIdentifier
+            .builder(VfModules.class)
+            .child(VfModuleList.class, new VfModuleListKey(siid))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, vfModuleIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + siid + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            VfModuleServiceData vfModuleServiceData = data.get().getVfModuleServiceData();
+            if (vfModuleServiceData != null) {
+                log.info(
+                    READ_MD_SAL_STR + type + DATA_FOR_STR + siid + "] VfModuleServiceData: " + vfModuleServiceData);
+                vfModuleServiceDataBuilder.setSdncRequestHeader(vfModuleServiceData.getSdncRequestHeader());
+                vfModuleServiceDataBuilder.setRequestInformation(vfModuleServiceData.getRequestInformation());
+                vfModuleServiceDataBuilder.setServiceInformation(vfModuleServiceData.getServiceInformation());
+                vfModuleServiceDataBuilder
+                    .setVfModuleRequestInformation(vfModuleServiceData.getVfModuleRequestInformation());
+                vfModuleServiceDataBuilder.setVfModuleId(vfModuleServiceData.getVfModuleId());
+                vfModuleServiceDataBuilder
+                    .setVfModuleTopologyInformation(vfModuleServiceData.getVfModuleTopologyInformation());
+                vfModuleServiceDataBuilder.setOperStatus(vfModuleServiceData.getOperStatus());
+            } else {
+                log.info("No vf-module-service-data found in MD-SAL (" + type + FOR_STR + siid + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + siid + "] ");
+        }
+    }
+
+
+    private void getPreloadData(String vnfName, String vnfType, PreloadDataBuilder preloadDataBuilder) {
+        // default to config
+        getPreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+    private void getPreloadData(String preloadName, String preloadType, PreloadDataBuilder preloadDataBuilder,
+        LogicalDatastoreType type) {
+        // See if any data exists yet for this name/type, if so grab it.
+        InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier
+            .builder(PreloadVnfs.class)
+            .child(VnfPreloadList.class, new VnfPreloadListKey(preloadName, preloadType))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, preloadInstanceIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            PreloadData preloadData = (PreloadData) data.get().getPreloadData();
+            if (preloadData != null) {
+                log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType + PRELOAD_DATA
+                    + preloadData);
+                preloadDataBuilder.setVnfTopologyInformation(preloadData.getVnfTopologyInformation());
+                preloadDataBuilder.setNetworkTopologyInformation(preloadData.getNetworkTopologyInformation());
+                preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
+            } else {
+                log.info(
+                    "No preload-data found in MD-SAL (" + type + FOR_STR + preloadName + "," + preloadType + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
+        }
+    }
+
+    //1610 preload-vnf-instance
+    private void getVnfInstancePreloadData(String vnfName, String vnfType,
+        VnfInstancePreloadDataBuilder preloadDataBuilder) {
+        // default to config
+        getVnfInstancePreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+    //1610 preload-vnf-instance
+    private void getVnfInstancePreloadData(String preloadName, String preloadType,
+        VnfInstancePreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type) {
+        // See if any data exists yet for this name/type, if so grab it.
+        InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier
+            .builder(PreloadVnfInstances.class)
+            .child(VnfInstancePreloadList.class, new VnfInstancePreloadListKey(preloadName, preloadType))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, preloadInstanceIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            VnfInstancePreloadData preloadData = (VnfInstancePreloadData) data.get().getVnfInstancePreloadData();
+            if (preloadData != null) {
+                log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType
+                    + "] VnfInstancePreloadData: " + preloadData);
+                preloadDataBuilder.setVnfInstanceTopologyInformation(preloadData.getVnfInstanceTopologyInformation());
+                preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
+            } else {
+                log.info("No vnf-instance-preload-data found in MD-SAL (" + type + FOR_STR + preloadName + ","
+                    + preloadType + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
+        }
+    }
+
+    // 1610 preload-vf-module
+    private void getVfModulePreloadData(String vnfName, String vnfType,
+        VfModulePreloadDataBuilder preloadDataBuilder) {
+        // default to config
+        getVfModulePreloadData(vnfName, vnfType, preloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
+    }
+
+    private void getVfModulePreloadData(String preloadName, String preloadType,
+        VfModulePreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type) {
+        // See if any data exists yet for this name/type, if so grab it.
+        InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier
+            .builder(PreloadVfModules.class)
+            .child(VfModulePreloadList.class, new VfModulePreloadListKey(preloadName, preloadType))
+            .build();
+
+        Optional data = Optional.absent();
+        try (final ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction()) {
+            data = readTx.read(type, preloadInstanceIdentifier).get();
+        } catch (final InterruptedException | ExecutionException e) {
+            log.error(EXCEPTION_READING_MD_SAL_STR + type + FOR_STR + preloadName + "," + preloadType + "] ", e);
+        }
+
+        if (data.isPresent()) {
+            VfModulePreloadData preloadData = (VfModulePreloadData) data.get().getVfModulePreloadData();
+            if (preloadData != null) {
+                log.info(READ_MD_SAL_STR + type + DATA_FOR_STR + preloadName + "," + preloadType
+                    + "] VfModulePreloadData: " + preloadData);
+                preloadDataBuilder.setVfModuleTopologyInformation(preloadData.getVfModuleTopologyInformation());
+                preloadDataBuilder.setOperStatus(preloadData.getOperStatus());
+            } else {
+                log.info(
+                    "No preload-data found in MD-SAL (" + type + FOR_STR + preloadName + "," + preloadType + "] ");
+            }
+        } else {
+            log.info(NO_DATA_FOUND_STR + type + FOR_STR + preloadName + "," + preloadType + "] ");
+        }
+    }
+
+    private void deleteVnfList(final VnfList entry, LogicalDatastoreType storeType) {
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(Vnfs.class)
+            .child(VnfList.class, entry.key())
+            .build();
+
+        int optimisticLockTries = 2;
+        boolean tryAgain = true;
+        while (tryAgain) {
+            tryAgain = false;
+            try {
+                WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
+                tx.delete(storeType, path);
+                tx.submit().checkedGet();
+                log.debug("DataStore delete succeeded");
+            } catch (OptimisticLockFailedException e) {
+                if (--optimisticLockTries <= 0) {
+                    log.debug("Got OptimisticLockFailedException on last try - failing ");
+                    throw new IllegalStateException(e);
+                }
+                log.debug("Got OptimisticLockFailedException - trying again ");
+                tryAgain = true;
+
+            } catch (final TransactionCommitFailedException e) {
+                Throwable eCause = e.getCause();
+
+                if (eCause instanceof org.opendaylight.mdsal.common.api.TransactionCommitFailedException) {
+                    log.debug("Nested TransactionCommitFailed exception - getting next cause");
+                    eCause = eCause.getCause();
+                } else {
+                    log.debug("Got TransactionCommitFailedException, caused by {}", eCause.getClass().getName());
+                }
+
+                if (eCause instanceof ModifiedNodeDoesNotExistException) {
+                    log.debug("Ignoring ModifiedNodeDoesNotExistException");
+                    break;
+                }
+
+                log.debug("Delete DataStore failed due to exception", eCause);
+                throw new IllegalStateException(e);
+            }
+        }
+    }
+
+    private void saveVnfList(final VnfList entry, boolean merge, LogicalDatastoreType storeType) {
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(Vnfs.class)
+            .child(VnfList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    //1610 vnf-instance
+    private void saveVnfInstanceList(final VnfInstanceList entry, boolean merge, LogicalDatastoreType storeType) {
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(VnfInstances.class)
+            .child(VnfInstanceList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    //1610 vf-module
+    private void saveVfModuleList(final VfModuleList entry, boolean merge, LogicalDatastoreType storeType) {
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(VfModules.class)
+            .child(VfModuleList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    private void savePreloadList(final VnfPreloadList entry, boolean merge, LogicalDatastoreType storeType) {
+
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(PreloadVnfs.class)
+            .child(VnfPreloadList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    //1610 preload vnf-instance
+    private void saveVnfInstancePreloadList(final VnfInstancePreloadList entry, boolean merge,
+        LogicalDatastoreType storeType) {
+
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(PreloadVnfInstances.class)
+            .child(VnfInstancePreloadList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    //1610 preload vf-module
+    private void saveVfModulePreloadList(final VfModulePreloadList entry, boolean merge,
+        LogicalDatastoreType storeType) {
+
+        // Each entry will be identifiable by a unique key, we have to create that identifier
+        InstanceIdentifier path = InstanceIdentifier
+            .builder(PreloadVfModules.class)
+            .child(VfModulePreloadList.class, entry.key())
+            .build();
+
+        tryUpdateDataStore(entry, merge, storeType, path);
+    }
+
+    private  void tryUpdateDataStore(T entry, boolean merge, LogicalDatastoreType storeType,
+        InstanceIdentifier path) {
+
+        int tries = 2;
+        while (true) {
+            try {
+                WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
+                if (merge) {
+                    tx.merge(storeType, path, entry);
+                } else {
+                    tx.put(storeType, path, entry);
+                }
+                tx.submit().checkedGet();
+                log.debug("Update DataStore succeeded");
+                break;
+            } catch (OptimisticLockFailedException e) {
+                if (--tries <= 0) {
+                    log.debug("Got OptimisticLockFailedException on last try - failing ");
+                    throw new IllegalStateException(e);
+                }
+                log.debug("Got OptimisticLockFailedException - trying again ");
+            } catch (final TransactionCommitFailedException e) {
+                log.debug("Update DataStore failed");
+                throw new IllegalStateException(e);
+            }
+        }
+    }
+
+    //Save the requestId into MDC
+    private void setRequestIdAsMDC(String requestId) {
+        MDC.put("RequestId", requestId);
+    }
+
+    //1610 vnf-instance-topology-operation
+
+    private Boolean validateVnfInstanceTopologyOperationInput(VnfInstanceTopologyOperationInput input) {
+        return input != null
+            && input.getVnfInstanceRequestInformation() != null
+            && input.getVnfInstanceRequestInformation().getVnfInstanceId() != null
+            && input.getVnfInstanceRequestInformation().getVnfInstanceId().length() != 0;
+    }
+
+    private ListenableFuture> buildVnfInstanceTopologyOperationOutputWithtError(
+        String responseCode, String responseMessage, String ackFinalIndicator) {
+        VnfInstanceTopologyOperationOutputBuilder responseBuilder = new VnfInstanceTopologyOperationOutputBuilder();
+        responseBuilder.setResponseCode(responseCode);
+        responseBuilder.setResponseMessage(responseMessage);
+        responseBuilder.setAckFinalIndicator(ackFinalIndicator);
+        return Futures.immediateFuture(RpcResultBuilder
+            .status(true)
+            .withResult(responseBuilder.build())
+            .build());
+    }
+
+    @Override
+    public ListenableFuture> vnfInstanceTopologyOperation(
+        VnfInstanceTopologyOperationInput input) {
+
+        final String svcOperation = "vnf-instance-topology-operation";
+        VnfInstanceServiceData vnfInstanceServiceData;
+        ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        VnfInstanceTopologyOperationOutputBuilder responseBuilder = new VnfInstanceTopologyOperationOutputBuilder();
+
+        if (!validateVnfInstanceTopologyOperationInput(input)) {
+            log.debug(EXITING_STR + svcOperation + " because of " + INVALID_INPUT_VNF_INSTANCE_STR);
+            return buildVnfInstanceTopologyOperationOutputWithtError("403",
+                INVALID_INPUT_VNF_INSTANCE_STR,
+                "Y");
+        }
+
+        // Grab the service instance ID from the input buffer
+        String viid = input.getVnfInstanceRequestInformation().getVnfInstanceId();
+        String preloadName = input.getVnfInstanceRequestInformation().getVnfInstanceName();
+        String preloadType = input.getVnfInstanceRequestInformation().getVnfModelId();
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        // Get vnf-instance-preload-data
+        VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = new VnfInstancePreloadDataBuilder();
+        getVnfInstancePreloadData(preloadName, preloadType, vnfInstancePreloadDataBuilder);
+
+        // Get service-data
+        VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = new VnfInstanceServiceDataBuilder();
+        getVnfInstanceServiceData(viid, vnfInstanceServiceDataBuilder);
+
+        // Get operational-data
+        VnfInstanceServiceDataBuilder operDataBuilder = new VnfInstanceServiceDataBuilder();
+        getVnfInstanceServiceData(viid, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        // Set the serviceStatus based on input
+        setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader());
+        setServiceStatus(serviceStatusBuilder, input.getRequestInformation());
+
+        //
+        // setup a service-data object builder
+        // ACTION vnf-topology-operationa
+        // INPUT:
+        //  USES sdnc-request-header;
+        //  USES request-information;
+        //  USES service-information;
+        //  USES vnf-request-information
+        // OUTPUT:
+        //  USES vnf-topology-response-body;
+        //  USES vnf-information
+        //  USES service-information
+        //
+        // container service-data
+        //   uses vnf-configuration-information;
+        //   uses oper-status;
+
+        log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + viid + INPUT_STR + input);
+        VnfInstanceTopologyOperationInputBuilder inputBuilder = new VnfInstanceTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + viid + OPERATIONAL_DATA_STR + operDataBuilder
+            .build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        log.info(
+            ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preload-data: "
+                + vnfInstancePreloadDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, "vnf-instance-preload-data", vnfInstancePreloadDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient
+                    .execute(VNF_API, svcOperation, null, "sync", vnfInstanceServiceDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        setServiceStatus(serviceStatusBuilder, errorCode, errorMessage, ackFinal);
+        serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete);
+        serviceStatusBuilder.setRpcName(RpcName.VnfInstanceTopologyOperation);
+
+        if (errorCode != null && errorCode.length() != 0 && !(errorCode.equals("0") || errorCode.equals("200"))) {
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+            VnfInstanceListBuilder vnfInstanceListBuilder = new VnfInstanceListBuilder();
+            vnfInstanceListBuilder.setVnfInstanceId(viid);
+            vnfInstanceListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            try {
+                saveVnfInstanceList(vnfInstanceListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + viid + "] \n", e);
+            }
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
+            RpcResult rpcResult = RpcResultBuilder
+                .status(true)
+                .withResult(responseBuilder.build())
+                .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            vnfInstanceServiceData = vnfInstanceServiceDataBuilder.build();
+            log.info(UPDATING_MD_SAL_STR + svcOperation + " [" + viid + "] VnfInstanceServiceData: "
+                + vnfInstanceServiceData);
+            // svc-configuration-list
+            VnfInstanceListBuilder vnfInstanceListBuilder = new VnfInstanceListBuilder();
+            vnfInstanceListBuilder.setVnfInstanceServiceData(vnfInstanceServiceData);
+            vnfInstanceListBuilder.setVnfInstanceId(vnfInstanceServiceData.getVnfInstanceId());
+            vnfInstanceListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            saveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
+                // Only update operational tree on Delete or Activate
+                if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input.getSdncRequestHeader()
+                    .getSvcAction().equals(SvcAction.Activate)) {
+                    log.info(UPDATING_OPERATIONAL_TREE_STR);
+                    saveVnfInstanceList(vnfInstanceListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+                }
+            }
+            VnfInstanceInformationBuilder vnfInstanceInformationBuilder = new VnfInstanceInformationBuilder();
+            vnfInstanceInformationBuilder.setVnfInstanceId(viid);
+            responseBuilder.setVnfInstanceInformation(vnfInstanceInformationBuilder.build());
+            responseBuilder.setServiceInformation(vnfInstanceServiceData.getServiceInformation());
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + viid + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
+            RpcResult rpcResult = RpcResultBuilder
+                .status(true)
+                .withResult(responseBuilder.build())
+                .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + viid + "] ");
+        log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + viid + "] " + responseBuilder.build());
+
+        RpcResult rpcResult = RpcResultBuilder
+            .status(true)
+            .withResult(responseBuilder.build())
+            .build();
+        // return success
+        return Futures.immediateFuture(rpcResult);
+    }
+
+    //1610 vf-module-topology-operation
+    @Override
+    public ListenableFuture> vfModuleTopologyOperation(
+        VfModuleTopologyOperationInput input) {
+
+        final String svcOperation = "vf-module-topology-operation";
+        VfModuleServiceData vfModuleServiceData;
+        ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        VfModuleTopologyOperationOutputBuilder responseBuilder = new VfModuleTopologyOperationOutputBuilder();
+
+        // Validate vf-module-id from vf-module-request-information
+        if (input == null || input.getVfModuleRequestInformation() == null
+            || input.getVfModuleRequestInformation().getVfModuleId() == null) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vf-module-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_VF_MODULE_STR);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult = RpcResultBuilder
+                .status(true)
+                .withResult(responseBuilder.build())
+                .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the vf-module-request-information.vf-module-id from the input buffer
+        String vfid = input.getVfModuleRequestInformation().getVfModuleId();
+        String preloadName = input.getVfModuleRequestInformation().getVfModuleName();
+        String preloadType = input.getVfModuleRequestInformation().getVfModuleModelId();
+
+        // Make sure we have a valid siid
+        if (vfid == null || vfid.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid vf-module-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_VF_MODULE_STR);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult = RpcResultBuilder
+                .status(true)
+                .withResult(responseBuilder.build())
+                .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // 1610 add vf-module-id to vnf-instance-list.vf-module-relationship-list
+        String viid = input.getVfModuleRequestInformation().getVnfInstanceId();
+
+        if (viid == null || viid.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid vnf-instance-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_VNF_INSTANCE_STR);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult = RpcResultBuilder
+                .status(true)
+                .withResult(responseBuilder.build())
+                .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        // Get vf-module-preload-data
+        VfModulePreloadDataBuilder vfModulePreloadDataBuilder = new VfModulePreloadDataBuilder();
+        getVfModulePreloadData(preloadName, preloadType, vfModulePreloadDataBuilder);
+
+        // Get vf-module-service-data
+        VfModuleServiceDataBuilder vfModuleServiceDataBuilder = new VfModuleServiceDataBuilder();
+        getVfModuleServiceData(vfid, vfModuleServiceDataBuilder);
+
+        // Get vf-module operation-data
+        VfModuleServiceDataBuilder operDataBuilder = new VfModuleServiceDataBuilder();
+        getVfModuleServiceData(vfid, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        // 1610 Need to pull vnf-instance-list.vf-module-relationship-list from MD-SAL
+        VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = new VnfInstanceServiceDataBuilder();
+        getVnfInstanceServiceData(viid, vnfInstanceServiceDataBuilder);
+
+        // vnf-instance operational-data
+        VnfInstanceServiceDataBuilder vnfInstanceOperDataBuilder = new VnfInstanceServiceDataBuilder();
+        getVnfInstanceServiceData(viid, vnfInstanceOperDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        // Set the serviceStatus based on input
+        setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader());
+        setServiceStatus(serviceStatusBuilder, input.getRequestInformation());
+
+        //
+        // setup a service-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  USES request-information;
+        //  USES service-information;
+        //  USES vnf-request-information
+        // OUTPUT:
+        //  USES vnf-information
+        //  USES service-information
+        //
+        // container service-data
+
+        log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + vfid + INPUT_STR + input);
+        VfModuleTopologyOperationInputBuilder inputBuilder = new VfModuleTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + vfid + "] vf-module operational-data: "
+            + operDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        log.info(ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+            + "] vf-module-preload-data: " + vfModulePreloadDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, "vf-module-preload-data", vfModulePreloadDataBuilder);
+
+        log.info("Adding vnf-instance CONFIG data for " + svcOperation + " [" + viid + "] vnf-instance-service-data: "
+            + vnfInstanceServiceDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, "vnf-instance-service-data", vnfInstanceServiceDataBuilder);
+
+        log.info("Adding vnf-instance OPERATIONAL data for " + svcOperation + " [" + viid
+            + "] vnf-instance operational-data: " + vnfInstanceOperDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, "vnf-instance-operational-data", vnfInstanceOperDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient
+                    .execute(VNF_API, svcOperation, null, "sync", vfModuleServiceDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        setServiceStatus(serviceStatusBuilder, errorCode, errorMessage, ackFinal);
+        serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete);
+        serviceStatusBuilder.setRpcName(RpcName.VfModuleTopologyOperation);
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+            VfModuleListBuilder vfModuleListBuilder = new VfModuleListBuilder();
+            vfModuleListBuilder.setVfModuleId(vfid);
+            vfModuleListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            try {
+                saveVfModuleList(vfModuleListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + vfid + "] \n", e);
+            }
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        // save vf-module-service-data in MD-SAL
+        try {
+            vfModuleServiceData = vfModuleServiceDataBuilder.build();
+            log.info(
+                UPDATING_MD_SAL_STR + svcOperation + " [" + vfid + "] VfModuleServiceData: " + vfModuleServiceData);
+            // vf-module-list
+            VfModuleListBuilder vfModuleListBuilder = new VfModuleListBuilder();
+            vfModuleListBuilder.setVfModuleServiceData(vfModuleServiceData);
+            vfModuleListBuilder.setVfModuleId(vfModuleServiceData.getVfModuleId());
+            vfModuleListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            saveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
+                // Only update operational tree on Delete or Activate
+                if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input.getSdncRequestHeader()
+                    .getSvcAction().equals(SvcAction.Activate)) {
+                    log.info(UPDATING_OPERATIONAL_TREE_STR);
+                    saveVfModuleList(vfModuleListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+                }
+            }
+            VfModuleInformationBuilder vfModuleInformationBuilder = new VfModuleInformationBuilder();
+            vfModuleInformationBuilder.setVfModuleId(vfid);
+            responseBuilder.setVfModuleInformation(vfModuleInformationBuilder.build());
+            responseBuilder.setServiceInformation(vfModuleServiceData.getServiceInformation());
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + vfid + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info("Updated vf-module in MD-SAL for " + svcOperation + " [" + vfid + "] ");
+        log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + vfid + "] " + responseBuilder.build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+        // return success
+        return Futures.immediateFuture(rpcResult);
+    }
+
+    @Override
+    public ListenableFuture> vnfTopologyOperation(
+        VnfTopologyOperationInput input) {
+        final String svcOperation = "vnf-topology-operation";
+        ServiceData serviceData;
+        ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        VnfTopologyOperationOutputBuilder responseBuilder = new VnfTopologyOperationOutputBuilder();
+
+        if (input == null || input.getServiceInformation() == null
+            || input.getServiceInformation().getServiceInstanceId() == null
+            || input.getServiceInformation().getServiceInstanceId().length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getVnfRequestInformation() == null || input.getVnfRequestInformation().getVnfId() == null
+            || input.getVnfRequestInformation().getVnfId().length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vf-module-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, null or empty vf-module-id");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the service instance ID from the input buffer
+        String siid = input.getVnfRequestInformation().getVnfId();
+        String preloadName = input.getVnfRequestInformation().getVnfName();
+        String preloadType = input.getVnfRequestInformation().getVnfType();
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, preloadDataBuilder);
+
+        ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder();
+        getServiceData(siid, serviceDataBuilder);
+
+        ServiceDataBuilder operDataBuilder = new ServiceDataBuilder();
+        getServiceData(siid, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        // Set the serviceStatus based on input
+        setServiceStatus(serviceStatusBuilder, input.getSdncRequestHeader());
+        setServiceStatus(serviceStatusBuilder, input.getRequestInformation());
+
+        //
+        // setup a service-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  USES request-information;
+        //  USES vnf-request-information
+        // OUTPUT:
+        //  USES vnf-information
+        //  USES service-information
+        //
+        // container service-data
+        //   uses oper-status;
+
+        log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + siid + INPUT_STR + input);
+        VnfTopologyOperationInputBuilder inputBuilder = new VnfTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + siid + OPERATIONAL_DATA_STR + operDataBuilder
+            .build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        log.info(
+            "Adding CONFIG data for " + svcOperation + " [" + preloadName + "," + preloadType + "] preload-data: "
+                + preloadDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, "preload-data", preloadDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", serviceDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + siid, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        setServiceStatus(serviceStatusBuilder, errorCode, errorMessage, ackFinal);
+        serviceStatusBuilder.setRequestStatus(RequestStatus.Synccomplete);
+        serviceStatusBuilder.setRpcName(RpcName.VnfTopologyOperation);
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+            VnfListBuilder vnfListBuilder = new VnfListBuilder();
+            vnfListBuilder.setVnfId(siid);
+            vnfListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            try {
+                saveVnfList(vnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
+            }
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            serviceData = serviceDataBuilder.build();
+            log.info(UPDATING_MD_SAL_STR + svcOperation + " [" + siid + "] ServiceData: " + serviceData);
+            // svc-configuration-list
+            VnfListBuilder vnfListBuilder = new VnfListBuilder();
+            vnfListBuilder.setServiceData(serviceData);
+            vnfListBuilder.setVnfId(serviceData.getVnfId());
+            siid = serviceData.getVnfId();
+            vnfListBuilder.setServiceStatus(serviceStatusBuilder.build());
+            saveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) {
+                // Only update operational tree on Delete or Activate
+                if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) {
+                    log.info(UPDATING_OPERATIONAL_TREE_STR);
+                    saveVnfList(vnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+                } else if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete) || input
+                    .getSdncRequestHeader().getSvcAction().equals(SvcAction.Rollback)) {
+                    log.info("Delete OPERATIONAL tree.");
+                    deleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.CONFIGURATION);
+                    deleteVnfList(vnfListBuilder.build(), LogicalDatastoreType.OPERATIONAL);
+                }
+            }
+            VnfInformationBuilder vnfInformationBuilder = new VnfInformationBuilder();
+            vnfInformationBuilder.setVnfId(siid);
+            responseBuilder.setVnfInformation(vnfInformationBuilder.build());
+            responseBuilder.setServiceInformation(serviceData.getServiceInformation());
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + siid + "] ");
+        log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+        // return success
+        return Futures.immediateFuture(rpcResult);
+    }
+
+    @Override
+    public ListenableFuture> networkTopologyOperation(
+        NetworkTopologyOperationInput input) {
+
+        final String svcOperation = "network-topology-operation";
+        ServiceData serviceData;
+        ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder();
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        NetworkTopologyOperationOutputBuilder responseBuilder = new NetworkTopologyOperationOutputBuilder();
+
+        if (input == null || input.getServiceInformation() == null
+            || input.getServiceInformation().getServiceInstanceId() == null
+            || input.getServiceInformation().getServiceInstanceId().length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getNetworkRequestInformation() == null
+            || input.getNetworkRequestInformation().getNetworkName() == null) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty service-instance-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_NULL_OR_EMPTY_SERVICE_INSTANCE_ID);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the service instance ID from the input buffer
+        String siid;
+        if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Assign)) {
+            siid = input.getNetworkRequestInformation().getNetworkName();
+        } else {
+            siid = input.getNetworkRequestInformation().getNetworkId();
+        }
+        String preloadName = input.getNetworkRequestInformation().getNetworkName();
+        String preloadType = input.getNetworkRequestInformation().getNetworkType();
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, preloadDataBuilder);
+
+        log.info(ADDING_INPUT_DATA_STR + svcOperation + " [" + siid + INPUT_STR + input);
+        NetworkTopologyOperationInputBuilder inputBuilder = new NetworkTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+        String networkId = "error";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+            networkId = respProps.getProperty("networkId", "0");
+        }
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            NetworkInformationBuilder networkInformationBuilder = new NetworkInformationBuilder();
+            networkInformationBuilder.setNetworkId(networkId);
+            responseBuilder.setNetworkInformation(networkInformationBuilder.build());
+            responseBuilder.setServiceInformation(input.getServiceInformation());
+        } catch (IllegalStateException e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + siid + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            // return error
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + siid + "] ");
+        log.info(RETURNED_SUCCESS_STR + svcOperation + " [" + siid + "] " + responseBuilder.build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
+        // return success
+        return Futures.immediateFuture(rpcResult);
+    }
+
+    @Override
+    public ListenableFuture> preloadVnfTopologyOperation(
+        PreloadVnfTopologyOperationInput input) {
+
+        final String svcOperation = "preload-vnf-topology-operation";
+        PreloadData preloadData;
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        PreloadVnfTopologyOperationOutputBuilder responseBuilder = new PreloadVnfTopologyOperationOutputBuilder();
+
+        // Result from savePreloadData
+
+        if (input == null || input.getVnfTopologyInformation() == null
+            || input.getVnfTopologyInformation().getVnfTopologyIdentifier() == null
+            || input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfName() == null
+            || input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfType() == null) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or empty vnf-name or vnf-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, null or empty vnf-name or vnf-type");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the name and type from the input buffer
+        String preloadName = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfName();
+        String preloadType = input.getVnfTopologyInformation().getVnfTopologyIdentifier().getVnfType();
+
+        // Make sure we have a preload_name and preload_type
+        if (preloadName == null || preloadName.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_INVALID_PRELOAD_TYPE);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (preloadType == null || preloadType.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage(INVALID_INPUT_INVALID_PRELOAD_TYPE);
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, preloadDataBuilder);
+        PreloadDataBuilder operDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        //
+        // setup a preload-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  USES request-information;
+        //  uses vnf-topology-information;
+        // OUTPUT:
+        //
+        // container preload-data
+        log.info(
+            ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
+        PreloadVnfTopologyOperationInputBuilder inputBuilder = new PreloadVnfTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+            + OPERATIONAL_DATA_STR + operDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+
+            VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
+            preloadVnfListBuilder.setVnfName(preloadName);
+            preloadVnfListBuilder.setVnfType(preloadType);
+            preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build());
+            log.error(
+                RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+                    + errorCode + "', Reason: '" + errorMessage + "'");
+            try {
+                savePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(
+                    CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                        + "] \n", e);
+            }
+            log.debug(SENDING_SUCCESS_RPC);
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            preloadData = preloadDataBuilder.build();
+            log.info(
+                UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+                    + preloadData);
+            // svc-configuration-list
+            VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
+            preloadVnfListBuilder.setVnfName(preloadName);
+            preloadVnfListBuilder.setVnfType(preloadType);
+            preloadVnfListBuilder.setPreloadData(preloadData);
+
+            // SDNGC-989 set merge flag to false
+            savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            log.info(UPDATING_OPERATIONAL_TREE_STR);
+            savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+                + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(false).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
+        log.info(
+            RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
+                .build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                .build();
+        return Futures.immediateFuture(rpcResult);
+    }
+
+    //1610 preload-vnf-instance-topology-operation
+    @Override
+    public ListenableFuture> preloadVnfInstanceTopologyOperation(
+        PreloadVnfInstanceTopologyOperationInput input) {
+
+        final String svcOperation = "preload-vnf-instance-topology-operation";
+        VnfInstancePreloadData vnfInstancePreloadData;
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        PreloadVnfInstanceTopologyOperationOutputBuilder responseBuilder =
+            new PreloadVnfInstanceTopologyOperationOutputBuilder();
+
+        if (input == null || input.getVnfInstanceTopologyInformation() == null
+            || input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfInstanceName() == null
+            || input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfModelId() == null) {
+            log.debug(EXITING_STR + svcOperation
+                + " because of invalid input, null or empty vnf-instance-name or vnf-model-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, null or empty vnf-instance-name or vnf-model-id");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the name and type from the input buffer
+        String preloadName =
+            input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfInstanceName();
+        String preloadType = input.getVnfInstanceTopologyInformation().getVnfInstanceIdentifiers().getVnfModelId();
+
+        // Make sure we have a preloadName and preloadType
+        if (preloadName == null || preloadName.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, invalid preload-name");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (preloadType == null || preloadType.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, invalid preload-type");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = new VnfInstancePreloadDataBuilder();
+        getVnfInstancePreloadData(preloadName, preloadType, vnfInstancePreloadDataBuilder);
+        VnfInstancePreloadDataBuilder operDataBuilder = new VnfInstancePreloadDataBuilder();
+        getVnfInstancePreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        //
+        // setup a preload-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  uses vnf-topology-information;
+        // OUTPUT:
+        // container preload-data
+        log.info(
+            ADDING_CONFIG_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
+        PreloadVnfInstanceTopologyOperationInputBuilder inputBuilder =
+            new PreloadVnfInstanceTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+            + OPERATIONAL_DATA_STR + operDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient
+                    .execute(VNF_API, svcOperation, null, "sync", vnfInstancePreloadDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+
+            VnfInstancePreloadListBuilder vnfInstancePreloadListBuilder = new VnfInstancePreloadListBuilder();
+            vnfInstancePreloadListBuilder.setVnfInstanceName(preloadName);
+            vnfInstancePreloadListBuilder.setVnfModelId(preloadType);
+            vnfInstancePreloadListBuilder.setVnfInstancePreloadData(vnfInstancePreloadDataBuilder.build());
+            log.error(
+                RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+                    + errorCode + "', Reason: '" + errorMessage + "'");
+            try {
+                saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), true,
+                    LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(
+                    CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                        + "] \n", e);
+            }
+            log.debug(SENDING_SUCCESS_RPC);
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            vnfInstancePreloadData = vnfInstancePreloadDataBuilder.build();
+            log.info(
+                UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+                    + vnfInstancePreloadData);
+            // svc-configuration-list
+            VnfInstancePreloadListBuilder vnfInstancePreloadListBuilder = new VnfInstancePreloadListBuilder();
+            vnfInstancePreloadListBuilder.setVnfInstanceName(preloadName);
+            vnfInstancePreloadListBuilder.setVnfModelId(preloadType);
+            vnfInstancePreloadListBuilder.setVnfInstancePreloadData(vnfInstancePreloadData);
+
+            // SDNGC-989 set merge flag to false
+            saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false,
+                LogicalDatastoreType.CONFIGURATION);
+            log.info(UPDATING_OPERATIONAL_TREE_STR);
+            saveVnfInstancePreloadList(vnfInstancePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+                + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(false)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
+        log.info(
+            RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
+                .build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                .build();
+        return Futures.immediateFuture(rpcResult);
+    }
+
+
+    //1610 preload-vf-module-topology-operation
+    @Override
+    public ListenableFuture> preloadVfModuleTopologyOperation(
+        PreloadVfModuleTopologyOperationInput input) {
+
+        final String svcOperation = "preload-vf-module-topology-operation";
+        VfModulePreloadData vfModulePreloadData;
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        PreloadVfModuleTopologyOperationOutputBuilder responseBuilder =
+            new PreloadVfModuleTopologyOperationOutputBuilder();
+
+        // Result from savePreloadData
+
+        if (input == null || input.getVfModuleTopologyInformation() == null
+            || input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleName() == null
+            || input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleModelId() == null) {
+            log.debug(EXITING_STR + svcOperation
+                + " because of invalid input, null or empty vf-module-name or vf-module-model-id");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, null or empty vf-module-name or vf-module-model-id");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the name and type from the input buffer
+        String preloadName = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleName();
+        String preloadType = input.getVfModuleTopologyInformation().getVfModuleIdentifiers().getVfModuleModelId();
+
+        // Make sure we have a preloadName and preloadType
+        if (preloadName == null || preloadName.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, invalid preload-name");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+        if (preloadType == null || preloadType.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("invalid input, invalid preload-type");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        VfModulePreloadDataBuilder vfModulePreloadDataBuilder = new VfModulePreloadDataBuilder();
+        getVfModulePreloadData(preloadName, preloadType, vfModulePreloadDataBuilder);
+        VfModulePreloadDataBuilder operDataBuilder = new VfModulePreloadDataBuilder();
+        getVfModulePreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        //
+        // setup a preload-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  USES request-information;
+        //  uses vnf-topology-information;
+        // OUTPUT:
+        //
+        // container preload-data
+
+        log.info(
+            ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
+        PreloadVfModuleTopologyOperationInputBuilder inputBuilder =
+            new PreloadVfModuleTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+            + OPERATIONAL_DATA_STR + operDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient
+                    .execute(VNF_API, svcOperation, null, "sync", vfModulePreloadDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+
+            VfModulePreloadListBuilder vfModulePreloadListBuilder = new VfModulePreloadListBuilder();
+            vfModulePreloadListBuilder.setVfModuleName(preloadName);
+            vfModulePreloadListBuilder.setVfModuleModelId(preloadType);
+            vfModulePreloadListBuilder.setVfModulePreloadData(vfModulePreloadDataBuilder.build());
+            log.error(
+                RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+                    + errorCode + "', Reason: '" + errorMessage + "'");
+            try {
+                saveVfModulePreloadList(vfModulePreloadListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(
+                    CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                        + "] \n", e);
+            }
+            log.debug(SENDING_SUCCESS_RPC);
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            vfModulePreloadData = vfModulePreloadDataBuilder.build();
+            log.info(
+                UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+                    + vfModulePreloadData);
+            // svc-configuration-list
+            VfModulePreloadListBuilder vfModulePreloadListBuilder = new VfModulePreloadListBuilder();
+            vfModulePreloadListBuilder.setVfModuleName(preloadName);
+            vfModulePreloadListBuilder.setVfModuleModelId(preloadType);
+            vfModulePreloadListBuilder.setVfModulePreloadData(vfModulePreloadData);
+
+            // SDNGC-989 set merge flag to false
+            saveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            log.info(UPDATING_OPERATIONAL_TREE_STR);
+            saveVfModulePreloadList(vfModulePreloadListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+                + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(false)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
+        log.info(
+            RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
+                .build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                .build();
+        return Futures.immediateFuture(rpcResult);
+    }
+
+
+    @Override
+    public ListenableFuture> preloadNetworkTopologyOperation(
+        PreloadNetworkTopologyOperationInput input) {
+
+        final String svcOperation = "preload-network-topology-operation";
+        PreloadData preloadData = null;
+        Properties parms = new Properties();
+
+        log.info(svcOperation + CALLED_STR);
+        // create a new response object
+        PreloadNetworkTopologyOperationOutputBuilder responseBuilder =
+            new PreloadNetworkTopologyOperationOutputBuilder();
+
+        // Result from savePreloadData
+
+        if (input == null || input.getNetworkTopologyInformation() == null
+            || input.getNetworkTopologyInformation().getNetworkTopologyIdentifier() == null
+            || input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkName() == null
+            || input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkType() == null) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid input, null or" +
+                " empty network-name or network-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("input, null or empty network-name or network-type");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Grab the name and type from the input buffer
+        String preloadName = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkName();
+        String preloadType = input.getNetworkTopologyInformation().getNetworkTopologyIdentifier().getNetworkType();
+
+        // Make sure we have a preloadName and preloadType
+        if (preloadName == null || preloadName.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-name");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("input, invalid preload-name");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (preloadType == null || preloadType.length() == 0) {
+            log.debug(EXITING_STR + svcOperation + " because of invalid preload-type");
+            responseBuilder.setResponseCode("403");
+            responseBuilder.setResponseMessage("input, invalid preload-type");
+            responseBuilder.setAckFinalIndicator("Y");
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        if (input.getSdncRequestHeader() != null) {
+            responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId());
+            setRequestIdAsMDC(input.getSdncRequestHeader().getSvcRequestId());
+        }
+
+        PreloadDataBuilder preloadDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, preloadDataBuilder);
+
+        PreloadDataBuilder operDataBuilder = new PreloadDataBuilder();
+        getPreloadData(preloadName, preloadType, operDataBuilder, LogicalDatastoreType.OPERATIONAL);
+
+        //
+        // setup a preload-data object builder
+        // ACTION vnf-topology-operation
+        // INPUT:
+        //  USES request-information;
+        //  uses vnf-topology-information;
+        // OUTPUT:
+        //
+        // container preload-data
+        log.info(
+            ADDING_INPUT_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType + INPUT_STR + input);
+        PreloadNetworkTopologyOperationInputBuilder inputBuilder =
+            new PreloadNetworkTopologyOperationInputBuilder(input);
+        VnfSdnUtil.toProperties(parms, inputBuilder.build());
+        log.info(ADDING_OPERATIONAL_DATA_STR + svcOperation + " [" + preloadName + "," + preloadType
+            + OPERATIONAL_DATA_STR + operDataBuilder.build());
+        VnfSdnUtil.toProperties(parms, OPERATIONAL_DATA, operDataBuilder);
+
+        // Call SLI sync method
+        // Get SvcLogicService reference
+        Properties respProps = null;
+        String errorCode = "200";
+        String errorMessage = null;
+        String ackFinal = "Y";
+
+        try {
+            if (svcLogicClient.hasGraph(VNF_API, svcOperation, null, "sync")) {
+                respProps = svcLogicClient.execute(VNF_API, svcOperation, null, "sync", preloadDataBuilder, parms);
+            } else {
+                errorMessage = "No service logic active for VNF-API: '" + svcOperation + "'";
+                errorCode = "503";
+            }
+        } catch (SvcLogicException e) {
+            log.error("Caught exception executing service logic for " + svcOperation, e);
+            errorMessage = e.getMessage();
+            errorCode = "500";
+        } catch (Exception e) {
+            errorCode = "500";
+            errorMessage = e.getMessage();
+            log.error("Caught exception looking for service logic", e);
+        }
+
+        if (respProps != null) {
+            errorCode = respProps.getProperty("error-code");
+            errorMessage = respProps.getProperty("error-message");
+            ackFinal = respProps.getProperty("ack-final", "Y");
+        }
+
+        if (errorCode != null && errorCode.length() != 0 && !("0".equals(errorCode) || "200".equals(errorCode))) {
+            responseBuilder.setResponseCode(errorCode);
+            responseBuilder.setResponseMessage(errorMessage);
+            responseBuilder.setAckFinalIndicator(ackFinal);
+
+            VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
+            preloadVnfListBuilder.setVnfName(preloadName);
+            preloadVnfListBuilder.setVnfType(preloadType);
+            preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build());
+            log.error(
+                RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] error code: '"
+                    + errorCode + "', Reason: '" + errorMessage + "'");
+            try {
+                savePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION);
+            } catch (Exception e) {
+                log.error(
+                    CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                        + "] \n", e);
+
+            }
+            log.debug(SENDING_SUCCESS_RPC);
+            RpcResult rpcResult =
+                RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                    .build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Got success from SLI
+        try {
+            preloadData = preloadDataBuilder.build();
+            log.info(
+                UPDATING_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] preloadData: "
+                    + preloadData);
+            // svc-configuration-list
+            VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder();
+            preloadVnfListBuilder.setVnfName(preloadName);
+            preloadVnfListBuilder.setVnfType(preloadType);
+            preloadVnfListBuilder.setPreloadData(preloadData);
+
+            // SDNGC-989 set merge flag to false
+            savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION);
+            log.info(UPDATING_OPERATIONAL_TREE_STR);
+            savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL);
+        } catch (Exception e) {
+            log.error(CAUGHT_EXCEPTION_STR + svcOperation + " [" + preloadName + "," + preloadType
+                + "] \n", e);
+            responseBuilder.setResponseCode("500");
+            responseBuilder.setResponseMessage(e.toString());
+            responseBuilder.setAckFinalIndicator("Y");
+            log.error(RETURNED_FAILED_STR + svcOperation + " [" + preloadName + "," + preloadType + "] "
+                + responseBuilder.build());
+            RpcResult rpcResult =
+                RpcResultBuilder.status(false)
+                    .withResult(responseBuilder.build()).build();
+            return Futures.immediateFuture(rpcResult);
+        }
+
+        // Update succeeded
+        responseBuilder.setResponseCode(errorCode);
+        responseBuilder.setAckFinalIndicator(ackFinal);
+        if (errorMessage != null) {
+            responseBuilder.setResponseMessage(errorMessage);
+        }
+        log.info(UPDATED_MD_SAL_STR + svcOperation + " [" + preloadName + "," + preloadType + "] ");
+        log.info(
+            RETURNED_SUCCESS_STR + svcOperation + " [" + preloadName + "," + preloadType + "] " + responseBuilder
+                .build());
+
+        RpcResult rpcResult =
+            RpcResultBuilder.status(true).withResult(responseBuilder.build())
+                .build();
+        return Futures.immediateFuture(rpcResult);
+    }
+
+
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfSdnUtil.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfSdnUtil.java
new file mode 100644
index 00000000..64b13bd4
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfSdnUtil.java
@@ -0,0 +1,295 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * 							reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VnfSdnUtil extends MdsalHelper {
+    private static final Logger LOG = LoggerFactory.getLogger(VnfSdnUtil.class);
+
+    private static File odlHomePath = null;
+    private static Properties properties;
+
+    public static void loadProperties() {
+        if (odlHomePath == null) {
+            odlHomePath = new File("/opt/opendaylight/current");
+
+            if (!odlHomePath.isDirectory()) {
+                odlHomePath = new File("/opt/bvc/controller");
+            }
+        }
+
+        File propFile = new File(odlHomePath.getAbsolutePath() + "/configuration/vnfapi.properties");
+        String propFileName = propFile.getAbsolutePath();
+        properties = new Properties();
+        if (propFile.isFile() && propFile.canRead()) {
+            try (InputStream input = new FileInputStream(propFile)) {
+                properties.load(input);
+                LOG.info("Loaded properties from " + propFileName);
+                setYangMappingProperties(properties);
+            } catch (IOException e) {
+                LOG.error("Failed to close properties file " + propFileName + "\n", e);
+            } catch (Exception e) {
+                LOG.error("Failed to load properties " + propFileName + "\n", e);
+            }
+        }
+    }
+
+    static {
+        // Trick class loader into loading builders. Some of
+        // these will be needed later by Reflection classes, but need
+        // to explicitly "new" them here to get class loader to load them.
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.information.NetworkInformationBuilder
+            u1 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.information.NetworkInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.policy.NetworkPolicyBuilder
+            u2 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.policy.NetworkPolicyBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.request.information.NetworkRequestInformationBuilder
+            u3 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.request.information.NetworkRequestInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.identifier.NetworkTopologyIdentifierBuilder
+            u4 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.identifier.NetworkTopologyIdentifierBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.information.NetworkTopologyInformationBuilder
+            u5 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.information.NetworkTopologyInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInputBuilder
+            u6 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutputBuilder
+            u7 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.oper.status.OperStatusBuilder
+            u8 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.oper.status.OperStatusBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder
+            u9 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadListBuilder
+            u10 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInputBuilder
+            u11 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutputBuilder
+            u12 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadListBuilder
+            u13 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModulesBuilder
+            u14 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModulesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInputBuilder
+            u15 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutputBuilder
+            u16 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadListBuilder
+            u17 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstancesBuilder
+            u18 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstancesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInputBuilder
+            u19 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutputBuilder
+            u20 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfsBuilder
+            u21 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInputBuilder
+            u22 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutputBuilder
+            u23 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.provider.network.information.ProviderNetworkInformationBuilder
+            u24 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.provider.network.information.ProviderNetworkInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformationBuilder
+            u25 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.route.table.reference.RouteTableReferenceBuilder
+            u26 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.route.table.reference.RouteTableReferenceBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeaderBuilder
+            u27 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeaderBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder
+            u28 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformationBuilder
+            u29 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder
+            u30 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sriov.vlan.filter.list.SriovVlanFilterListBuilder
+            u31 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sriov.vlan.filter.list.SriovVlanFilterListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.subnets.SubnetsBuilder
+            u32 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.subnets.SubnetsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.identifiers.VfModuleIdentifiersBuilder
+            u33 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.identifiers.VfModuleIdentifiersBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.information.VfModuleInformationBuilder
+            u34 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.information.VfModuleInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleListBuilder
+            u35 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder
+            u36 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.relationship.list.VfModuleRelationshipListBuilder
+            u37 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.relationship.list.VfModuleRelationshipListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformationBuilder
+            u38 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModulesBuilder
+            u39 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModulesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder
+            u40 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.topology.information.VfModuleTopologyInformationBuilder
+            u41 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.topology.information.VfModuleTopologyInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInputBuilder
+            u42 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutputBuilder
+            u43 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.InterfaceRoutePrefixesBuilder
+            u44 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.InterfaceRoutePrefixesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkIpsBuilder
+            u45 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkIpsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkIpsV6Builder
+            u46 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkIpsV6Builder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkMacsBuilder
+            u47 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.network.NetworkMacsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.VnfVmsBuilder
+            u48 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.VnfVmsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.vnf.vms.VmNamesBuilder
+            u49 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.vnf.vms.VmNamesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.vnf.vms.VmNetworksBuilder
+            u50 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vm.topology.vnf.vms.VmNetworksBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.vnf.assignments.AvailabilityZonesBuilder
+            u51 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.vnf.assignments.AvailabilityZonesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.VnfAssignmentsBuilder
+            u52 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.VnfAssignmentsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.vnf.assignments.VnfNetworksBuilder
+            u53 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.assignments.vnf.assignments.VnfNetworksBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.information.VnfInformationBuilder
+            u54 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.information.VnfInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.identifiers.VnfInstanceIdentifiersBuilder
+            u55 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.identifiers.VnfInstanceIdentifiersBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.information.VnfInstanceInformationBuilder
+            u56 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.information.VnfInstanceInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceListBuilder
+            u57 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder
+            u58 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformationBuilder
+            u59 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.vnf.instance.request.information.VnfNetworksBuilder
+            u60 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.vnf.instance.request.information.VnfNetworksBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstancesBuilder
+            u61 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstancesBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder
+            u62 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.topology.information.VnfInstanceTopologyInformationBuilder
+            u63 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.topology.information.VnfInstanceTopologyInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInputBuilder
+            u64 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutputBuilder
+            u65 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListBuilder
+            u66 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.parameters.VnfParametersBuilder
+            u67 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.parameters.VnfParametersBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformationBuilder
+            u68 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.vnf.request.information.VnfNetworksBuilder
+            u69 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.vnf.request.information.VnfNetworksBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfsBuilder
+            u70 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfsBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.identifier.VnfTopologyIdentifierBuilder
+            u71 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.identifier.VnfTopologyIdentifierBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.information.VnfTopologyInformationBuilder
+            u72 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.information.VnfTopologyInformationBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInputBuilder
+            u73 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutputBuilder
+            u74 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutputBuilder();
+        org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vpn.bindings.VpnBindingsBuilder
+            u75 =
+            new org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vpn.bindings.VpnBindingsBuilder();
+    }
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/OSGI-INF/blueprint/vnfapi-blueprint.xml b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/OSGI-INF/blueprint/vnfapi-blueprint.xml
new file mode 100644
index 00000000..1afd1a65
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/OSGI-INF/blueprint/vnfapi-blueprint.xml
@@ -0,0 +1,34 @@
+
+
+
+    
+
+    
+        
+    
+
+    
+
+    
+
+    
+
+    
+        
+        
+        
+        
+    
+
+    
+
+
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml
new file mode 100644
index 00000000..1afd1a65
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml
@@ -0,0 +1,34 @@
+
+
+
+    
+
+    
+        
+    
+
+    
+
+    
+
+    
+
+    
+        
+        
+        
+        
+    
+
+    
+
+
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClientTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClientTest.java
new file mode 100644
index 00000000..8a8dd446
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VNFSDNSvcLogicServiceClientTest.java
@@ -0,0 +1,437 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.mockito.internal.util.reflection.Whitebox;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
+import org.slf4j.Logger;
+
+import java.util.Properties;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.*;
+
+public class VNFSDNSvcLogicServiceClientTest {
+    private static final String MODE = "mode";
+    private static final String MODULE = "module";
+    private static final String RPC = "rpc";
+    private static final String VERSION = "version";
+
+    private Logger mockLog = mock(Logger.class);
+    private SvcLogicService mockSvcLogic = mock(SvcLogicService.class);
+
+    private VNFSDNSvcLogicServiceClient svcClient;
+
+    @Before
+    public void setUp() throws Exception {
+        svcClient = spy(new VNFSDNSvcLogicServiceClient(mockSvcLogic));
+
+        Whitebox.setInternalState(svcClient, "logger", mockLog);
+        Whitebox.setInternalState(svcClient, "svcLogic", mockSvcLogic);
+    }
+
+    @Test
+    public void testConstructorWithoutSvcLogicBundle() throws Exception {
+        VNFSDNSvcLogicServiceClient client = new VNFSDNSvcLogicServiceClient(mockSvcLogic);
+        Assert.assertEquals("Should have set mockSvcLogic",
+                mockSvcLogic, Whitebox.getInternalState(client, "svcLogic"));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testHasGraphWithException() throws Exception {
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).hasGraph(MODULE, RPC, VERSION, MODE);
+        svcClient.hasGraph(MODULE, RPC, VERSION, MODE);
+    }
+
+    @Test
+    public void testHasGraph() throws Exception {
+        Mockito.doReturn(true).when(mockSvcLogic).hasGraph(MODULE, RPC, VERSION, MODE);
+        Assert.assertTrue("Should return true", svcClient.hasGraph(MODULE, RPC, VERSION, MODE));
+    }
+
+    // --------- Test cases for ServiceDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithServiceDataBuilderWithException() throws Exception {
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithServiceDataBuilder() throws Exception {
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(ServiceDataBuilder.class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithServiceDataBuilderWithException() throws Exception {
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithServiceDataBuilderWithExecutorReturnNull() throws Exception {
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithServiceDataBuilderWithExecutorReturnFailure() throws Exception {
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+    @Test
+    public void testParamExecuteWithServiceDataBuilder() throws Exception {
+        Mockito.doReturn(true).when(mockLog).isDebugEnabled();
+        ServiceDataBuilder mockBuilder = mock(ServiceDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty("my", "testing");
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should still return resultProps", resultProps, properties);
+    }
+
+    // --------- Test cases for PreloadDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithPreloadDataBuilderWithException() throws Exception {
+        PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithPreloadDataBuilder() throws Exception {
+        PreloadDataBuilder  mockBuilder = mock(PreloadDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(PreloadDataBuilder .class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithPreloadDataBuilderWithException() throws Exception {
+        PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithPreloadDataBuilderWithExecutorReturnNull() throws Exception {
+        PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithPreloadDataBuilderWithExecutorReturnFailure() throws Exception {
+        PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+    @Test
+    public void testParamExecuteWithPreloadDataBuilder() throws Exception {
+        Mockito.doReturn(true).when(mockLog).isDebugEnabled();
+        PreloadDataBuilder mockBuilder = mock(PreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty("my", "testing");
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should still return resultProps", resultProps, properties);
+    }
+
+
+    // --------- Test cases for VfModulePreloadDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithVfModulePreloadDataBuilderWithException() throws Exception {
+        VfModulePreloadDataBuilder mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithVfModulePreloadDataBuilder() throws Exception {
+        VfModulePreloadDataBuilder  mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(VfModulePreloadDataBuilder .class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithVfModulePreloadDataBuilderWithException() throws Exception {
+        VfModulePreloadDataBuilder mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithVfModulePreloadDataBuilderWithExecutorReturnNull() throws Exception {
+        VfModulePreloadDataBuilder mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithVfModulePreloadDataBuilderWithExecutorReturnFailure() throws Exception {
+        VfModulePreloadDataBuilder mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+    @Test
+    public void testParamExecuteWithVfModulePreloadDataBuilder() throws Exception {
+        Mockito.doReturn(true).when(mockLog).isDebugEnabled();
+        VfModulePreloadDataBuilder mockBuilder = mock(VfModulePreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty("my", "testing");
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should still return resultProps", resultProps, properties);
+    }
+
+    // --------- Test cases for VfModuleServiceDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithVfModuleServiceDataBuilderWithException() throws Exception {
+        VfModuleServiceDataBuilder mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithVfModuleServiceDataBuilder() throws Exception {
+        VfModuleServiceDataBuilder  mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(VfModuleServiceDataBuilder .class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithVfModuleServiceDataBuilderWithException() throws Exception {
+        VfModuleServiceDataBuilder mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithVfModuleServiceDataBuilderWithExecutorReturnNull() throws Exception {
+        VfModuleServiceDataBuilder mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithVfModuleServiceDataBuilderWithExecutorReturnFailure() throws Exception {
+        VfModuleServiceDataBuilder mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+    @Test
+    public void testParamExecuteWithVfModuleServiceDataBuilder() throws Exception {
+        Mockito.doReturn(true).when(mockLog).isDebugEnabled();
+        VfModuleServiceDataBuilder mockBuilder = mock(VfModuleServiceDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty("my", "testing");
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should still return resultProps", resultProps, properties);
+    }
+
+    // --------- Test cases for VnfInstancePreloadDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithVnfInstancePreloadDataBuilderWithException() throws Exception {
+        VnfInstancePreloadDataBuilder mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithVnfInstancePreloadDataBuilder() throws Exception {
+        VnfInstancePreloadDataBuilder  mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(VnfInstancePreloadDataBuilder .class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithVnfInstancePreloadDataBuilderWithException() throws Exception {
+        VnfInstancePreloadDataBuilder mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithVnfInstancePreloadDataBuilderWithExecutorReturnNull() throws Exception {
+        VnfInstancePreloadDataBuilder mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithVnfInstancePreloadDataBuilderWithExecutorReturnFailure() throws Exception {
+        VnfInstancePreloadDataBuilder mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+    @Test
+    public void testParamExecuteWithVnfInstancePreloadDataBuilder() throws Exception {
+        Mockito.doReturn(true).when(mockLog).isDebugEnabled();
+        VnfInstancePreloadDataBuilder mockBuilder = mock(VnfInstancePreloadDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty("my", "testing");
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should still return resultProps", resultProps, properties);
+    }
+
+    // --------- Test cases for VnfInstanceServiceDataBuilder serviceData-----------------
+    @Test (expected = SvcLogicException.class)
+    public void testExecuteWithVnfInstanceServiceDataBuilderWithException() throws Exception {
+        VnfInstanceServiceDataBuilder mockBuilder = mock(VnfInstanceServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+    }
+
+    @Test
+    public void testExecuteWithVnfInstanceServiceDataBuilder() throws Exception {
+        VnfInstanceServiceDataBuilder  mockBuilder = mock(VnfInstanceServiceDataBuilder.class);
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder);
+        Mockito.verify(svcClient, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class),
+                any(VnfInstanceServiceDataBuilder .class), any(Properties.class));
+    }
+
+    @Test (expected = SvcLogicException.class)
+    public void testParamExecuteWithVnfInstanceServiceDataBuilderWithException() throws Exception {
+        VnfInstanceServiceDataBuilder mockBuilder = mock(VnfInstanceServiceDataBuilder.class);
+        Mockito.doThrow(new SvcLogicException()).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+
+        svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+    }
+
+    @Test
+    public void testParamExecuteWithVnfInstanceServiceDataBuilderWithExecutorReturnNull() throws Exception {
+        VnfInstanceServiceDataBuilder mockBuilder = mock(VnfInstanceServiceDataBuilder.class);
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertTrue("Should return null", properties == null);
+        Mockito.verify(mockSvcLogic, times(1)).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+    }
+
+    @Test
+    public void testParamExecuteWithVnfInstanceServiceDataBuilderWithExecutorReturnFailure() throws Exception {
+        VnfInstanceServiceDataBuilder mockBuilder = mock(VnfInstanceServiceDataBuilder.class);
+        Properties resultProps = new Properties();
+        resultProps.setProperty(VNFSDNSvcLogicServiceClient.SVC_LOGIC_STATUS_KEY,
+                VNFSDNSvcLogicServiceClient.FAILURE_RESULT);
+        Mockito.doReturn(resultProps).when(mockSvcLogic).execute(
+                any(String.class), any(String.class), any(String.class), any(String.class), any(Properties.class));
+        Properties properties = svcClient.execute(MODULE, RPC, VERSION, MODE, mockBuilder, new Properties());
+        Assert.assertEquals("Should return resultProps", resultProps, properties);
+    }
+
+}
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VfModuleTopologyOperationTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VfModuleTopologyOperationTest.java
new file mode 100644
index 00000000..beefb2ff
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VfModuleTopologyOperationTest.java
@@ -0,0 +1,388 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * 							reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import com.google.common.util.concurrent.CheckedFuture;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.Mockito;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter;
+import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
+import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer;
+import org.opendaylight.controller.md.sal.binding.test.ConcurrentDataBrokerTestCustomizer;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation.RequestAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInputBuilder;
+
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+class VfModuleExceptionThrowerConfigurator {
+    private boolean shouldThrowExceptionDuringTransactionPut;
+
+    public VfModuleExceptionThrowerConfigurator() {
+        this.shouldThrowExceptionDuringTransactionPut = true;
+    }
+
+    public boolean shouldThrowExceptionDuringTransactionPut() {
+        return shouldThrowExceptionDuringTransactionPut;
+    }
+
+    public void setShouldThrowExceptionDuringTransactionPut(boolean shouldThrowExceptionDuringTransactionPut) {
+        this.shouldThrowExceptionDuringTransactionPut = shouldThrowExceptionDuringTransactionPut;
+    }
+}
+
+class VfModuleDataBrokerErrorMsgConfigurator {
+    static public String JAVA_LANG_RUNTIME_EXCEPTION = "java.lang.RuntimeException: ";
+    static public String TRANSACTION_WRITE_ERROR = "transaction-write-error";
+}
+
+class VfModuleDataBrokerStab extends BindingDOMDataBrokerAdapter {
+    VfModuleExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    public VfModuleDataBrokerStab(final DOMDataBroker domDataBroker,
+        final BindingToNormalizedNodeCodec codec, VfModuleExceptionThrowerConfigurator exceptionThrowerConfigurator) {
+        super(domDataBroker, codec);
+        this.exceptionThrowerConfigurator = exceptionThrowerConfigurator;
+
+    }
+
+    @Override
+    public WriteTransaction newWriteOnlyTransaction() {
+        if (exceptionThrowerConfigurator.shouldThrowExceptionDuringTransactionPut()) {
+            return newThrowingExceptionWriteOnlyTransaction();
+        }
+        return newNotThrowingExceptionWriteOnlyTransaction();
+    }
+
+    private WriteTransaction newThrowingExceptionWriteOnlyTransaction() {
+        WriteTransaction mockWriteTransaction = Mockito.mock(WriteTransaction.class);
+        Mockito.doThrow(new RuntimeException(VfModuleDataBrokerErrorMsgConfigurator.TRANSACTION_WRITE_ERROR))
+                .when(mockWriteTransaction).put(Mockito.any(), Mockito.any(), Mockito.any());
+        return mockWriteTransaction;
+    }
+
+    private WriteTransaction newNotThrowingExceptionWriteOnlyTransaction() {
+         WriteTransaction mockWriteTransaction = Mockito.mock(WriteTransaction.class);
+        CheckedFuture mockCheckedFuture =
+                Mockito.mock(CheckedFuture.class);
+        Mockito.doNothing().when(mockWriteTransaction).put(Mockito.any(), Mockito.any(), Mockito.any());
+        Mockito.doReturn(mockCheckedFuture).when(mockWriteTransaction).submit();
+        return mockWriteTransaction;
+    }
+}
+
+class VfModuleProviderDataBrokerTestCustomizer  extends ConcurrentDataBrokerTestCustomizer {
+    VfModuleExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    public VfModuleProviderDataBrokerTestCustomizer(VfModuleExceptionThrowerConfigurator exceptionThrowerConfigurator) {
+        super(false);
+        this.exceptionThrowerConfigurator = exceptionThrowerConfigurator;
+    }
+
+    public DataBroker createDataBroker() {
+        return new VfModuleDataBrokerStab(createDOMDataBroker(),
+            super.getBindingToNormalized(), this.exceptionThrowerConfigurator);
+    }
+}
+
+@RunWith(MockitoJUnitRunner.class)
+public class VfModuleTopologyOperationTest extends VnfApiProviderTest {
+    protected static final Logger LOG = LoggerFactory.getLogger(VfModuleTopologyOperationTest.class);
+
+    private static final String INVALID_VFMODULEID = "invalid input, null or empty vf-module-id";
+    private static final String INVALID_VNFINSTANCEID = "invalid input, null or empty vnf-instance-id";
+    private static final String NO_SERVICE_LOGIC = "No service logic active for VNF-API: \'vf-module-topology-operation\'";
+    private static final String VF_MODULE_ID = "vfModule1";
+    private static final String VNF_INSTANCE_ID = "vnfInstance1";
+    private static final String PRELOAD_NAME = "preloadName";
+    private static final String PRELOAD_TYPE = "preloadType";
+    private static final String ERROR_CODE = "error-code";
+    
+    private static final String ERROR_MESSAGE = "error-message";
+    private static final String ACK_FINAL = "ack-final";
+    private static final String SVC_OPERATION = "vf-module-topology-operation";
+
+    private VfModuleExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    @Override
+    protected AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
+        this.exceptionThrowerConfigurator = new VfModuleExceptionThrowerConfigurator();
+        return new VfModuleProviderDataBrokerTestCustomizer(this.exceptionThrowerConfigurator);
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        svcClient.setScvOperation(SVC_OPERATION);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInputIsNull() throws Exception {
+        VfModuleTopologyOperationInput input = null;
+        checkVfModuleTopologyOperation(input, "403", INVALID_VFMODULEID);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_VfModuleRequestInformationIsNull() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = new VfModuleTopologyOperationInputBuilder();
+        builder.setVfModuleRequestInformation(null);
+        VfModuleTopologyOperationInput input = builder.build();
+        checkVfModuleTopologyOperation(input, "403", INVALID_VFMODULEID);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_getVfModuleRequestInformationVfModuleIdIsNull() throws Exception {
+        RequestInformation reqInfo = createRequestInformation(RequestAction.PreloadVfModuleRequest);
+        VfModuleRequestInformation vfModuleRequestInformation = createVfModuleRequestInformation(VNF_INSTANCE_ID, null);
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(vfModuleRequestInformation, reqInfo);
+        VfModuleTopologyOperationInput input = builder.build();
+        checkVfModuleTopologyOperation(input, "403", INVALID_VFMODULEID);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_VfModuleRequestInformationVfModuleIdIsZero() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID,""), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+        checkVfModuleTopologyOperation(input, "403", INVALID_VFMODULEID);
+    }
+    
+    @Test
+    public void vfModuleTopologyOperationInput_getVfModuleRequestInformationVnfInstanceIdIsNull() throws Exception {
+        RequestInformation reqInfo = createRequestInformation(RequestAction.PreloadVfModuleRequest);
+        VfModuleRequestInformation vfModuleRequestInformation = createVfModuleRequestInformation(null, VF_MODULE_ID);
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(vfModuleRequestInformation, reqInfo);
+        VfModuleTopologyOperationInput input = builder.build();
+        checkVfModuleTopologyOperation(input, "403", INVALID_VNFINSTANCEID);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_VfModuleRequestInformationVnfInstanceIdIsZero() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation("",VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+        checkVfModuleTopologyOperation(input, "403", INVALID_VNFINSTANCEID);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_svcLogicClientHasGrapheReturnFalse() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+        setReturnForSvcLogicServiceClientHasGraph(false);
+        checkVfModuleTopologyOperation(input, "503", NO_SERVICE_LOGIC);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_svcLogicClientExecuteThrowsSvcLogicException() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setMockVNFSDNSvcLogicServiceClientToThrowException(SvcLogicException.class);
+        checkVfModuleTopologyOperation(input, "500", null);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_svcLogicClientExecuteThrowsException() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setMockVNFSDNSvcLogicServiceClientToThrowException(Exception.class);
+        checkVfModuleTopologyOperation(input, "500", null);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_svcLogicClientExecuteReturnsNotNull() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        Properties properties = prop().set(ERROR_CODE, "500")
+                .set(ERROR_MESSAGE, ERROR_MESSAGE)
+                .set(ACK_FINAL, "Y")
+                .build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(properties);
+        checkVfModuleTopologyOperation(input, "500", ERROR_MESSAGE);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_svcLogicClientExecuteReturnsNull() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        String expectedErrorMsg = VfModuleDataBrokerErrorMsgConfigurator.JAVA_LANG_RUNTIME_EXCEPTION
+                + VfModuleDataBrokerErrorMsgConfigurator.TRANSACTION_WRITE_ERROR;
+        checkVfModuleTopologyOperation(input, "500", expectedErrorMsg);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_ActivateNoErrorDuringTransactionWriting() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.VfModuleActivateRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVfModuleTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vfModuleTopologyOperationInput_ChangeNoErrorDuringTransactionWriting() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.ChangeVfModuleActivateRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVfModuleTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vfModuleTopologyOperationInput_DisconnectNoErrorDuringTransactionWriting() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.DisconnectVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVfModuleTopologyOperation(input, "200", null);
+    }
+
+    @Test
+    public void vfModuleTopologyOperationInput_PreloadNoErrorDuringTransactionWriting() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.PreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVfModuleTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vfModuleTopologyOperationInput_DeletePreloadNoErrorDuringTransactionWriting() throws Exception {
+        VfModuleTopologyOperationInputBuilder builder = createVfModuleTopologyOperationInputBuilder(createVfModuleRequestInformation(VNF_INSTANCE_ID, VF_MODULE_ID), createRequestInformation(RequestAction.DeletePreloadVfModuleRequest));
+        VfModuleTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVfModuleTopologyOperation(input, "200", null);
+    }
+    private void checkVfModuleTopologyOperation(VfModuleTopologyOperationInput input,
+        String expectedResponseCode, String expectedResponseMessage) throws ExecutionException, InterruptedException {
+
+        VfModuleTopologyOperationOutput output = executeVfModuleTopologyOperation(input);
+        checkVfModuleTopologyOperationOutput(output, expectedResponseCode, expectedResponseMessage);
+    }
+
+    private VfModuleTopologyOperationOutput executeVfModuleTopologyOperation(
+        VfModuleTopologyOperationInput input) throws ExecutionException, InterruptedException {
+        return vnfapiProvider
+                .vfModuleTopologyOperation(input)
+                .get()
+                .getResult();
+    }
+
+    private void checkVfModuleTopologyOperationOutput(VfModuleTopologyOperationOutput result,
+        String expectedResponseCode, String expectedResponseMessage) {
+
+        String expectedAckFinalIndicator = "Y";
+
+        Assert.assertEquals(expectedResponseCode , result.getResponseCode());
+        Assert.assertEquals(expectedResponseMessage, result.getResponseMessage());
+        Assert.assertEquals(expectedAckFinalIndicator, result.getAckFinalIndicator());
+    }
+
+    private void setReturnForSvcLogicServiceClientHasGraph(Boolean returnValue) throws Exception{
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .hasGraph(Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any()))
+                .thenReturn(returnValue);
+    }
+
+    private void setReturnForSvcLogicServiceClientExecute(Properties properties) throws Exception{
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .execute(Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(VfModuleServiceDataBuilder.class),
+                        Mockito.any()))
+                .thenReturn(properties);
+    }
+
+    private void setMockVNFSDNSvcLogicServiceClientToThrowException(Class exceptionClass) throws Exception {
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .execute(Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(VfModuleServiceDataBuilder.class),
+                        Mockito.any()))
+                .thenThrow(exceptionClass.asSubclass(Throwable.class));
+    }
+
+    private VfModuleTopologyOperationInputBuilder createVfModuleTopologyOperationInputBuilder(VfModuleRequestInformation vfModuleRequestInformation, RequestInformation reqInfo) {
+        VfModuleTopologyOperationInputBuilder builder = new VfModuleTopologyOperationInputBuilder();
+        builder.setVfModuleRequestInformation(vfModuleRequestInformation);
+        builder.setRequestInformation(reqInfo);
+        return builder;
+    }
+
+
+
+    private VfModuleRequestInformation createVfModuleRequestInformation(String vnfInstanceId, String vfModuleId) {
+        return new VfModuleRequestInformationBuilder()
+                .setVnfInstanceId(vnfInstanceId)
+                .setVfModuleId(vfModuleId)
+                .setVfModuleName(PRELOAD_NAME)
+                .setVfModuleModelId(PRELOAD_TYPE)
+                .build();
+    }
+    
+    private RequestInformation createRequestInformation(RequestAction action) {
+        return new RequestInformationBuilder()
+                .setRequestAction(action)
+                .build();
+    }
+    
+    
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java
new file mode 100644
index 00000000..458e6d41
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * 							reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import org.junit.Before;
+import org.mockito.Mock;
+import org.onap.sdnc.vnfapi.util.DataBrokerUtil;
+import org.onap.sdnc.vnfapi.util.PropBuilder;
+import org.onap.sdnc.vnfapi.util.VNFSDNSvcLogicServiceClientMockUtil;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class VnfApiProviderTest extends AbstractConcurrentDataBrokerTest {
+
+    protected VnfApiProvider vnfapiProvider;
+    protected DataBroker dataBroker;
+    protected @Mock NotificationPublishService mockNotificationPublishService;
+    protected @Mock RpcProviderRegistry mockRpcProviderRegistry;
+    protected @Mock VNFSDNSvcLogicServiceClient mockVNFSDNSvcLogicServiceClient;
+    protected static final Logger LOG = LoggerFactory.getLogger(VnfApiProvider.class);
+
+    protected DataBrokerUtil db;
+    protected VNFSDNSvcLogicServiceClientMockUtil svcClient;
+
+    @Before
+    public void setUp() throws Exception {
+        svcClient = new VNFSDNSvcLogicServiceClientMockUtil(mockVNFSDNSvcLogicServiceClient);
+        dataBroker = getDataBroker();
+        db = new DataBrokerUtil(dataBroker);
+         try {
+            vnfapiProvider = new VnfApiProvider(
+                    dataBroker,
+                    mockNotificationPublishService,
+                    mockRpcProviderRegistry,
+                    mockVNFSDNSvcLogicServiceClient
+            );
+        } catch (Exception e) {
+            LOG.error("Caught exception on setUp", e);
+            throw e;
+        }
+    }
+
+    public static PropBuilder prop(){
+        return (new PropBuilder());
+    }
+ }
\ No newline at end of file
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfInstanceTopologyOperationTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfInstanceTopologyOperationTest.java
new file mode 100644
index 00000000..230a394e
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfInstanceTopologyOperationTest.java
@@ -0,0 +1,368 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * 							reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import com.google.common.util.concurrent.CheckedFuture;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.Mockito;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter;
+import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
+import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer;
+import org.opendaylight.controller.md.sal.binding.test.ConcurrentDataBrokerTestCustomizer;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation.RequestAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformationBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
+
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+class VnfInstanceExceptionThrowerConfigurator {
+    private boolean shouldThrowExceptionDuringTransactionPut;
+
+    public VnfInstanceExceptionThrowerConfigurator() {
+        this.shouldThrowExceptionDuringTransactionPut = true;
+    }
+
+    public boolean shouldThrowExceptionDuringTransactionPut() {
+        return shouldThrowExceptionDuringTransactionPut;
+    }
+
+    public void setShouldThrowExceptionDuringTransactionPut(boolean shouldThrowExceptionDuringTransactionPut) {
+        this.shouldThrowExceptionDuringTransactionPut = shouldThrowExceptionDuringTransactionPut;
+    }
+}
+
+class VnfInstanceDataBrokerErrorMsgConfigurator {
+    static public String JAVA_LANG_RUNTIME_EXCEPTION = "java.lang.RuntimeException: ";
+    static public String TRANSACTION_WRITE_ERROR = "transaction-write-error";
+}
+
+class VnfInstanceDataBrokerStab extends BindingDOMDataBrokerAdapter {
+    VnfInstanceExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    public VnfInstanceDataBrokerStab(final DOMDataBroker domDataBroker,
+        final BindingToNormalizedNodeCodec codec, VnfInstanceExceptionThrowerConfigurator exceptionThrowerConfigurator) {
+        super(domDataBroker, codec);
+        this.exceptionThrowerConfigurator = exceptionThrowerConfigurator;
+
+    }
+
+    @Override
+    public WriteTransaction newWriteOnlyTransaction() {
+        if (exceptionThrowerConfigurator.shouldThrowExceptionDuringTransactionPut()) {
+            return newThrowingExceptionWriteOnlyTransaction();
+        }
+        return newNotThrowingExceptionWriteOnlyTransaction();
+    }
+
+    private WriteTransaction newThrowingExceptionWriteOnlyTransaction() {
+        WriteTransaction mockWriteTransaction = Mockito.mock(WriteTransaction.class);
+        Mockito.doThrow(new RuntimeException(VnfInstanceDataBrokerErrorMsgConfigurator.TRANSACTION_WRITE_ERROR))
+                .when(mockWriteTransaction).put(Mockito.any(), Mockito.any(), Mockito.any());
+        return mockWriteTransaction;
+    }
+
+    private WriteTransaction newNotThrowingExceptionWriteOnlyTransaction() {
+         WriteTransaction mockWriteTransaction = Mockito.mock(WriteTransaction.class);
+        CheckedFuture mockCheckedFuture =
+                Mockito.mock(CheckedFuture.class);
+        Mockito.doNothing().when(mockWriteTransaction).put(Mockito.any(), Mockito.any(), Mockito.any());
+        Mockito.doReturn(mockCheckedFuture).when(mockWriteTransaction).submit();
+        return mockWriteTransaction;
+    }
+}
+
+class VnfInstanceProviderDataBrokerTestCustomizer  extends ConcurrentDataBrokerTestCustomizer {
+    VnfInstanceExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    public VnfInstanceProviderDataBrokerTestCustomizer(VnfInstanceExceptionThrowerConfigurator exceptionThrowerConfigurator) {
+        super(false);
+        this.exceptionThrowerConfigurator = exceptionThrowerConfigurator;
+    }
+
+    public DataBroker createDataBroker() {
+        return new VnfInstanceDataBrokerStab(createDOMDataBroker(),
+            super.getBindingToNormalized(), this.exceptionThrowerConfigurator);
+    }
+}
+
+@RunWith(MockitoJUnitRunner.class)
+public class VnfInstanceTopologyOperationTest extends VnfApiProviderTest {
+    protected static final Logger LOG = LoggerFactory.getLogger(VnfInstanceTopologyOperationTest.class);
+
+    private static final String INVALID_INPUT = "invalid input, null or empty vnf-instance-id";
+    private static final String NO_SERVICE_LOGIC = "No service logic active for VNF-API: \'vnf-instance-topology-operation\'";
+    private static final String VIID = "viid";
+    private static final String PRELOAD_NAME = "preloadName";
+    private static final String PRELOAD_TYPE = "preloadType";
+    private static final String ERROR_CODE = "error-code";
+    private static final String ERROR_MESSAGE = "error-message";
+    private static final String ACK_FINAL = "ack-final";
+    private static final String SVC_OPERATION = "vnf-topology-operation";
+
+    private VnfInstanceExceptionThrowerConfigurator exceptionThrowerConfigurator;
+
+    @Override
+    protected AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
+        this.exceptionThrowerConfigurator = new VnfInstanceExceptionThrowerConfigurator();
+        return new VnfInstanceProviderDataBrokerTestCustomizer(this.exceptionThrowerConfigurator);
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        svcClient.setScvOperation(SVC_OPERATION);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInputIsNull() throws Exception {
+        VnfInstanceTopologyOperationInput input = null;
+        checkVnfInstanceTopologyOperation(input, "403", INVALID_INPUT);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_VnfInstanceRequestInformationIsNull() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = new VnfInstanceTopologyOperationInputBuilder();
+        builder.setVnfInstanceRequestInformation(null);
+        VnfInstanceTopologyOperationInput input = builder.build();
+        checkVnfInstanceTopologyOperation(input, "403", INVALID_INPUT);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_getVnfInstanceRequestInformationVnfInstanceIdIsNull() throws Exception {
+        RequestInformation reqInfo = createRequestInformation(RequestAction.PreloadVnfInstanceRequest);
+        VnfInstanceRequestInformation vnfInstanceRequestInformation = createVnfInstanceRequestInformation(null);
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(vnfInstanceRequestInformation, reqInfo);
+        VnfInstanceTopologyOperationInput input = builder.build();
+        checkVnfInstanceTopologyOperation(input, "403", INVALID_INPUT);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_VnfInstanceRequestInformationVnfInstanceIdIsZero() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(""), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+        checkVnfInstanceTopologyOperation(input, "403", INVALID_INPUT);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_svcLogicClientHasGrapheReturnFalse() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+        setReturnForSvcLogicServiceClientHasGraph(false);
+        checkVnfInstanceTopologyOperation(input, "503", NO_SERVICE_LOGIC);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteThrowsSvcLogicException() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setMockVNFSDNSvcLogicServiceClientToThrowException(SvcLogicException.class);
+        checkVnfInstanceTopologyOperation(input, "500", null);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteThrowsException() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setMockVNFSDNSvcLogicServiceClientToThrowException(Exception.class);
+        checkVnfInstanceTopologyOperation(input, "500", null);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteReturnsNotNull() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        Properties properties = prop().set(ERROR_CODE, "500")
+                .set(ERROR_MESSAGE, ERROR_MESSAGE)
+                .set(ACK_FINAL, "Y")
+                .build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(properties);
+        checkVnfInstanceTopologyOperation(input, "500", ERROR_MESSAGE);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteReturnsNull() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        String expectedErrorMsg = VnfInstanceDataBrokerErrorMsgConfigurator.JAVA_LANG_RUNTIME_EXCEPTION
+                + VnfInstanceDataBrokerErrorMsgConfigurator.TRANSACTION_WRITE_ERROR;
+        checkVnfInstanceTopologyOperation(input, "500", expectedErrorMsg);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_ActivateNoErrorDuringTransactionWriting() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.VnfInstanceActivateRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVnfInstanceTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vnfInstanceTopologyOperationInput_ChangeNoErrorDuringTransactionWriting() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.ChangeVnfInstanceActivateRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVnfInstanceTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vnfInstanceTopologyOperationInput_DisconnectNoErrorDuringTransactionWriting() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.DisconnectVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVnfInstanceTopologyOperation(input, "200", null);
+    }
+
+    @Test
+    public void vnfInstanceTopologyOperationInput_PreloadNoErrorDuringTransactionWriting() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.PreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVnfInstanceTopologyOperation(input, "200", null);
+    }
+    
+    @Test
+    public void vnfInstanceTopologyOperationInput_DeletePreloadNoErrorDuringTransactionWriting() throws Exception {
+        VnfInstanceTopologyOperationInputBuilder builder = createVnfInstanceTopologyOperationInputBuilder(createVnfInstanceRequestInformation(VIID), createRequestInformation(RequestAction.DeletePreloadVnfInstanceRequest));
+        VnfInstanceTopologyOperationInput input = builder.build();
+
+        setReturnForSvcLogicServiceClientHasGraph(true);
+        setReturnForSvcLogicServiceClientExecute(null);
+        exceptionThrowerConfigurator.setShouldThrowExceptionDuringTransactionPut(false);
+        checkVnfInstanceTopologyOperation(input, "200", null);
+    }
+    private void checkVnfInstanceTopologyOperation(VnfInstanceTopologyOperationInput input,
+        String expectedResponseCode, String expectedResponseMessage) throws ExecutionException, InterruptedException {
+
+        VnfInstanceTopologyOperationOutput output = executeVnfInstanceTopologyOperation(input);
+        checkVnfInstanceTopologyOperationOutput(output, expectedResponseCode, expectedResponseMessage);
+    }
+
+    private VnfInstanceTopologyOperationOutput executeVnfInstanceTopologyOperation(
+        VnfInstanceTopologyOperationInput input) throws ExecutionException, InterruptedException {
+        return vnfapiProvider
+                .vnfInstanceTopologyOperation(input)
+                .get()
+                .getResult();
+    }
+
+    private void checkVnfInstanceTopologyOperationOutput(VnfInstanceTopologyOperationOutput result,
+        String expectedResponseCode, String expectedResponseMessage) {
+
+        String expectedAckFinalIndicator = "Y";
+
+        Assert.assertEquals(expectedResponseCode , result.getResponseCode());
+        Assert.assertEquals(expectedResponseMessage, result.getResponseMessage());
+        Assert.assertEquals(expectedAckFinalIndicator, result.getAckFinalIndicator());
+    }
+
+    private void setReturnForSvcLogicServiceClientHasGraph(Boolean returnValue) throws Exception{
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .hasGraph(Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any()))
+                .thenReturn(returnValue);
+    }
+
+    private void setReturnForSvcLogicServiceClientExecute(Properties properties) throws Exception{
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .execute(Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(VnfInstanceServiceDataBuilder.class),
+                        Mockito.any()))
+                .thenReturn(properties);
+    }
+
+    private void setMockVNFSDNSvcLogicServiceClientToThrowException(Class exceptionClass) throws Exception {
+        Mockito.when(mockVNFSDNSvcLogicServiceClient
+                .execute(Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(),
+                        Mockito.any(VnfInstanceServiceDataBuilder.class),
+                        Mockito.any()))
+                .thenThrow(exceptionClass.asSubclass(Throwable.class));
+    }
+
+    private VnfInstanceTopologyOperationInputBuilder createVnfInstanceTopologyOperationInputBuilder(VnfInstanceRequestInformation vnfInstanceRequestInformation, RequestInformation reqInfo) {
+        VnfInstanceTopologyOperationInputBuilder builder = new VnfInstanceTopologyOperationInputBuilder();
+        builder.setVnfInstanceRequestInformation(vnfInstanceRequestInformation);
+        builder.setRequestInformation(reqInfo);
+        return builder;
+    }
+
+
+
+    private VnfInstanceRequestInformation createVnfInstanceRequestInformation(String vnfInstanceId) {
+        return new VnfInstanceRequestInformationBuilder()
+                .setVnfInstanceId(vnfInstanceId)
+                .setVnfInstanceName(PRELOAD_NAME)
+                .setVnfModelId(PRELOAD_TYPE)
+                .build();
+    }
+    
+    private RequestInformation createRequestInformation(RequestAction action) {
+        return new RequestInformationBuilder()
+                .setRequestAction(action)
+                .build();
+    }
+    
+    
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfSdnUtilTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfSdnUtilTest.java
new file mode 100644
index 00000000..3f486f62
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfSdnUtilTest.java
@@ -0,0 +1,41 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.sdnc.vnfapi;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.powermock.reflect.Whitebox;
+
+public class VnfSdnUtilTest {
+
+    private VnfSdnUtil vnfSdnUtil;
+
+    @Before public void setUp() throws Exception {
+        vnfSdnUtil = new VnfSdnUtil();
+    }
+
+    @Test public void loadProperties() throws Exception {
+        vnfSdnUtil.loadProperties();
+        Object properties = Whitebox.getInternalState(VnfSdnUtil.class, "properties");
+        Assert.assertNotNull(properties);
+    }
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfTopologyOperationRPCTest.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfTopologyOperationRPCTest.java
new file mode 100644
index 00000000..422a6adb
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfTopologyOperationRPCTest.java
@@ -0,0 +1,174 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdnc.vnfapi;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.onap.sdnc.vnfapi.util.PropBuilder;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader.SvcAction;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
+import org.opendaylight.yangtools.yang.common.RpcResult;
+
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.build;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.exec;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.sdncRequestHeader;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.serviceData;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.serviceInformation;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.vnfInformation;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.vnfList;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.vnfRequestInformation;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.vnfTopologyOperationInput;
+import static org.onap.sdnc.vnfapi.util.MDSALUtil.vnfTopologyOperationOutput;
+
+
+/**
+ * This class test the VnfTopologyOperation mdsal RPC.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class VnfTopologyOperationRPCTest extends VnfApiProviderTest {
+
+
+    final String SVC_OPERATION = "vnf-topology-operation";
+
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        svcClient.setScvOperation(SVC_OPERATION);
+    }
+
+
+    /**
+     * Verify  VnfTopologyOperation RPC executes Delete VNFList entry
+     * {@link VnfTopologyOperationOutput} and persisted the expected {@link VnfList} in the {@link DataBroker}
+     */
+    @Test
+    public void testVnfTopologyOperationRPC_Delete_VNFList_Entry_Success() throws Exception {
+
+
+        //mock svcClient to perform a successful execution with the expected parameters
+        svcClient.mockHasGraph(true);
+        PropBuilder svcResultProp = svcClient.createExecuteOKResult();
+        svcClient.mockExecute(svcResultProp);
+
+        // create the VnfTopologyOperationInput from the template
+        VnfTopologyOperationInput vnfTopologyOperationInput = createVTOI();
+
+        //persist a vnfList entry in the dataBroker
+        persistVnfListBroker(vnfTopologyOperationInput);
+
+        //execute the mdsal exec
+        VnfTopologyOperationOutput actualVnfTopologyOperationOutput = exec(
+                vnfapiProvider::vnfTopologyOperation
+                , vnfTopologyOperationInput
+                , RpcResult::getResult
+        );
+
+
+        //verify the returned VnfTopologyOperationOutput
+        VnfTopologyOperationOutput expectedVnfTopologyOperationOutput = createExpectedVTOO(svcResultProp,vnfTopologyOperationInput);
+        Assert.assertEquals(expectedVnfTopologyOperationOutput,actualVnfTopologyOperationOutput);
+
+
+        //verify the persisted VnfList
+        VnfList actualVnfList = db.read(vnfTopologyOperationInput.getVnfRequestInformation().getVnfId(), LogicalDatastoreType.CONFIGURATION);
+        VnfList expectedVnfList = null;
+        Assert.assertEquals(expectedVnfList,actualVnfList);
+
+        LOG.debug("done");
+    }
+
+
+    public VnfTopologyOperationInput createVTOI(){
+        return build(vnfTopologyOperationInput()
+                .setServiceInformation(
+                        build(serviceInformation()
+                                .setServiceId("serviceId: xyz")
+                                .setServiceInstanceId("serviceInstanceId: xyz")
+                                .setServiceType("serviceType: xyz")
+                                .setSubscriberName("subscriberName: xyz")
+                        )
+                )
+                .setVnfRequestInformation(
+                        build(vnfRequestInformation()
+                                .setVnfId("vnfId: xyz")
+                                .setVnfName("vnfName: xyz")//defect if missing
+                                .setVnfType("vnfType: xyz")//defect if missing
+
+
+                        )
+                )
+                .setSdncRequestHeader(
+                        build(sdncRequestHeader()
+                          .setSvcAction(SvcAction.Delete)
+                        )
+                )
+        );
+
+    }
+
+
+
+    private VnfList persistVnfListBroker(
+            VnfTopologyOperationInput vnfTopologyOperationInput
+    ) throws Exception{
+        VnfList service = build(
+                vnfList()
+                        .setVnfId(vnfTopologyOperationInput.getVnfRequestInformation().getVnfId())
+                        .setServiceData(
+                                build(serviceData()
+                                  .setVnfId(vnfTopologyOperationInput.getVnfRequestInformation().getVnfId())
+                                )
+                        )
+        );
+        db.write(true,service, LogicalDatastoreType.CONFIGURATION);
+        return service;
+    }
+
+
+
+
+
+    private VnfTopologyOperationOutput createExpectedVTOO(PropBuilder expectedSvcResultProp,VnfTopologyOperationInput expectedVnfTopologyOperationInput){
+        return build(
+                vnfTopologyOperationOutput()
+                        .setSvcRequestId(expectedVnfTopologyOperationInput.getSdncRequestHeader().getSvcRequestId())
+                        .setResponseCode(expectedSvcResultProp.get(svcClient.errorCode))
+                        .setAckFinalIndicator(expectedSvcResultProp.get(svcClient.ackFinal))
+                        .setResponseMessage(expectedSvcResultProp.get(svcClient.errorMessage))
+                        .setVnfInformation(build(vnfInformation()
+                                .setVnfId(expectedVnfTopologyOperationInput.getVnfRequestInformation().getVnfId())
+                        ))
+        );
+    }
+
+
+
+
+}
diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
new file mode 100644
index 00000000..92346047
--- /dev/null
+++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java
@@ -0,0 +1,1416 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.sdnc.vnfapi;
+
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.CheckedFuture;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModules;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstances;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfs;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VNFAPIService;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModules;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstances;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.Vnfs;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.request.information.NetworkRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.identifier.NetworkTopologyIdentifier;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.information.NetworkTopologyInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.identifiers.VfModuleIdentifiers;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.topology.information.VfModuleTopologyInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.identifiers.VnfInstanceIdentifiers;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceData;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.topology.information.VnfInstanceTopologyInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.identifier.VnfTopologyIdentifier;
+import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.information.VnfTopologyInformation;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.powermock.reflect.Whitebox;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+public class VnfapiProviderTestBase {
+    @Rule public MockitoRule rule = MockitoJUnit.rule();
+
+    @Mock private DataBroker dataBroker;
+    @Mock private NotificationPublishService notificationPublishService;
+    @Mock private RpcProviderRegistry rpcProviderRegistry;
+    @Mock private VNFSDNSvcLogicServiceClient vnfsdnSvcLogicServiceClient;
+    @Mock private ReadWriteTransaction readWriteTransactionInCreateContainer;
+    @Mock private ReadWriteTransaction readWriteTransactionInDataChanged;
+    @Mock private CheckedFuture checkedFuture;
+
+    private VnfApiProvider vnfapiProvider;
+    private String vfModuleName;
+    private String vfModuleModelId;
+    private String vnfInstanceId;
+    private String vnfInstanceName;
+    private String vnfModelId;
+    private String svcRequestId;
+    private String serviceInstanceId;
+    private String vnfName;
+    private String vnfType;
+    private String vfModuleId;
+
+    @Before public void setUp() throws Exception {
+        doReturn(readWriteTransactionInCreateContainer).when(dataBroker).newReadWriteTransaction();
+        doReturn(checkedFuture).when(readWriteTransactionInCreateContainer).submit();
+        // mock readOnlyTransaction
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
+        doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
+        doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
+        // mock writeTransaction
+        WriteTransaction writeTransaction = mock(WriteTransaction.class);
+        doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
+        doReturn(checkedFuture).when(writeTransaction).submit();
+
+        vnfapiProvider = spy(new VnfApiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
+            vnfsdnSvcLogicServiceClient));
+    }
+
+    @After public void tearDown() throws Exception {
+
+    }
+
+    @Test public void close() throws Exception {
+        ExecutorService executor = Whitebox.getInternalState(vnfapiProvider, "executor");
+        BindingAwareBroker.RpcRegistration vnfapiServiceRpcRegistration =
+            mock(BindingAwareBroker.RpcRegistration.class);
+        vnfapiProvider.rpcRegistration = vnfapiServiceRpcRegistration;
+
+        vnfapiProvider.close();
+
+        Assert.assertTrue(executor.isShutdown());
+        verify(vnfapiServiceRpcRegistration, times(1)).close();
+    }
+
+    /**
+     * Test Error case:
+     * 

+ * input.getVnfInstanceRequestInformation() == null + * + * @throws Exception + */ + @Test public void vnfInstanceTopologyOperationErrorOne() throws Exception { + VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput = + mock(VnfInstanceTopologyOperationInput.class); + doReturn(null).when(vnfInstanceTopologyOperationInput).getVnfInstanceRequestInformation(); + + Future> rpcResultFuture = + vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vnf-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * viid == null + * + * @throws Exception + */ + @Test public void vnfInstanceTopologyOperationErrorTwo() throws Exception { + vnfInstanceId = ""; + vnfInstanceName = "vnf-instance-name"; + vnfModelId = "vnf-model-id"; + VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput = + mock(VnfInstanceTopologyOperationInput.class); + VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class); + doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId(); + doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId(); + doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput) + .getVnfInstanceRequestInformation(); + + Future> rpcResultFuture = + vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vnf-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false + * + * @throws Exception + */ + @Test public void vnfInstanceTopologyOperationErrorThree() throws Exception { + vnfInstanceId = "vnf-instance-id"; + vnfInstanceName = "vnf-instance-name"; + vnfModelId = "vnf-model-id"; + svcRequestId = "svc-request-id"; + + VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput = + mock(VnfInstanceTopologyOperationInput.class); + VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class); + doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId(); + doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId(); + doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput) + .getVnfInstanceRequestInformation(); + + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + + Future> rpcResultFuture = + vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void vnfInstanceTopologyOperationSuccess() throws Exception { + vnfInstanceId = "vnf-instance-id"; + vnfInstanceName = "vnf-instance-name"; + vnfModelId = "vnf-model-id"; + svcRequestId = "svc-request-id"; + + VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput = + mock(VnfInstanceTopologyOperationInput.class); + VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class); + doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId(); + doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId(); + doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput) + .getVnfInstanceRequestInformation(); + + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(SdncRequestHeader.SvcAction.Activate).when(sdncRequestHeader).getSvcAction(); + ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class); + doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction(); + doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any()); + WriteTransaction writeTransaction = mock(WriteTransaction.class); + doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction(); + doReturn(checkedFuture).when(writeTransaction).submit(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getVfModuleTopologyInformation() == null + * + * @throws Exception + */ + @Test public void vfModuleTopologyOperationErrorOne() throws Exception { + VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class); + doReturn(null).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation(); + Future> rpcResultFuture = + vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vf-module-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * vfid = "" + * And + *

+ * viid = "" + * + * @throws Exception + */ + @Test public void vfModuleTopologyOperationErrorTwo() throws Exception { + // vifd = "" + vfModuleName = "vfModuleName"; + vfModuleModelId = "vfModuleModelId"; + vfModuleId = ""; + vnfInstanceId = ""; + VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class); + VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class); + doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId(); + + Future> rpcResultFuture = + vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vf-module-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + + // viid = "" + vfModuleId = "vfModuleId"; + doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId(); + doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId(); + rpcResultFuture = vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vnf-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false + * + * @throws Exception + */ + @Test public void vfModuleTopologyOperationErrorThree() throws Exception { + // vifd = "" + vfModuleName = "vfModuleName"; + vfModuleModelId = "vfModuleModelId"; + vfModuleId = "vfModuleId"; + vnfInstanceId = "vnfInstanceId"; + VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class); + VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class); + doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId(); + doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId(); + // mock sdncRequestHeader + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + + Future> rpcResultFuture = + vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void vfModuleTopologyOperationSuccess() throws Exception { + vfModuleName = "vfModuleName"; + vfModuleModelId = "vfModuleModelId"; + vfModuleId = "vfModuleId"; + vnfInstanceId = "vnfInstanceId"; + VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class); + VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class); + doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId(); + doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId(); + // mock sdncRequestHeader + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getServiceInformation() == null + * + * @throws Exception + */ + @Test public void vnfTopologyOperationErrorOne() throws Exception { + VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class); + doReturn(null).when(vnfTopologyOperationInput).getServiceInformation(); + + Future> rpcResultFuture = + vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty service-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getVnfRequestInformation() == null + * + * @throws Exception + */ + @Test public void vnfTopologyOperationErrorTwo() throws Exception { + serviceInstanceId = "serviceInstanceId"; + VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation(); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + + Future> rpcResultFuture = + vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vf-module-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false + * + * @throws Exception + */ + @Test public void vnfTopologyOperationErrorThree() throws Exception { + serviceInstanceId = "serviceInstanceId"; + String vnfId = "vnfId"; + VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation(); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + + VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class); + doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation(); + doReturn(vnfId).when(vnfRequestInformation).getVnfId(); + + Future> rpcResultFuture = + vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void vnfTopologyOperationSuccess() throws Exception { + serviceInstanceId = "serviceInstanceId"; + String vnfId = "vnfId"; + VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation(); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + + VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class); + doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation(); + doReturn(vnfId).when(vnfRequestInformation).getVnfId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getServiceInformation() == null + * + * @throws Exception + */ + @Test public void networkTopologyOperationErrorOne() throws Exception { + VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class); + doReturn(null).when(vnfTopologyOperationInput).getServiceInformation(); + + Future> rpcResultFuture = + vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty service-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getNetworkRequestInformation() == null + * + * @throws Exception + */ + @Test public void networkTopologyOperationErrorTwo() throws Exception { + serviceInstanceId = "serviceInstanceId"; + NetworkTopologyOperationInput networkTopologyOperation = mock(NetworkTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + doReturn(serviceInformation).when(networkTopologyOperation).getServiceInformation(); + + Future> rpcResultFuture = + vnfapiProvider.networkTopologyOperation(networkTopologyOperation); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty service-instance-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false + * + * @throws Exception + */ + @Test public void networkTopologyOperationErrorThree() throws Exception { + serviceInstanceId = "serviceInstanceId"; + NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation(); + + NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class); + doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation(); + doReturn("NetworkName").when(networkRequestInformation).getNetworkName(); + + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction(); + doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader(); + + Future> rpcResultFuture = + vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void networkTopologyOperationSuccess() throws Exception { + serviceInstanceId = "serviceInstanceId"; + NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class); + ServiceInformation serviceInformation = mock(ServiceInformation.class); + doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId(); + doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation(); + //mock networkRequestInformation + NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class); + doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation(); + doReturn("NetworkName").when(networkRequestInformation).getNetworkName(); + //mock sdncRequestHeader + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction(); + doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getVnfTopologyInformation() == null + * + * @throws Exception + */ + @Test public void preloadVnfTopologyOperationErrorOne() throws Exception { + PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVnfTopologyOperationInput.class); + doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vnf-name or vnf-type", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * preload_name.length() == 0 + * And + * preload_type.length() == 0 + * + * @throws Exception + */ + @Test public void preloadVnfTopologyOperationErrorTwo() throws Exception { + // preload_name.length() == 0 + vnfName = ""; + vnfType = "vfModuleModelId"; + PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVnfTopologyOperationInput.class); + doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + + VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class); + doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class); + doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName(); + doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType(); + doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-name", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + + // preload_type.length() == 0 + vnfName = "vnfName"; + vnfType = ""; + doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName(); + doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType(); + + rpcResultFuture = vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-type", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false + * + * @throws Exception + */ + @Test public void preloadVnfTopologyOperationErrorThree() throws Exception { + // preload_name.length() == 0 + vnfName = "vnfName"; + vnfType = "vfModuleModelId"; + PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVnfTopologyOperationInput.class); + doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + + VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class); + doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class); + doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName(); + doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType(); + doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void preloadVnfTopologyOperationSuccess() throws Exception { + // preload_name.length() == 0 + vnfName = "vnfName"; + vnfType = "vfModuleModelId"; + PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVnfTopologyOperationInput.class); + doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + + VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class); + doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation(); + VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class); + doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName(); + doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType(); + doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getVnfInstanceTopologyInformation() == null + * + * @throws Exception + */ + @Test public void preloadVnfInstanceTopologyOperationErrorOne() throws Exception { + PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput = + mock(PreloadVnfInstanceTopologyOperationInput.class); + doReturn(null).when(preloadVnfInstanceTopologyOperationInput).getVnfInstanceTopologyInformation(); + Future> rpcResultFuture = + vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vnf-instance-name or vnf-model-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * preload_name = "" + * And + * preload_type = "" + * + * @throws Exception + */ + @Test public void preloadVnfInstanceTopologyOperationErrorTwo() throws Exception { + // preload_type = "" + vnfInstanceName = "vnfInstanceName"; + vnfModelId = ""; + PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput = + mock(PreloadVnfInstanceTopologyOperationInput.class); + VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class); + doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput) + .getVnfInstanceTopologyInformation(); + VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class); + doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId(); + doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-type", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + + //preload_name == "" + vnfInstanceName = ""; + vnfModelId = "vnfModelId"; + doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId(); + + rpcResultFuture = vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-name", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false + * + * @throws Exception + */ + @Test public void preloadVnfInstanceTopologyOperationErrorThree() throws Exception { + // preload_type = "" + vnfInstanceName = "vnfInstanceName"; + vnfModelId = "vnfModelId"; + PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput = + mock(PreloadVnfInstanceTopologyOperationInput.class); + VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class); + doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput) + .getVnfInstanceTopologyInformation(); + VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class); + doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId(); + doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void preloadVnfInstanceTopologyOperationSuccess() throws Exception { + // preload_type = "" + vnfInstanceName = "vnfInstanceName"; + vnfModelId = "vnfModelId"; + PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput = + mock(PreloadVnfInstanceTopologyOperationInput.class); + VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class); + doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput) + .getVnfInstanceTopologyInformation(); + VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class); + doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName(); + doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId(); + doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getVfModuleTopologyInformation() == null + * + * @throws Exception + */ + @Test public void preloadVfModuleTopologyOperationErrorOne() throws Exception { + PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVfModuleTopologyOperationInput.class); + doReturn(null).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, null or empty vf-module-name or vf-module-model-id", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * preload_name = "" + * And + * preload_type = "" + * + * @throws Exception + */ + @Test public void preloadVfModuleTopologyOperationErrorTwo() throws Exception { + // preload_name = "" + vfModuleName = ""; + vfModuleModelId = "vfModuleModelId"; + PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVfModuleTopologyOperationInput.class); + VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class); + doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-name", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + + // preload_type = "" + vfModuleName = "vfModuleName"; + vfModuleModelId = ""; + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + + rpcResultFuture = vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("invalid input, invalid preload-type", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false + * + * @throws Exception + */ + @Test public void preloadVfModuleTopologyOperationErrorThree() throws Exception { + // preload_name = "" + vfModuleName = "vfModuleName"; + vfModuleModelId = "vfModuleModelId"; + PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVfModuleTopologyOperationInput.class); + VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class); + doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + + Future> rpcResultFuture = + vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void preloadVfModuleTopologyOperationSuccess() throws Exception { + // preload_name = "" + vfModuleName = "vfModuleName"; + vfModuleModelId = "vfModuleModelId"; + PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput = + mock(PreloadVfModuleTopologyOperationInput.class); + VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class); + doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation(); + VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class); + doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName(); + doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId(); + doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * input.getNetworkTopologyInformation() == null + * + * @throws Exception + */ + @Test public void preloadNetworkTopologyOperationErrorOne() throws Exception { + PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput = + mock(PreloadNetworkTopologyOperationInput.class); + doReturn(null).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation(); + + Future> rpcResultFuture = + vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("input, null or empty network-name or network-type", + rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * preload_name == "" + * ANd + * preload_type == ""ss + * + * @throws Exception + */ + @Test public void preloadNetworkTopologyOperationErrorTwo() throws Exception { + String networkName = ""; + String networkType = "NetworkType"; + PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput = + mock(PreloadNetworkTopologyOperationInput.class); + NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class); + doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation(); + NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class); + doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier(); + doReturn(networkName).when(networkTopologyIdentifier).getNetworkName(); + doReturn(networkType).when(networkTopologyIdentifier).getNetworkType(); + + Future> rpcResultFuture = + vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("input, invalid preload-name", rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + + networkName = "NetworkName"; + networkType = ""; + doReturn(networkName).when(networkTopologyIdentifier).getNetworkName(); + doReturn(networkType).when(networkTopologyIdentifier).getNetworkType(); + + rpcResultFuture = vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("input, invalid preload-type", rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Error case: + *

+ * svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false + * + * @throws Exception + */ + @Test public void preloadNetworkTopologyOperationErrorThree() throws Exception { + String networkName = "NetworkName"; + String networkType = "NetworkType"; + PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput = + mock(PreloadNetworkTopologyOperationInput.class); + NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class); + doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation(); + NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class); + doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier(); + doReturn(networkName).when(networkTopologyIdentifier).getNetworkName(); + doReturn(networkType).when(networkTopologyIdentifier).getNetworkType(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + + Future> rpcResultFuture = + vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertTrue( + rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API")); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void preloadNetworkTopologyOperationErrorFour() throws Exception { + String networkName = "NetworkName"; + String networkType = "NetworkType"; + PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput = + mock(PreloadNetworkTopologyOperationInput.class); + NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class); + doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation(); + NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class); + doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier(); + doReturn(networkName).when(networkTopologyIdentifier).getNetworkName(); + doReturn(networkType).when(networkTopologyIdentifier).getNetworkType(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + doReturn(null).when(dataBroker).newWriteOnlyTransaction(); + + Future> rpcResultFuture = + vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("500", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals("java.lang.NullPointerException", rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + /** + * Test Success case + * + * @throws Exception + */ + @Test public void preloadNetworkTopologyOperationSuccess() throws Exception { + String networkName = "NetworkName"; + String networkType = "NetworkType"; + PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput = + mock(PreloadNetworkTopologyOperationInput.class); + NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class); + doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation(); + NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class); + doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier(); + doReturn(networkName).when(networkTopologyIdentifier).getNetworkName(); + doReturn(networkType).when(networkTopologyIdentifier).getNetworkType(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader(); + doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId(); + doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any()); + + Future> rpcResultFuture = + vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput); + + Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode()); + Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage()); + Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator()); + } + + @Test public void getVfModuleServiceData() throws Exception { + // Three parameters: siid, vfModuleServiceDataBuilder, LogicalDatastoreType + String ssid = "ssid"; + VfModuleServiceDataBuilder vfModuleServiceDataBuilder = spy(new VfModuleServiceDataBuilder()); + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + VfModuleList vfModuleList = mock(VfModuleList.class); + doReturn(vfModuleList).when(optional).get(); + VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class); + doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vfModuleServiceData).getSdncRequestHeader(); + + Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder, + LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader()); + + //With Two parameters: siid, vfModuleServiceDataBuilder + Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder); + + Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader()); + } + + @Test public void getPreloadData() throws Exception { + // Four parameters: + // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type + PreloadDataBuilder preloadDataBuilder = spy(new PreloadDataBuilder()); + // mock optional + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + + VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class); + doReturn(vnfPreloadList).when(optional).get(); + PreloadData preloadData = mock(PreloadData.class); + doReturn(preloadData).when(vnfPreloadList).getPreloadData(); + + VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class); + doReturn(vnfTopologyInformation).when(preloadData).getVnfTopologyInformation(); + + Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder, + LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation()); + + // Three parameters: + // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type + Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder); + + Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation()); + } + + @Test public void getVnfInstancePreloadData() throws Exception { + // Four parameters: + // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder, + // LogicalDatastoreType type + VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = spy(new VnfInstancePreloadDataBuilder()); + // mock optional + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class); + doReturn(vnfInstancePreloadList).when(optional).get(); + VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class); + doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData(); + VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class); + doReturn(vnfInstanceTopologyInformation).when(vnfInstancePreloadData).getVnfInstanceTopologyInformation(); + + Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType", + vnfInstancePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(vnfInstanceTopologyInformation, + vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation()); + + // Three Parameters: + // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder + Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType", + vnfInstancePreloadDataBuilder); + + Assert.assertEquals(vnfInstanceTopologyInformation, + vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation()); + } + + @Test public void getVfModulePreloadData() throws Exception { + // Four Parameters + // String preload_name, String preload_type, VfModulePreloadDataBuilder preloadDataBuilder, + // LogicalDatastoreType type + VfModulePreloadDataBuilder vfModulePreloadDataBuilder = spy(new VfModulePreloadDataBuilder()); + // mock optional + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class); + doReturn(vfModulePreloadList).when(optional).get(); + VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class); + doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData(); + VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class); + doReturn(vfModuleTopologyInformation).when(vfModulePreloadData).getVfModuleTopologyInformation(); + + Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType", + vfModulePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation()); + + // Three Parameters: + // String vnf_name, String vnf_type, VfModulePreloadDataBuilder preloadDataBuilder + Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType", + vfModulePreloadDataBuilder); + + Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation()); + } + + /** + * With ServiceStatusBuilder, RequestInformation + */ + @Test public void setServiceStatusOne() throws Exception { + // VNFActivateRequest + RequestInformation requestInformation = mock(RequestInformation.class); + ServiceStatusBuilder serviceStatusBuilder = spy(new ServiceStatusBuilder()); + doReturn(RequestInformation.RequestAction.VNFActivateRequest).when(requestInformation).getRequestAction(); + doReturn(RequestInformation.RequestSubAction.SUPP).when(requestInformation).getRequestSubAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.VNFActivateRequest, serviceStatusBuilder.getVnfsdnAction()); + + //ChangeVNFActivateRequest + doReturn(RequestInformation.RequestAction.ChangeVNFActivateRequest).when(requestInformation).getRequestAction(); + doReturn(RequestInformation.RequestSubAction.CANCEL).when(requestInformation).getRequestSubAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert + .assertEquals(ServiceStatus.VnfsdnAction.ChangeVNFActivateRequest, serviceStatusBuilder.getVnfsdnAction()); + + //DisconnectVNFRequest + doReturn(RequestInformation.RequestAction.DisconnectVNFRequest).when(requestInformation).getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVNFRequest, serviceStatusBuilder.getVnfsdnAction()); + + //PreloadVNFRequest + doReturn(RequestInformation.RequestAction.PreloadVNFRequest).when(requestInformation).getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction()); + + //DeletePreloadVNFRequest + doReturn(RequestInformation.RequestAction.DeletePreloadVNFRequest).when(requestInformation).getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.DeletePreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction()); + + //VnfInstanceActivateRequest + doReturn(RequestInformation.RequestAction.VnfInstanceActivateRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.VnfInstanceActivateRequest, + serviceStatusBuilder.getVnfsdnAction()); + + //ChangeVnfInstanceActivateRequest + doReturn(RequestInformation.RequestAction.ChangeVnfInstanceActivateRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVnfInstanceActivateRequest, + serviceStatusBuilder.getVnfsdnAction()); + + //DisconnectVnfInstanceRequest + doReturn(RequestInformation.RequestAction.DisconnectVnfInstanceRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVnfInstanceRequest, + serviceStatusBuilder.getVnfsdnAction()); + + //PreloadVnfInstanceRequest + doReturn(RequestInformation.RequestAction.PreloadVnfInstanceRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert + .assertEquals(ServiceStatus.VnfsdnAction.PreloadVnfInstanceRequest, serviceStatusBuilder.getVnfsdnAction()); + + //VfModuleActivateRequest + doReturn(RequestInformation.RequestAction.VfModuleActivateRequest).when(requestInformation).getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.VfModuleActivateRequest, serviceStatusBuilder.getVnfsdnAction()); + + //ChangeVfModuleActivateRequest + doReturn(RequestInformation.RequestAction.ChangeVfModuleActivateRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVfModuleActivateRequest, + serviceStatusBuilder.getVnfsdnAction()); + + //DisconnectVfModuleRequest + doReturn(RequestInformation.RequestAction.DisconnectVfModuleRequest).when(requestInformation) + .getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert + .assertEquals(ServiceStatus.VnfsdnAction.DisconnectVfModuleRequest, serviceStatusBuilder.getVnfsdnAction()); + + //PreloadVfModuleRequest + doReturn(RequestInformation.RequestAction.PreloadVfModuleRequest).when(requestInformation).getRequestAction(); + Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation); + Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVfModuleRequest, serviceStatusBuilder.getVnfsdnAction()); + } + + @Test public void getServiceData() throws Exception { + ServiceDataBuilder serviceDataBuilder = spy(new ServiceDataBuilder()); + // mock optional + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + VnfList vnfList = mock(VnfList.class); + doReturn(vnfList).when(optional).get(); + ServiceData serviceData = mock(ServiceData.class); + doReturn(serviceData).when(vnfList).getServiceData(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(serviceData).getSdncRequestHeader(); + + Whitebox.invokeMethod(vnfapiProvider, "getServiceData", "siid", serviceDataBuilder, + LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(sdncRequestHeader, serviceDataBuilder.getSdncRequestHeader()); + } + + @Test public void getVnfInstanceServiceData() throws Exception { + VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = spy(new VnfInstanceServiceDataBuilder()); + // mock optional + Optional optional = mock(Optional.class); + doReturn(optional).when(checkedFuture).get(); + doReturn(true).when(optional).isPresent(); + VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class); + doReturn(vnfInstanceList).when(optional).get(); + VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class); + doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData(); + SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class); + doReturn(sdncRequestHeader).when(vnfInstanceServiceData).getSdncRequestHeader(); + + Whitebox.invokeMethod(vnfapiProvider, "getVnfInstanceServiceData", "siid", vnfInstanceServiceDataBuilder, + LogicalDatastoreType.CONFIGURATION); + + Assert.assertEquals(sdncRequestHeader, vnfInstanceServiceDataBuilder.getSdncRequestHeader()); + } + + @Test public void DeleteVnfList() throws Exception { + LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION; + VnfList vnfList = mock(VnfList.class); + VnfListKey vnfListKey = mock(VnfListKey.class); + doReturn(vnfListKey).when(vnfList).key(); + InstanceIdentifier vnfListInstanceIdentifier = mock(InstanceIdentifier.class); + dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList); + + Whitebox.invokeMethod(vnfapiProvider, "DeleteVnfList", vnfList, configuration); + + verify(dataBroker, times(2)).newWriteOnlyTransaction(); + } +} diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java new file mode 100644 index 00000000..352e9404 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/DataBrokerUtil.java @@ -0,0 +1,94 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnfapi.util; + +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.Vnfs; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; + + +/** + * This util class provides utility to read and write {@link VnfList} data objects from the {@link DataBroker} + * + */ +public class DataBrokerUtil { + + + private final DataBroker dataBroker; + + public DataBrokerUtil(DataBroker dataBroker) { + this.dataBroker = dataBroker; + } + + /** @return VnfList - the VnfList object read from the DataBroker or null if none was found */ + public VnfList read(String VnfListKey, LogicalDatastoreType logicalDatastoreType) throws Exception { + InstanceIdentifier VnfListInstanceIdentifier = InstanceIdentifier.builder(Vnfs.class) + .child(VnfList.class, new VnfListKey(VnfListKey)).build(); + ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction(); + Optional data = (Optional) readTx.read(logicalDatastoreType, VnfListInstanceIdentifier).get(); + if(!data.isPresent()){ + return null; + } + return data.get(); + } + + + /** + * Write the {@link VnfList} object to the {@link DataBroker} + * @param isReplace - false specifies the new data is to be merged into existing data, where as true cause the + * existing data to be replaced. + * @param VnfList - the {@link VnfList} data object to be presisted in the db. + * @param logicalDatastoreType - The logicalDatastoreType + */ + public void write(boolean isReplace,VnfList VnfList, LogicalDatastoreType logicalDatastoreType) throws Exception { + // Each entry will be identifiable by a unique key, we have to create that + // identifier + InstanceIdentifier.InstanceIdentifierBuilder VnfListBuilder = InstanceIdentifier + .builder(Vnfs.class).child(VnfList.class, VnfList.key()); + InstanceIdentifier path = VnfListBuilder.build(); + + WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + if (!isReplace) { + tx.merge(logicalDatastoreType, path, VnfList); + } else { + tx.put(logicalDatastoreType, path, VnfList); + } + CheckedFuture cf = tx.submit(); + cf.checkedGet(); + + } + + + + + + + +} diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/MDSALUtil.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/MDSALUtil.java new file mode 100644 index 00000000..b28139c7 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/MDSALUtil.java @@ -0,0 +1,113 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnfapi.util; + +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeaderBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.information.VnfInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformationBuilder; +import org.opendaylight.yangtools.concepts.Builder; +import org.opendaylight.yangtools.yang.common.RpcResult; + +import java.util.concurrent.Future; +import java.util.function.Consumer; +import java.util.function.Function; + + +/** + * This uill class provides utility to build yang objects using a recursive syntax that resembles the tree structure + * when defining the same yang object in json format. + * + * For Example + *

+ * {@code
+ * import static org.onap.sdnc.northbound.util.MDSALUtil.*;
+ * VnfTopologyOperationInput input = build(vnfTopologyOperationInput()
+ *                .setServiceInformation(
+ *                        build(serviceInformation()
+ *                                .setServiceId("serviceId: xyz")
+ *                                .setServiceInstanceId("serviceInstanceId: xyz")
+ *                                .setServiceType("serviceType: xyz")
+ *                                .setSubscriberName("subscriberName: xyz")
+ *                        )
+ *                )
+ *                .setVnfRequestInformation(
+ *                        build(vnfRequestInformation()
+ *                                .setVnfId("vnfId: xyz")
+ *                                .setVnfName("vnfName: xyz")//defect if missing
+ *                                .setVnfType("vnfType: xyz")//defect if missing
+ *                        )
+ *                )
+ *                .setSdncRequestHeader(
+ *                        build(sdncRequestHeader()
+ *                          .setSvcAction(SvcAction.Delete)
+ *                        )
+ *                )
+ *        );
+ * );
+ * }
+ * 
+ */ +public class MDSALUtil { + + public static VnfTopologyOperationInputBuilder vnfTopologyOperationInput(){return new VnfTopologyOperationInputBuilder();} + public static VnfTopologyOperationOutputBuilder vnfTopologyOperationOutput(){return new VnfTopologyOperationOutputBuilder();} + + public static ServiceInformationBuilder serviceInformation(){return new ServiceInformationBuilder();} + public static VnfRequestInformationBuilder vnfRequestInformation(){return new VnfRequestInformationBuilder();} + public static VnfListBuilder vnfList(){return new VnfListBuilder();} + public static ServiceDataBuilder serviceData() { return new ServiceDataBuilder();} + public static SdncRequestHeaderBuilder sdncRequestHeader(){return new SdncRequestHeaderBuilder();} + public static VnfInformationBuilder vnfInformation(){return new VnfInformationBuilder();} + + + public static

P build(Builder

b) { + return b == null? null :b.build(); + } + + public static > P build(Function builderConstructor,P sourceDataObject){ + if(sourceDataObject == null){ + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + return bp.build(); + } + + public static > P build(Function builderConstructor,P sourceDataObject,Consumer builder){ + if(sourceDataObject == null){ + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + builder.accept(bp); + return bp.build(); + } + + public static O exec(Function>> rpc,I rpcParameter,Function,O> rpcResult) throws Exception { + Future> future = rpc.apply(rpcParameter); + return rpcResult.apply(future.get()); + } + +} diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/PropBuilder.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/PropBuilder.java new file mode 100644 index 00000000..6ecc94c8 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/PropBuilder.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnfapi.util; + +import org.opendaylight.yangtools.concepts.Builder; + +import java.util.Properties; + +/** + * A Util class that adds method chaining to the {@link #set(String, String)} to reducing the syntax needed to populate + * {@link Properties} + */ +public class PropBuilder implements Builder { + + + final Properties prop; + + public PropBuilder(Properties prop) { + this.prop = prop; + } + + public PropBuilder() { + this.prop = new Properties(); + } + + public Properties build(){ + return prop; + } + + public PropBuilder set(String key, String value) { + prop.setProperty(key, value); + return this; + } + + public String get(String key) { + return prop.getProperty(key); + } + + + public static PropBuilder propBuilder(){ + return (new PropBuilder()); + } +} \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/VNFSDNSvcLogicServiceClientMockUtil.java b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/VNFSDNSvcLogicServiceClientMockUtil.java new file mode 100644 index 00000000..d4d94ca8 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/util/VNFSDNSvcLogicServiceClientMockUtil.java @@ -0,0 +1,130 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnfapi.util; + +import org.onap.sdnc.vnfapi.VNFSDNSvcLogicServiceClient; +import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder; + +import java.util.Properties; + +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.isA; +import static org.mockito.Mockito.when; +import static org.onap.sdnc.vnfapi.util.MDSALUtil.build; +import static org.onap.sdnc.vnfapi.util.PropBuilder.propBuilder; + + +/** + * VNFSDNSvcLogicServiceClientMockUtil provides a set of util methods for quickly configuring method + * behaviour on the Mock VNFSDNSvcLogicServiceClient + */ +public class VNFSDNSvcLogicServiceClientMockUtil { + + + private final String MODULE = "VNF-API"; + private final String MODE = "sync"; + private final String VERSION = null; + private String scvOperation = null; + + + public final String errorCode = "error-code"; + public final String errorMessage = "error-message"; + public final String ackFinal = "ack-final"; + public final String serviceObjectPath = "service-object-path"; + public final String networkObjectPath = "network-object-path"; + public final String networkId = "networkId"; + + + private final VNFSDNSvcLogicServiceClient mockVNFSDNSvcLogicServiceClient; + + + + public VNFSDNSvcLogicServiceClientMockUtil(VNFSDNSvcLogicServiceClient mockVNFSDNSvcLogicServiceClient) { + this.mockVNFSDNSvcLogicServiceClient = mockVNFSDNSvcLogicServiceClient; + } + + + /** @param scvOperation - The scvOperation parameter to use on the {@link VNFSDNSvcLogicServiceClient} methods */ + public void setScvOperation(String scvOperation) { + this.scvOperation = scvOperation; + } + + /** + * Configure {@link VNFSDNSvcLogicServiceClient#hasGraph(String, String, String, String)} + * to return the specified value when when invoked with the parameters + * {@link #MODULE}, {@link #MODE}, {@link #VERSION} and {@link #scvOperation} + */ + public void mockHasGraph(Boolean isHasGraph) throws Exception { + when( + mockVNFSDNSvcLogicServiceClient + .hasGraph( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE) + ) + ) + .thenReturn(isHasGraph); + } + + + /** + * @return + * PropBuilder - A PropBuilder populated with the expected properties returned from + * {@link VNFSDNSvcLogicServiceClient#execute(String, String, String, String, ServiceDataBuilder, Properties)} + */ + public PropBuilder createExecuteOKResult(){ + return propBuilder() + .set(errorCode,"200") + .set(errorMessage,"OK") + .set(ackFinal,"Y") + .set(serviceObjectPath,"serviceObjectPath: XYZ") + .set(networkObjectPath,"networkObjectPath: XYZ") + .set(networkId,"networkId: XYZ"); + + } + + + /** + * Configure + * {@link VNFSDNSvcLogicServiceClient#execute(String, String, String, String, ServiceDataBuilder, Properties)} + * to return the specified svcResultProp when when invoked with the parameters + * {@link #MODULE}, {@link #MODE}, {@link #VERSION} and {@link #scvOperation} + */ + public void mockExecute(PropBuilder svcResultProp) throws Exception{ + when( + mockVNFSDNSvcLogicServiceClient + .execute( + eq(MODULE), + eq(scvOperation), + eq(VERSION), + eq(MODE), + isA(ServiceDataBuilder.class), + isA(Properties.class) + ) + ) + .thenReturn(build( + svcResultProp + )); + } + +} diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/proplist.properties b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/proplist.properties new file mode 100644 index 00000000..556de910 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/proplist.properties @@ -0,0 +1,22 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +proplist.aptFile = target/properties.apt diff --git a/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/simplelogger.properties b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/simplelogger.properties new file mode 100644 index 00000000..14ffcca0 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/provider/src/test/resources/simplelogger.properties @@ -0,0 +1,23 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +org.slf4j.simpleLogger.defaultLogLevel=info +org.slf4j.simplelogger.log.org.onap.sdnc.vnfapi.VnfApiProvider=debug diff --git a/sdnc-a1-controller/northbound/vnftools/.gitignore b/sdnc-a1-controller/northbound/vnftools/.gitignore new file mode 100644 index 00000000..b73caf31 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/.gitignore @@ -0,0 +1,34 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.classpath +.project +.settings +.idea +.externalToolBuilders +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## Folders which contain auto generated source code ## +yang-gen-config +yang-gen-sal diff --git a/sdnc-a1-controller/northbound/vnftools/features/features-vnftools/pom.xml b/sdnc-a1-controller/northbound/vnftools/features/features-vnftools/pom.xml new file mode 100644 index 00000000..fbcfba93 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/features/features-vnftools/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + feature-repo-parent + 1.4.3 + + + + org.onap.sdnc.northbound + features-vnftools + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: vnftools :: ${project.artifactId} + + + + ${project.groupId} + sdnc-vnftools + ${project.version} + xml + features + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/features/pom.xml b/sdnc-a1-controller/northbound/vnftools/features/pom.xml new file mode 100644 index 00000000..fb38a81d --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/features/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + + org.onap.sdnc.northbound + vnftools-features + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: vnftools :: ${project.artifactId} + + + sdnc-vnftools + features-vnftools + + diff --git a/sdnc-a1-controller/northbound/vnftools/features/sdnc-vnftools/pom.xml b/sdnc-a1-controller/northbound/vnftools/features/sdnc-vnftools/pom.xml new file mode 100644 index 00000000..83286f91 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/features/sdnc-vnftools/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + single-feature-parent + 1.4.3 + + + + org.onap.sdnc.northbound + sdnc-vnftools + 1.7.3-SNAPSHOT + feature + + sdnc-northbound :: vnftools :: ${project.artifactId} + + + + org.opendaylight.controller + odl-mdsal-broker + xml + features + + + org.onap.ccsdk.sli.core + ccsdk-sli + ${ccsdk.sli.core.version} + xml + features + + + ${project.groupId} + vnftools-provider + ${project.version} + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/installer/pom.xml b/sdnc-a1-controller/northbound/vnftools/installer/pom.xml new file mode 100755 index 00000000..73774456 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/installer/pom.xml @@ -0,0 +1,141 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + org.onap.sdnc.northbound + vnftools-installer + 1.7.3-SNAPSHOT + pom + + sdnc-northbound :: vnftools :: ${project.artifactId} + + + sdnc-vnftools + ${application.name} + mvn:org.onap.sdnc.northbound/${application.name}/${project.version}/xml/features + false + + + + + + ${project.groupId} + ${application.name} + ${project.version} + xml + features + + + * + * + + + + + + org.onap.sdnc.northbound + vnftools-provider + ${project.version} + + + + + + + + + maven-assembly-plugin + 2.6 + + + maven-repo-zip + + single + + package + + true + stage/${application.name}-${project.version} + + src/assembly/assemble_mvnrepo_zip.xml + + + + + installer-zip + + single + + package + + true + ${application.name}-${project.version}-installer + + src/assembly/assemble_installer_zip.xml + + false + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + + copy-dependencies + + prepare-package + + false + ${project.build.directory}/assembly/system + false + true + true + true + false + false + org.onap.sdnc.northbound + provided + + + + + + maven-resources-plugin + 2.6 + + + copy-version + + copy-resources + + validate + + ${basedir}/target/stage + + + src/main/resources/scripts + + install-feature.sh + + true + + + + + + + + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_installer_zip.xml b/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_installer_zip.xml new file mode 100644 index 00000000..10b53b93 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_installer_zip.xml @@ -0,0 +1,59 @@ + + + + + + installer_zip + + zip + + + + false + + + + target/stage/ + ${application.name} + 755 + + *.sh + + + + target/stage/ + ${application.name} + 644 + + *.sh + + + + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_mvnrepo_zip.xml b/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_mvnrepo_zip.xml new file mode 100644 index 00000000..4efecd8c --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/installer/src/assembly/assemble_mvnrepo_zip.xml @@ -0,0 +1,49 @@ + + + + + + repo + + zip + + + + false + + + + target/assembly/ + . + + + + + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/installer/src/main/resources/scripts/install-feature.sh b/sdnc-a1-controller/northbound/vnftools/installer/src/main/resources/scripts/install-feature.sh new file mode 100644 index 00000000..d5f620f1 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/installer/src/main/resources/scripts/install-feature.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} +ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client} +INSTALLERDIR=$(dirname $0) + +REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip + +if [ -f ${REPOZIP} ] +then + unzip -d ${ODL_HOME} ${REPOZIP} +else + echo "ERROR : repo zip ($REPOZIP) not found" + exit 1 +fi + +${ODL_KARAF_CLIENT} feature:repo-add ${features.repositories} +${ODL_KARAF_CLIENT} feature:install ${features.boot} diff --git a/sdnc-a1-controller/northbound/vnftools/pom.xml b/sdnc-a1-controller/northbound/vnftools/pom.xml new file mode 100644 index 00000000..d7767547 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + odlparent-lite + 1.4.3 + + + org.onap.sdnc.northbound + vnftools + 1.7.3-SNAPSHOT + pom + + VNF Tools Plugin + Provides execute nodes to Directed Graphs that use the VNF Module. + + + provider + features + installer + + + + vnftools + + + + + + + org.onap.sdnc.northbound + vnftools-features + ${project.version} + xml + features + + + + org.onap.sdnc.northbound + vnftools-provider + ${project.version} + + + + + + diff --git a/sdnc-a1-controller/northbound/vnftools/provider/pom.xml b/sdnc-a1-controller/northbound/vnftools/provider/pom.xml new file mode 100644 index 00000000..319071d4 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + + org.onap.ccsdk.parent + binding-parent + 1.4.3 + + + + org.onap.sdnc.northbound + vnftools-provider + 1.7.3-SNAPSHOT + bundle + + sdnc-northbound :: vnftools :: ${project.artifactId} + + + UTF-8 + + + + + org.onap.ccsdk.sli.core + sli-core-artifacts + ${ccsdk.sli.core.version} + pom + import + + + + + + junit + junit + test + + + org.mockito + mockito-core + test + + + org.onap.ccsdk.sli.core + sli-common + + + org.onap.ccsdk.sli.core + sli-provider + + + org.slf4j + slf4j-api + + + org.onap.ccsdk.sli.core + sliPluginUtils-provider + ${ccsdk.sli.core.version} + + + diff --git a/sdnc-a1-controller/northbound/vnftools/provider/src/main/java/org/onap/sdnc/vnftools/VnfTools.java b/sdnc-a1-controller/northbound/vnftools/provider/src/main/java/org/onap/sdnc/vnftools/VnfTools.java new file mode 100644 index 00000000..f1e6a2f8 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/src/main/java/org/onap/sdnc/vnftools/VnfTools.java @@ -0,0 +1,178 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnftools; + +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; +import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.util.Map; +import java.util.Properties; + +public class VnfTools implements SvcLogicJavaPlugin { + static final String BASE = "base"; + static final String FILENAME = "filename"; + static final String RESULT_CTX_STRING = "result_ctx_string"; + static final String RETURN_KEY = "return-key"; + static final String RETURN_PATH = "return-path"; + static final String STRING_TO_FIND = "string_to_find"; + static final String STRING_TO_SEARCH = "string_to_search"; + static final String SUFFIX = "suffix"; + static final String TRUE_STRING = "true"; + + private static final Logger LOG = LoggerFactory.getLogger(VnfTools.class); + + public VnfTools() { + + } + + public void checkIfActivateReady(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + LOG.debug("Checking if enough data is available to send the NCS Activate request..."); + + SliPluginUtils.checkParameters(parameters, new String[]{RETURN_KEY}, LOG); + setIfNotNull(parameters.get(RETURN_KEY), TRUE_STRING, ctx); + } + + /** + * DG node performs a java String.contains(String) and writes true or false + * to a key in context memory. + * @param parameters HashMap in context memory must contain the following: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
KeyDescription
string_to_searchString to perform java String.contains(String) on
string_to_findString to find in the string_to_search
result_ctx_stringContext memory key to write the result ("true" or "false") to
+ * @param ctx Reference to context memory + * @throws SvcLogicException when passed in parameter is not valid + */ + public void stringContains(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + SliPluginUtils.checkParameters( + parameters, new String[]{STRING_TO_SEARCH, STRING_TO_FIND, RESULT_CTX_STRING}, LOG); + setIfNotNull(parameters.get(RESULT_CTX_STRING), + Boolean.toString(parameters.get(STRING_TO_SEARCH).contains(parameters.get(STRING_TO_FIND))), + ctx); + } + + + public void generateName(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + LOG.debug("generateName"); + + SliPluginUtils.checkParameters(parameters, new String[]{BASE, SUFFIX, RETURN_PATH}, LOG); + + String base = parameters.get(BASE); + int baseLength = base.length(); + if (baseLength < 4) { + String errorMessage = String.format("Parameter(%s) needs at least length 4 but only have %d", + BASE, baseLength); + LOG.error(errorMessage); + throw new SvcLogicException(errorMessage); + } + + setIfNotNull(parameters.get(RETURN_PATH), String.format("%s%s%s", + base.substring(0, baseLength - 4), parameters.get(SUFFIX), base.substring(baseLength - 2)), + ctx); + } + + private void setIfNotNull(String property, String value, SvcLogicContext ctx) { + if (property != null && value != null) { + LOG.debug("Setting ", property, " to ", value); + ctx.setAttribute(property, value); + } + } + + public void printContext(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + if (parameters == null) { + throw new SvcLogicException("no parameters passed"); + } + + String fileName = parameters.get(FILENAME); + + if ((fileName == null) || (fileName.length() == 0)) { + throw new SvcLogicException("printContext requires 'filename' parameter"); + } + + PrintStream pstr = null; + + try (FileOutputStream fileStream = new FileOutputStream(new File(fileName), true)){ + pstr = new PrintStream(fileStream); + } catch (IOException e1) { + LOG.error("FileOutputStream close exception: ", e1); + } + catch (Exception e) { + throw new SvcLogicException("Cannot open file " + fileName, e); + } finally { + if (pstr != null) { + pstr.println("#######################################"); + for (String attr : ctx.getAttributeKeySet()) { + pstr.println(attr + " = " + ctx.getAttribute(attr)); + } + + pstr.flush(); + pstr.close(); + } + } + + } + + static int getArrayLength(SvcLogicContext ctx, String key) { + String value = ctx.getAttribute(key); + try { + return Integer.parseInt(value); + } catch( NumberFormatException e ) { + LOG.debug(String.format("Ctx contained key(%s) value(%s) is not integer", key, value)); + } + + return 0; + } + + static int getArrayLength(SvcLogicContext ctx, String key, String debug) { + try { + return Integer.parseInt(ctx.getAttribute(key)); + } catch( NumberFormatException e ) { + LOG.debug(debug); + } + + return 0; + } +} diff --git a/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/OSGI-INF/blueprint/vnftools-blueprint.xml b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/OSGI-INF/blueprint/vnftools-blueprint.xml new file mode 100644 index 00000000..d784db71 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/OSGI-INF/blueprint/vnftools-blueprint.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/l3ucpetools.properties b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/l3ucpetools.properties new file mode 100644 index 00000000..fe782b32 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/l3ucpetools.properties @@ -0,0 +1,23 @@ +### +# ============LICENSE_START======================================================= +# openECOMP : SDN-C +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +changeorder.timeout=86400 +breakfix.timeout=7200 diff --git a/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/org/opendaylight/blueprint/vnftools-blueprint.xml b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/org/opendaylight/blueprint/vnftools-blueprint.xml new file mode 100644 index 00000000..d784db71 --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/src/main/resources/org/opendaylight/blueprint/vnftools-blueprint.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/vnftools/provider/src/test/java/org/onap/sdnc/vnftools/VnfToolsTest.java b/sdnc-a1-controller/northbound/vnftools/provider/src/test/java/org/onap/sdnc/vnftools/VnfToolsTest.java new file mode 100644 index 00000000..3cafa8ae --- /dev/null +++ b/sdnc-a1-controller/northbound/vnftools/provider/src/test/java/org/onap/sdnc/vnftools/VnfToolsTest.java @@ -0,0 +1,210 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.sdnc.vnftools; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; + +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; + +public class VnfToolsTest { + private SvcLogicContext mockSvcLogicContext = mock(SvcLogicContext.class); + + private VnfTools vnfTools; + + @Before + public void setUp() throws Exception { + vnfTools = new VnfTools(); + } + + @Test + public void testConstructor() throws Exception { + VnfTools vTools = new VnfTools(); + Assert.assertTrue("Should have created", vTools != null); + } + + @Test(expected = SvcLogicException.class) + public void testCheckIfActivateReadyFailure() throws Exception { + vnfTools.checkIfActivateReady(null, mockSvcLogicContext); + } + + @Test + public void testCheckIfActivateReady() throws Exception { + String value = "testing"; + Map parameters = new HashMap<>(); + parameters.put(VnfTools.RETURN_KEY, value); + vnfTools.checkIfActivateReady(parameters, mockSvcLogicContext); + Mockito.verify(mockSvcLogicContext, times(1)).setAttribute(value, VnfTools.TRUE_STRING); + } + + @Test(expected = SvcLogicException.class) + public void testStringContainsFailure() throws Exception { + vnfTools.stringContains(null, mockSvcLogicContext); + } + + @Test + public void testStringContains() throws Exception { + String value = "result ctx string"; + String stringToFindValue = "testing"; + String stringToSearchValue = "testing 1234"; + Map parameters = new HashMap<>(); + parameters.put(VnfTools.RESULT_CTX_STRING, value); + parameters.put(VnfTools.STRING_TO_FIND, stringToFindValue); + parameters.put(VnfTools.STRING_TO_SEARCH, stringToSearchValue); + + vnfTools.stringContains(parameters, mockSvcLogicContext); + Mockito.verify(mockSvcLogicContext, times(1)).setAttribute( + value, Boolean.toString(stringToSearchValue.contains(stringToFindValue))); + + stringToFindValue = "1234"; + vnfTools.stringContains(parameters, mockSvcLogicContext); + Mockito.verify(mockSvcLogicContext, times(2)).setAttribute( + value, Boolean.toString(stringToSearchValue.contains(stringToFindValue))); + } + + @Test + public void testGenerateNameFailure() throws Exception { + try { + vnfTools.generateName(null, mockSvcLogicContext); + Assert.fail("should have throw SvcLogicException"); + } catch (SvcLogicException e) { + Assert.assertFalse("Should be validation error", + e.getMessage().contains("needs at least length 4 but only have")); + } + } + + @Test + public void testGenerateNameFailWithShortBaseParam() throws Exception { + String value = "return path"; + String base = "123"; + String suffix = "suffix"; + Map parameters = new HashMap<>(); + parameters.put(VnfTools.RETURN_PATH, value); + parameters.put(VnfTools.BASE, base); + parameters.put(VnfTools.SUFFIX, suffix); + + try { + vnfTools.generateName(parameters, mockSvcLogicContext); + Assert.fail("should have throw SvcLogicException"); + } catch (SvcLogicException e) { + Assert.assertTrue("Should be length error", + e.getMessage().contains("needs at least length 4 but only have")); + } + } + + @Test + public void testGenerateName() throws Exception { + String value = "return path"; + String base = "1234567890"; + String suffix = "suffix"; + Map parameters = new HashMap<>(); + parameters.put(VnfTools.RETURN_PATH, value); + parameters.put(VnfTools.BASE, base); + parameters.put(VnfTools.SUFFIX, suffix); + + vnfTools.generateName(parameters, mockSvcLogicContext); + String expectedValue = String.format("%s%s%s", + base.substring(0, base.length() - 4), suffix, base.substring(base.length() - 2)); + Mockito.verify(mockSvcLogicContext, times(1)).setAttribute(value, expectedValue); + } + + @Test + public void testPrintContextInParamNullFailure() throws Exception { + try { + vnfTools.printContext(null, mockSvcLogicContext); + Assert.fail("should have throw SvcLogicException"); + } catch(SvcLogicException e) { + Assert.assertEquals("Should be no param error", "no parameters passed", e.getMessage()); + } + } + + @Test + public void testPrintContextFileNameFailure() throws Exception { + String expectedEmessage = "printContext requires 'filename' parameter"; + Map parameters = new HashMap<>(); + try { + vnfTools.printContext(parameters, mockSvcLogicContext); + Assert.fail("should have throw SvcLogicException"); + } catch(SvcLogicException e) { + Assert.assertEquals("Should be missing filename error", expectedEmessage, e.getMessage()); + } + + parameters.put(VnfTools.FILENAME, ""); + try { + vnfTools.printContext(parameters, mockSvcLogicContext); + Assert.fail("should have throw SvcLogicException"); + } catch(SvcLogicException e) { + Assert.assertEquals("Should still be missing filename error", expectedEmessage, e.getMessage()); + } + } + + @Test + public void testPrintContext() throws Exception { + Map parameters = new HashMap<>(); + parameters.put(VnfTools.FILENAME, "target/testPrintContext.out"); + vnfTools.printContext(parameters, mockSvcLogicContext); + } + + @Test + public void testGetArrayLengthInvalidInt() throws Exception { + String key = "abc"; + Mockito.doReturn("efg").when(mockSvcLogicContext).getAttribute(key); + int result = VnfTools.getArrayLength(mockSvcLogicContext, key); + Assert.assertEquals("Should return 0 for string value", 0, result); + } + + @Test + public void testGetArrayLength() throws Exception { + String key = "abc"; + String value = "234"; + Mockito.doReturn(value).when(mockSvcLogicContext).getAttribute(key); + int result = VnfTools.getArrayLength(mockSvcLogicContext, key); + Assert.assertEquals("Should return the value int", Integer.parseInt(value), result); + } + + @Test + public void testGetArrayLengthWithDebugInvalidInt() throws Exception { + String key = "abc"; + Mockito.doReturn("efg").when(mockSvcLogicContext).getAttribute(key); + int result = VnfTools.getArrayLength(mockSvcLogicContext, key, "debug"); + Assert.assertEquals("Should return 0 for string value", 0, result); + } + + @Test + public void testGetArrayLengthWithDebug() throws Exception { + String key = "abc"; + String value = "234"; + Mockito.doReturn(value).when(mockSvcLogicContext).getAttribute(key); + int result = VnfTools.getArrayLength(mockSvcLogicContext, key, "debug"); + Assert.assertEquals("Should return the value int", Integer.parseInt(value), result); + } + +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/.gitignore b/sdnc-a1-controller/oam/.gitignore new file mode 100755 index 00000000..b632be92 --- /dev/null +++ b/sdnc-a1-controller/oam/.gitignore @@ -0,0 +1,62 @@ +#####standard .git ignore entries##### + +## IDE Specific Files ## +org.eclipse.core.resources.prefs +.checkstyle +.classpath +.project +.settings +.idea +.externalToolBuilders +.pydevproject +maven-eclipse.xml +workspace + +## Compilation Files ## +*.class +**/target +target +target-ide +MANIFEST.MF + +## Misc Ignores (OS specific etc) ## +bin/ +dist +*~ +*.ipr +*.iml +*.iws +classes +out/ +.DS_STORE +.metadata + +## antlr4 generated files ## +ExprGrammarBaseListener.java +ExprGrammarLexer.java +ExprGrammarListener.java +ExprGrammarParser.java +ExprGrammar.tokens +ExprGrammarLexer.tokens + +# BlackDuck generated file +sdnc-oam_bdio.jsonld +blackDuckHubProjectName.txt +blackDuckHubProjectVersionName.txt + +#Chef local mode cache +local-mode-cache + +# Generated local docker image +**/docker-files/opt +**/src/main/resources/opt + +#dgbuilder releases +#**/dgbuilder/releases + +#version plugin backups +**/*.versionsBackup + +#Yang generated +**/restconfapi-yang/src/main/java/ +**/yang-gen-sal/ diff --git a/sdnc-a1-controller/oam/.gitreview b/sdnc-a1-controller/oam/.gitreview new file mode 100644 index 00000000..77039608 --- /dev/null +++ b/sdnc-a1-controller/oam/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=gerrit.onap.org +port=29418 +project=sdnc/oam.git diff --git a/sdnc-a1-controller/oam/INFO.yaml b/sdnc-a1-controller/oam/INFO.yaml new file mode 100644 index 00000000..f8b0d372 --- /dev/null +++ b/sdnc-a1-controller/oam/INFO.yaml @@ -0,0 +1,52 @@ +--- +project: 'sdnc-oam' +project_creation_date: '2017-02-14' +project_category: '' +lifecycle_state: 'Incubation' +project_lead: &onap_sdnc_ptl + name: 'Dan Timoney' + email: 'dtimoney@att.com' + id: 'djtimoney' + company: 'ATT' + timezone: 'America/New York' +primary_contact: *onap_sdnc_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.onap.org/projects/SDNC' + key: 'SDNC' +mailing_list: + type: 'groups.io' + url: 'lists.onap.org' + tag: '<[vid]>' +realtime_discussion: '' +meetings: + - type: 'zoom' + agenda: 'https://wiki.onap.org/display/DW/Software+Defined+Network+Controller+Project' + url: 'https://wiki.onap.org/display/DW/Software+Defined+Network+Controller+Project#SoftwareDefinedNetworkControllerProject-Meetings' + server: 'n/a' + channel: 'n/a' + repeats: 'weekly' + time: '13:00 UTC' +repositories: + - 'sdnc/adaptors' + - 'sdnc/apps' + - 'sdnc/northbound' + - 'sdnc/oam' +committers: + - <<: *onap_sdnc_ptl + - name: 'Prabhuram Somasundaram' + email: 'ps7551@att.com' + company: 'ATT' + id: 'Prabhu_Ram' + timezone: '' + - name: 'David Stilwell' + email: 'stilwelld@att.com' + company: 'ATT' + id: 'stilwelld' + timezone: '' +tsc: + approval: 'https://lists.onap.org/pipermail/onap-tsc' + changes: + - type: 'Deletion' + name: 'Ryan Goulding' + link: 'https://lists.onap.org/g/onap-tsc/message/4261' diff --git a/sdnc-a1-controller/oam/LICENSE.txt b/sdnc-a1-controller/oam/LICENSE.txt new file mode 100644 index 00000000..3ea5081a --- /dev/null +++ b/sdnc-a1-controller/oam/LICENSE.txt @@ -0,0 +1,22 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ diff --git a/sdnc-a1-controller/oam/README.md b/sdnc-a1-controller/oam/README.md new file mode 100644 index 00000000..98b67fb0 --- /dev/null +++ b/sdnc-a1-controller/oam/README.md @@ -0,0 +1,14 @@ +This source repository contains the code for SDN Controller operations, administration and maintenance utilities. This code depends on the following, which should be downloaded and compiled first: + +1. org.openecomp.sdnc/sdnc-core +2. org.openecomp.sdnc/sdnc-adaptors +3. org.openecomp.sdnc/sdnc-northbound +4. org.openecomp.sdnc/sdnc-plugins + +To compile this code: + +1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the OpenECOMP repositories and OpenDaylight repositories. See example-settings.xml for an example. + +2. To compile, run "mvn clean install". + + diff --git a/sdnc-a1-controller/oam/SdncReports/README.md b/sdnc-a1-controller/oam/SdncReports/README.md new file mode 100644 index 00000000..651f64bd --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/README.md @@ -0,0 +1,11 @@ +Parent-SdncReports (ccsdk is used as parent) +--------------------------------------------- +Child- + SdncReportsApi + SdncReportsDao +DB information:- +Need to change below DB details inside application.properties. + + spring.datasource.url=jdbc:mariadb://localhost:3306/testreports + spring.datasource.username=root + spring.datasource.password=root \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/pom.xml b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/pom.xml new file mode 100644 index 00000000..b6eab485 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/pom.xml @@ -0,0 +1,191 @@ + + + 4.0.0 + jar + SdncReportsApi + org.onap.sdnc.oam + 1.7.3-SNAPSHOT + sdnc-oam :: SdncReports :: SdncReportsApi + + org.onap.sdnc.oam + SdncReports + 1.7.3-SNAPSHOT + + + + + UTF-8 + UTF-8 + 1.8 + + + + + + ch.vorburger.mariaDB4j + mariaDB4j + 2.2.3 + + + + + com.google.code.gson + gson + 2.8.2 + + + + ${project.groupId} + SdncReportsDao + ${project.version} + + + + org.mariadb.jdbc + mariadb-java-client + 1.1.9 + + + + org.springframework.boot + spring-boot-starter-web + 1.5.4.RELEASE + + + + org.springframework + spring-context + 4.3.9.RELEASE + + + + org.springframework.boot + spring-boot-starter-tomcat + provided + + + + org.apache.tomcat.embed + tomcat-embed-jasper + provided + + + + + org.springframework.boot + spring-boot-devtools + true + + + + org.springframework.boot + spring-boot-starter-test + test + 1.5.3.RELEASE + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + org.springframework.boot + spring-boot-starter-log4j2 + + + + + org.webjars + bootstrap + 3.3.7 + + + + org.webjars + bootstrap-datepicker + 1.0.1 + + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + org.jacoco + jacoco-maven-plugin + 0.7.5.201505241946 + + + pre-unit-test + + prepare-agent + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + surefireArgLine + + + + + post-unit-test + test + + report + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + ${project.reporting.outputDirectory}/jacoco-ut + + + + + + + io.fabric8 + docker-maven-plugin + 0.15.3 + + http://127.0.0.1:9092 + true + + + vishal/sdnc_report + + Dockerfile + + artifact + + + + + + + + + diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/Application.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/Application.java new file mode 100644 index 00000000..b7cd50f5 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/Application.java @@ -0,0 +1,42 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + +package com.onap.sdnc.reports; + + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; + + +@SpringBootApplication(scanBasePackages = {"com.onap.sdnc.reports.*","com.onap.sdnc.testapi.*"}) +@EnableAutoConfiguration +public class Application { + private static final Logger logger = LogManager.getLogger(Application.class); + public static void main(String[] args) { + + SpringApplication.run(Application.class, args); + logger.info("SDNC REPORTS API Has Started.."); + } +} + + diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/ServletInitializer.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/ServletInitializer.java new file mode 100644 index 00000000..55678cb1 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/ServletInitializer.java @@ -0,0 +1,32 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.support.SpringBootServletInitializer; + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(Application.class); + } + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/EmbeddedMariaDbConfig.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/EmbeddedMariaDbConfig.java new file mode 100644 index 00000000..ca45838f --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/EmbeddedMariaDbConfig.java @@ -0,0 +1,5 @@ +package com.onap.sdnc.reports.config; + +public class EmbeddedMariaDbConfig { + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/JpaApplicationConfig.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/JpaApplicationConfig.java new file mode 100644 index 00000000..97ff2820 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/config/JpaApplicationConfig.java @@ -0,0 +1,30 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports.config; + + +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; + +@EnableJpaRepositories("com.onap.sdnc.reports.repository") +@EntityScan("com.onap.sdnc.reports.*") +public class JpaApplicationConfig { + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/CertificationController.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/CertificationController.java new file mode 100644 index 00000000..7d69794a --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/CertificationController.java @@ -0,0 +1,54 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import com.onap.sdnc.reports.model.Request; +import com.onap.sdnc.reports.model.Response; +import com.onap.sdnc.reports.service.LayerTestService; + + +@RestController +public class CertificationController { + + @Autowired + LayerTestService ltService; + + @RequestMapping("/") + ModelAndView home(ModelAndView modelAndView) { + + modelAndView.setViewName("index"); + + return modelAndView; + } + + @RequestMapping(value="/runtest",method=RequestMethod.POST, consumes="application/json",produces=MediaType.APPLICATION_JSON_VALUE) + public Response findReportByTestName(@RequestBody Request req) { + + return ltService.networkCertification(req); + } +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/ReportController.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/ReportController.java new file mode 100644 index 00000000..55a63604 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/controller/ReportController.java @@ -0,0 +1,59 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports.controller; + +import java.util.Date; +import java.util.List; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import com.onap.sdnc.reports.rest.model.PreTestModel; +import com.onap.sdnc.reports.service.IReportService; + +@RestController +public class ReportController { + + private static final Logger logger = LogManager.getLogger(ReportController.class); + + @Autowired + IReportService reportService; + @RequestMapping(value="/findReportByDeviceIP/{startDate}/{endDate}/{deviceIP:.+}", produces = "application/json",method=RequestMethod.GET) + public List findReportByDeviceIP(@PathVariable("startDate") Date startDate,@PathVariable("endDate") Date endDate,@PathVariable("deviceIP") String deviceIP) { + + try{ + logger.info("findReportByDeviceIP Started Working.."); + if(logger.isDebugEnabled()) + logger.debug("Received StartDate : "+startDate+" ,EndDate : "+endDate+" ,DeviceIP : "+deviceIP); + + return reportService.findReportByDeviceIP(startDate,endDate,deviceIP); + } + catch(Exception ex) + { + logger.info("Exception Occured : "+ex.getLocalizedMessage()); + return java.util.Collections.emptyList(); + } + } +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/CertificationClientService.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/CertificationClientService.java new file mode 100644 index 00000000..589fecf0 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/CertificationClientService.java @@ -0,0 +1,210 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.reports.service; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; +import com.onap.sdnc.reports.model.CertificationInputs; +import com.onap.sdnc.reports.model.DeviceConfig; +import com.onap.sdnc.reports.model.ODLClientResponse; +import com.onap.sdnc.reports.model.Output; +import com.onap.sdnc.reports.model.PreTestResponse; +import com.onap.sdnc.reports.repository.DeviceRepository; +import com.onap.sdnc.reports.repository.PreTestConfigRepository; + +@Service +public class CertificationClientService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + + @Autowired + DeviceRepository deviceRepository; + + @Autowired + PreTestConfigRepository preTestRepo; + + ObjectMapper mapper = new ObjectMapper(); + + public void restClient(CertificationInputs vnfinfo, List preTestNew, String testType) { + + PreTestResponse preTest = new PreTestResponse(); + + Output output = new Output(); + if ("network".equalsIgnoreCase(testType)) { + output = pingTest(vnfinfo); + } + if ("protocol".equalsIgnoreCase(testType)) { + output = protocolTest(vnfinfo); + } + preTest.setStatus(output.getStatus()); + preTest.setIpaddress(output.getIpaddress()); + preTest.setStatistics(output.getStatistics()); + preTest.setAvgTime(output.getAvgTime()); + preTest.setTesttype(testType); + preTest.setHostname(output.getHostname()); + preTestNew.add(preTest); + + ODLClientResponse odlClientResponse=new ODLClientResponse(); + odlClientResponse.setOutput(output); + + testSaveResults(preTest, odlClientResponse); + } + + public static Output pingTest(CertificationInputs vnfinfo) { + + Output output = new Output(); + String pingCmd = "ping " + vnfinfo.getInput().getIpaddress(); + String pingResult = ""; + String testResult = "fail"; + String status = "unreachable"; + String reason = null; + String timeRes = null; + String percentile = null; + boolean flag = false; + boolean flag1 = false; + try { + InetAddress byIpaddress = InetAddress.getByName(vnfinfo.getInput().getIpaddress()); + String byHostName=vnfinfo.getInput().getHostname(); + flag = byIpaddress.isReachable(5000); + + } catch (UnknownHostException e) { + logger.info("Network certification Exception : " + e); + } catch (IOException e) { + logger.info("Network certification Exception : " + e); + } + + if (flag ) { + try { + Runtime r = Runtime.getRuntime(); + Process p = r.exec(pingCmd); + BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + if (pingResult.equals("")) { + pingResult = inputLine; + } else { + pingResult += "~" + inputLine; + } + } + String[] results = pingResult.split("~"); + for (String res : results) { + if (res.trim().contains("Packets:")) { + testResult = "pass"; + status = "reachable"; + String packets = res.trim(); + String[] lossPercentile = packets.split("\\("); + percentile = lossPercentile[1].replace(")", "").replace(",", "").trim(); + } + if (res.trim().contains("Minimum")) { + String timeMs = res.trim(); + String[] time = timeMs.split(","); + timeRes = time[0]; + } + } + in.close(); + } catch (Exception e) { + logger.info("Network certification Exception : " + e); + testResult = "fail"; + status = "unreachable"; + reason = e.toString(); + } + } + output.setAvgTime(timeRes); + output.setStatistics(percentile); + output.setHostname(vnfinfo.getInput().getHostname()); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + output.setTestresult(testResult); + output.setStatus(status); + + return output; + } + + public static Output protocolTest(CertificationInputs vnfinfo) { + Output output = new Output(); + Socket s = null; + String status = "unreachable"; + String reason = null; + try { + s = new Socket(vnfinfo.getInput().getIpaddress(), Integer.parseInt("445")); + status = "reachable"; + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } finally { + if (s != null) + try { + s.close(); + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } + } + output.setStatus(status); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + + return output; + } + + public void testSaveResults(PreTestResponse preTest,ODLClientResponse output) { + boolean flag=false; + long devId = 1; + + String timeStamp = new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); + try { + DeviceConfig devicename = deviceRepository.findDeviceIP(preTest.getIpaddress()); + devId = devicename.getId(); + } catch (Exception e) { + flag=true; + } + if(flag) { + deviceRepository.logDeviceName(preTest.getIpaddress(), timeStamp); + } + + DeviceConfig devicename = deviceRepository.findDeviceIP(preTest.getIpaddress()); + devId = devicename.getId(); + + Gson gson = new Gson(); + String testName= preTest.getTesttype(); + String result = preTest.getStatus(); + String execuationDetails = gson.toJson(output); + + preTestRepo.logPreTestReport(testName, result, execuationDetails, timeStamp, devId); + } + +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/IReportService.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/IReportService.java new file mode 100644 index 00000000..cdf7b167 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/IReportService.java @@ -0,0 +1,35 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports.service; + +import java.util.Date; +import java.util.List; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; + +import com.onap.sdnc.reports.rest.model.PreTestModel; + +public interface IReportService { + + public List findReportByDeviceIP(@PathVariable("startDate") Date startDate,@PathVariable("endDate") Date endDate,@RequestParam("deviceIP") String deviceIP) throws Exception; + + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestService.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestService.java new file mode 100644 index 00000000..85afdc92 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestService.java @@ -0,0 +1,31 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.reports.service; + +import com.onap.sdnc.reports.model.Request; +import com.onap.sdnc.reports.model.Response; + + +public interface LayerTestService { + + public Response networkCertification(Request restReq); + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestServiceImpl.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestServiceImpl.java new file mode 100644 index 00000000..0565e51a --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/LayerTestServiceImpl.java @@ -0,0 +1,93 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package com.onap.sdnc.reports.service; + +import java.util.ArrayList; +import java.util.List; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.stereotype.Service; +import com.onap.sdnc.reports.model.CertificationInputs; +import com.onap.sdnc.reports.model.Input; +import com.onap.sdnc.reports.model.PreTestResponse; +import com.onap.sdnc.reports.model.Request; +import com.onap.sdnc.reports.model.Response; +import com.onap.sdnc.reports.model.ValidationTestType; +import com.onap.sdnc.reports.model.VnfList; +import com.onap.sdnc.reports.repository.DeviceRepository; +import com.onap.sdnc.reports.repository.PreTestConfigRepository; + + +@EnableJpaRepositories("com.onap.sdnc.reports.repository") +@EntityScan("com.onap.sdnc.*") +@EnableAutoConfiguration +@Service +public class LayerTestServiceImpl implements LayerTestService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + @Autowired + CertificationClientService certificationClientservice; + + @Autowired + DeviceRepository deviceRepository; + + @Autowired + PreTestConfigRepository preTestRepo; + + @Override + public Response networkCertification(Request restReq) { + + String testType = "network"; + + VnfList[] vnf = restReq.getVnfList(); + + ValidationTestType[] validationType = restReq.getValidationTestType(); + + CertificationInputs vnfRequestParams = new CertificationInputs(); + + Response resOutput = new Response(); + + Input input = new Input(); + + List preTestNew = new ArrayList(); + for (ValidationTestType validationTestType : validationType) { + if (validationTestType.getValidationType().equalsIgnoreCase("Network Layer")) { + testType = "network"; + } + if (validationTestType.getValidationType().equalsIgnoreCase("Protocol Layer")) { + testType = "protocol"; + } + for (VnfList vnfList : vnf) { + input.setIpaddress(vnfList.getIpAddress()); + input.setHostname(vnfList.getHostName()); + vnfRequestParams.setInput(input); + certificationClientservice.restClient(vnfRequestParams, preTestNew, testType); + } + } + resOutput.setPreTestResponse(preTestNew); + return resOutput; + } + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/ReportServiceImpl.java b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/ReportServiceImpl.java new file mode 100644 index 00000000..68e28987 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/java/com/onap/sdnc/reports/service/ReportServiceImpl.java @@ -0,0 +1,89 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +package com.onap.sdnc.reports.service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.onap.sdnc.reports.model.PreTestConfig; +import com.onap.sdnc.reports.repository.DeviceRepository; +import com.onap.sdnc.reports.repository.PreTestConfigRepository; +import com.onap.sdnc.reports.rest.model.PreTestModel; + +@Service +public class ReportServiceImpl implements IReportService { + + private static final Logger logger = LogManager.getLogger(ReportServiceImpl.class); + + @Autowired + DeviceRepository deviceRepository; + + @Autowired + PreTestConfigRepository preTestConfigRepository; + + + @Override + public List findReportByDeviceIP(Date startDate, Date endDate, String deviceIP) throws Exception{ + + try{ + + List resultSet= preTestConfigRepository.findReportByDeviceIP(startDate, endDate, deviceIP); + + if(logger.isDebugEnabled()) + logger.debug("Received Output From Repository Is: "+resultSet); + + List preTestList=new ArrayList(); + for(PreTestConfig config : resultSet) + { + try{ + long deviceid=config.getDevice().getId(); + long testid=config.getTestId(); + String testName=config.getTestName(); + String deviceIp=config.getDevice().getDeviceIP(); + String execuationDetails=config.getExecuationDetails(); + String result=config.getResult(); + Date timeStamp=config.getTimestamp(); + + PreTestModel model=new PreTestModel(testid, deviceid, testName, deviceIp, execuationDetails, result, timeStamp); + preTestList.add(model); + } + catch(Exception ex) + { + logger.info("Exception Occured : "+ex.getLocalizedMessage()); + logger.error(ex); + } + } + logger.info("Final PreTestConfig List Size : "+preTestList.size()); + logger.info("findReportByDeviceIP Finished Working.."); + return preTestList; + } + catch(Exception ex) + { + logger.info("Exception Occured : "+ex.getLocalizedMessage()); + logger.error(ex); + throw new Exception("Exception occurred while processing findReportByDeviceIP ",ex); + } + } +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/application.properties b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/application.properties new file mode 100644 index 00000000..c680ce20 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/application.properties @@ -0,0 +1,30 @@ +server.port = 9003 + +spring.jackson.serialization.fail-on-empty-beans=false + +server.tomcat.uri-encoding=utf-8 + +server.error.whitelabel.enabled=false +spring.mvc.view.prefix = /WEB-INF/views/ +spring.mvc.view.suffix = .jsp + +spring.datasource.url=jdbc:mariadb://localhost:3306/testreports +spring.datasource.username=root +spring.datasource.password=12345 +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +# Keep the connection alive if idle for a long time (needed in production) +spring.datasource.testWhileIdle=true +spring.datasource.validationQuery=SELECT 1 +# =============================== +# = JPA / HIBERNATE +# =============================== +# Show or not log for each sql query +spring.jpa.show-sql=true +# Hibernate ddl auto (create, create-drop, update): with "create-drop" the database +# schema will be automatically created afresh for every start of application +spring.jpa.hibernate.ddl-auto=update +# Naming strategy +spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl +spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy +# Allows Hibernate to generate SQL optimized for a particular DBMS +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/log4j2.xml b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/log4j2.xml new file mode 100644 index 00000000..e443b529 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/log4j2.xml @@ -0,0 +1,38 @@ + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex + + + + + + + + + + ${LOG_PATTERN} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/footer.html b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/footer.html new file mode 100644 index 00000000..0b31ef70 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/footer.html @@ -0,0 +1,3 @@ +

diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-validationTest.html b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-validationTest.html new file mode 100644 index 00000000..7ca70cc0 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-validationTest.html @@ -0,0 +1,148 @@ + +
+
+   Pre-test/Certification +
+
+
+ + + + +
+
+
+ +
+
+ +
+ Required! +
+
+ Not + a valid IPAddress! +
+
+ Not + a valid IPAddress! +
+
+
+
+
+ +
+
+ +
+ Required! +
+
+ Not + a valid HostName! +
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
SNo.TestNameDevice IPStatusStatistics (%Loss)Average Time (ms)Result
{{$index+1}}{{test.testtype}}{{test.ipaddress}}{{test.status | uppercase}}{{test.statistics | uppercase}}{{test.avgTime | uppercase}}
+ +
+ +
+
+    +    + +    +
+
+
\ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-viewReport.html b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-viewReport.html new file mode 100644 index 00000000..ac6b86ee --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/form-viewReport.html @@ -0,0 +1,129 @@ + +
+
  Search For Historical Test Reports
+
+
+
+ + + +
+
+ + +
+ + Required! + + Not a valid date! +
+
+
+ + +
+ + Required! + + Not a valid date! +
+
+
+
+
+ + +
+ + Required! + + Not a valid date! +
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
SNo. + TestName + DeviceIP + Timestamp + Status + Statistics (%Loss)Average Time (ms)Result +
{{$index+1}} + {{test.testname}} + {{test.deviceIP}} + {{test.timeStamp}} + {{test.executionDetails.status | uppercase}} + {{test.executionDetails.statistics}} + {{test.executionDetails.avgTime}} + {{test.result}} +
+
+ +
+
+ + +
+
+ +    + + +
+
+
+ + +
+
+ + \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/header.html b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/header.html new file mode 100644 index 00000000..23851589 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/header.html @@ -0,0 +1,3 @@ +
+

ONAP Certification Test Page

+
diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/FailImage.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/FailImage.png new file mode 100644 index 0000000000000000000000000000000000000000..22c44f7c22bffe52f9bbbfa97dbd6b6d1bdf8b5b GIT binary patch literal 2950 zcmV;13wiX3P)w2m>5H$&R5vyqJ&3fy5YNZ@xp##uGMQO3nLw}Cp+kob9XfRA z(4j+z4jnpl_<)lh=-zo{n{r@55y3L`zP^#-1_h1W`|+~51+fK?EeN^I+L)! z77V^px>5bX6Q%6qdX06s@#y!h`fsLb6w#4%maWG9oJMqB{&!o-LOL&b5EkP3oq8?> zEwUwbm`7(1riY{zk16#?v<4dAt>+Qq(%GZgL21NON*%)J3-|}|Cnbb9boXj-RQmAc zael;&P&2Zj?7%U#K6nh4yTe$6nNY^a@z8h4f#bK`9G79h=Z{XReK-Hm~f zX~E#m>1Xpt+@O-r*dAuz;(5FagX0LJHPS-=uJA)KTaWhn)i3tLkI_-(i;Rzp@xXCy zmneVTogRN33mdL|^2hPb9-Z^B&f>!X;cimzTJQ9iBG&+)cIegH*&jbbKWiuMAHUXc z;P}#h-Z5RA_%ZsS;ffEZ3v!zXJ_Z`DSslp>*Po}AqsIYGcc*I-7KJT_$M}PWCzJBX zy{799-U4#QvH#sx=(zEt6F<^lX{?>SoGr%8I94_NS0#+o^HJ1^f+8$)6uHZpH|=un zSLgnK6a3PAgK_TqgoRqX7#Q*B%)w-jIC|E8kLh>r7K8=g%~b)u0zYR%VOmj$DiP13 z97Vny7bfmg1ds4Je%!|x3R!cSr${`yF&`b1d47RZ$_1hLxOkR4Iug@`j=LbdxF=m2 zyxr3!MSj1PuCOb@c-OzUqeIOu|K|&fAz9?un=;j8TezL;nGVI5F7;rl%#6rc(!#yW zIMF=fQ_6T|ss_C3?YgieNMy>1=CSA(C~~iQr}rj7^DYB37c5PI^1hM}(jZt-} z`XQV^;?LUY^-0#DXgJw4RvXa$`ci}*5q)YNIT(YtNHicmjb4@2C|-d)8{BFiIUHMo zy!n|%th}0vS73ueMvOvI{0sjZx07=tnLvWroHv7!j3P?nBrC}T5_N-9BM>UM1ELg~ z%02pGx6BDPTG5l>PWJfuG=jz#Z>3kzov~DeP^2Ef=&W3dj2&^%FGTkh>U8(6;W6 zX9Yzj-fW-j1eFSF3HExo3W~&wiVEjWoMBo^Frz3RF(2}UHaWIGUKK%Zb&-N1>CeuS z*ym8DVk{EGMRQHXjdG(#3WEs z^xOw7fYeVxcL#!QOhV=O8I@*&KLqX3qB7j8r--Qk*OGKejeGT4R1>rz;Vs9cWEK?! zo7-Hf2X)X;5Nx~X1jj^N*)2iPZrKnAr3{y#y~=hasFEo$!nd}^jD#vB7Qsu~?LDpl zRbitDx0UU)ns`J|bb@Aj05wBVfx7?;Om>bL1e7A9`rBa}!k3~_aZd2M4&>(WB-ujE zA+R~)EyG@w>;59V7Bwn>r~^)b{-W)HRzy6LSA6qmtJk6?rc6;Vynx5-I2DJ&Eh-Uq ze0vTz0)Z24R~Rzjdges&s)EL{LVjq^o;CpT{tP9qqz=_n^w^YA)O+C07^Hnt0E$;p zs#!>T4*<9Zd9#9uZ8@S<+XTw+531B;@a?Wh#VI72P$OJhEK=hXE=A?=Qfn#3I~@cq zrkH4%L5nFSnr84oac3b#odmO4w5~!N@1#9=)hOCFi*PRreGrzd#Q~ULu!V{`Z*9?D z&0q~BNcX)xtN>>h#Tit|gqiAGf&bbX0rw9&WOtX%$^h(?Y|*HnP_fOTW6f|HL2De5 z70DFXbrAa7Mmq-Q$ToB@z)Kcq4P8t4k6Pcfn?WJp}_?ouEs z^^U+{#$m1GQiy!X6KfN=w{ctPn1YYb@x+Nx;(?7IY@v+01xGYSWxJn<7RIP?af8@i zQUo-3IBh)g!yTde>CfSN0L`AmK(vp#Yvq+vu)C5Qy8+z82{NkgIvgS{)o-j}1FpEZ zZIwwbxbXW)pql_ZPLQBH`GE)i#$v_`d`RvLaJ@CW(%Nq%TfBjr6^kHhYlt|z(1b(9 zbm0TLfF2Rg%)CP#hH!#_MR){aDLSrc5e|=Eutj(TVkvs+_*xrV_%=O5^xsbrrf*iE z-XU6LP_1}~rD(KpbBh>kQsVE7D6Huzly)xBD#%C)KD>2wSgj9n)7reMUT37SvNz3Ff4RE`b^|%uVZtVvJ97G!@_85n7{? zn8^bpZ8Y4jhtrGI#7rKshcOuqhovxT?bI<-2M?HKuOVb$f^ej#ocV${(NI5Re4rM- z4t~Af0I_R8>YjK*G$UxNE?^{h9SN0Tjd+@xY%~MLPTg8|x>YUE}x zn8;Bv`E_LegH!qg*AnAqJk$Jmrik(i0B4i<_PCiNFgtEcaNjVO;m2IjlRjTJV-l1w84}b2Fq0RaqKhb zZ@W^WBp3E*3Ng<-#tW+Im~HZ$RZm?Y=H~fctsp(!`+eD?!`HTILK?;#8g8mLD#l;j zScMa5sJteJILBZfT|d=K!MU*tJZsqe2U7%LpPT1a$65X9z90keZQS)y(34I-KzUCU z1~(VR+CW-Z#Qb~`GxOB@b+6}hV`a3BoQI2B`(4(`u-cyC~ipzjtY3>F}jKVCqo0b~GQA7>jLW+dCnljIeq%{Lx&C}CnvkOxNO+4K}t$$<;s=!@84HaQYtDcYB>H@gn@y%-qXb~ zq+-t7yDy7w8A!M#YA1Scb`aXOSz0pgZkLUDmmu{68d5Z`5tPTnaP} z2A<>>|KIiRVdmdm^H**+-r33hCUWo6&buv4bE|{$vxCk*ba=k()mq;d%4{$0Os%SZ z+%2)VT}o#8Ym0@qSD9OEyP3SCVDY_2H_|3LT)*QfsOa=t(Ivyah2w3zz{0-*N?YWe zTE01VT&Uv^yv0w1lA=Bux++V|kT=(D_d&L2yd zthTRUs=2^8_jfGgju57~s|yUcj=xy=>2Znh@725Sh}y62U|(6h`_iGgQ5KrIF)Lf& zFKxYeefG}iX<}vEx&^T^H)1neP4)az!CLX!|7A6l?}agUb(l6z zO8&S`D`128>vxWf8|^lHa#;I4{7bgz_oTPU8>|8iT~-T~9`HK8D62zm^#*a%`V=jp zsm@;_9yYFG7gNjXKe%61W`)?d2Md#q+&OSHuWq6Ed6&=ocrJY2apLXirM&m%&OJM` zmale3`m&uTHojowJ9lT_S9RI#^PbDp@zlpOHomgtuTsmCuRfpn#aHN;oWZPG{a=1x z_VLe|zwg1_&rI)Eg*{8Y`1{1QmCt$C`Nuz)&H8oy?Nr$n|GZ7_hbwY%6bmu?33Dax zOE!FBqapZAi7j?jW=kbo){Ut>9y6LHDpoEN>XTow(0q^4!y9`gYTVZg_bIpC_vL6! z?hxGW?UndzqeQX0zUZ=dM^{9et~KbDD0kNvTgG$cL}lPsgF5|V=T@C;-FW1Mr}|!l zJ_-BPX$}&_I%;ctBLv#sADwbkT=-Bx(xoHoc@u9q_|Cp*ro^MDrnfIb@E3d5t6MFS z3;Sp6`H|#qVH0q9`UYOk_HU0mSOdHdojzjtx_Md4^p3@14!NA?<+~qWd(q2z{_W9; z_a|>udn0^&-No6$^Z2e@jCb0g{%5+yziK14)_C@;w)GPuM9TE@kAJUvvv#9;O3;nm z^2ALSOsXsqA7GJOba(r{uFVdQ&MBb@04$#elmGw# literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/downloadImage.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/downloadImage.png new file mode 100644 index 0000000000000000000000000000000000000000..e72e1285f5486cd07a3024ca34c6eb87c38dbfab GIT binary patch literal 3524 zcmb7GcQhMZA5Ls4NUfSNg7O-bAZAh}QEJqzSyEJ9s|ae;tGm?(6|0K2M%A80ZE8ep zMXlO<*52w%-@e~_&iChc?>YC}d!OHZ?sI;3oab!lY!bkxhtb6VfIt8MNU4CcQNUvW zBON^hJsl$hJp&UH<2eu)D~OpH#K*zO#w8>mA|fOJfj}=RNJGWtB_I$P4H0_Vu=5{oYe!s41lMAr_?|&fC>zx1_RHU0DKgI zRMfwu{#$72sHkax^c3(i8vsa6MMc9zPs>34H~uS_226XNPFP-(okPUf)C}t#-3xmV zMJ#HV;uM9Nq=><<-15Oc+R)N=q%iPOm?`xCa#K1qv_L9qItnIBkwFEdqM>H^cYg{3 zra4b5EN{$?jp7i2X_|Pa6p6wgTv0e10Wec|sKC@<019yY0&ri5feLVc<1;7|B$u0U z`(rnodh?WLibOB}SZRJS27)twcPt;=;PR!UsNj?NuBe-oaP+=U5$VvDX`tm=Hp1eH z9Zw-=R>kr^On=iY=QSblOje@J)UC?jM!GQG8O*t z;-Dh-+sf>rRulwU+;&HyAaqxC`O0I*Ubc_EA2;DZY$0t?x7X)Y&Cfo84?!&luFFCw zyc!9M5d2cnmU%5(tsCTME_Hqq5B#ua4$KG~uMX{!CngaoIa3BVhEVS3SL z#9T<25qn*7tD*2R8x4?hAYkPTX(4gmU{$;I?-SY4hRNMYm27^h&GuC+>D1#3)wMd@ z)oaikT8=odkxGSnZ3gX%vPy;EZL0flov`b^H2i)15f;T1aw4V8q(pd7ZXl)c54l!6W|q_93}mKs>Po zxz5t#ySCrg9rgAeDlKb&bhhYaaGLv470L`gbt+&~I{|I3>FG)=+0{Zqdi#&pw)Abr zn18{4Cild%$U;G7)wArOCgW1}J3d8&@9?Ol0@zTWxMuqWSVAS^1amkM;T-JGnf^Y# zuxnssa$hIQwQ+^V3J{D=QdFsKHXpUgx0G9~u>-ZP*mg|;F5?FWl!&ogRk$4;mG4}; z4P7?IZ7b&2eVmo7l10a$Pk(qGLna{}r+FY4xO&j5Wn&+1i0SAFJ6%qMp4ZYqb~Y2-%&dm)a| zw{z+i1CmhXQxOorVq_8dSAe=9WOSpo!%z>QKQ8pWXl^ibtBXRkJv4y2g3*M_(&vjF8KD^A!Sxt>LPo}sIxJ-F@T_uQe%>&IT<01vEEu=vl{y*heq`|0D6C@lxElbQx~f2!wI;p40YN z9{af`Rim%eto0WCyd)u8Easg-Q%?3wnWUigF`~1*qQ$mK zMAir{Odzzv;6h}F`i-NYY{B!M>`Fc=Fg6YWbTMJ04&C+4$S!6*E~qXM`WGo}A+g0L za*cg!N4xu0PWM1$(ccXz6>U04uZfv|r~F=2U<{EC2vkA+f2Cx@`I>^OR%6pX$5DP5q-3{uzu(c?$kYPyu>!FQuo$k9qb@0^1Ao* zWD+c6jIZ|G2h=d6qS5>mehgpu8XL?`CMV5}d?QH{+QlhpZS8m@R)y~Vtz_5jFoYG| z7`lB1NH6Wb6;SDL?!DBJ<&Wlu(-O)(l6w-9WOFRKC$ug3!SHuhcJsd#I>WR;h}@55 zhkTp1G6y_z2B$^G1;aaNOi-VJqq4PC+Q}+DB*lX}OdMaP_I_pzqVPI-`KLrgLI))! z-mM+Q4(p9Ml2{eDi!%xFJ9S}oBA-WX=el4Gaz-K71Iifl&j7G)U8BbX=r5+GeKj=% zZh^^F^X=rGfM{HGc8yGqugJRt|7L!#5~#ErUs)&DxtAW>?y(nI&VeoAl?{cJKwrA7 ztjXm1P8uI@rVCEVMp92hkOiMzu^nS7QY4it@^E#!P#1yu2C`f5i8hlfd26i=LRabq zdKm1HR`blwHpAc>-r5M5(tWCT3?7zUdN!V$f?n}MeF>i4FvrqdJ`o!rHlE`HZizZF z$DWMouQqE3G2gZ4oDX3%5zO3pkHklqZrWl}`7G&)Y7vD63fp7WE>YiZOpRTPl2wv2 z5h~%Qd@z(-Hf&@nqmX(P>U)Q8#D9M~R}V~VimLH%tMGi(DE-=#s3VqEKqcXu)~j*S zRy)R@*2UkRjN%~Fj0Pgl03w0;EI9mC8Px{5$;`Lt>_97>axDoBXAcdIdt&+z9(j$} zeMjU?*=B5V_>>)(@^?<=-m=!xFqp}x1`FJvkNI(P4w(ma?6Mu!$(+WQj1>@1ULD31 zSBb(}D373?Tnx{{CTf4ed7v1rpbNcWaRLjAO!=oIJ3bp~jZmAoPYo#N3;wA1 znA{tkkI-JNL$|e>x>ywJ_6=vJO}!+!!>n@za(n?M*a7C42-EcEug2H?czJOyPKo7asl#xy<-(#=p=VZy~KHoB^HHgD){HeQpk8EE5nvFNxAtIGgIJVqz#CmF|gh#nL zP4^4@C7}{NA5cT{I>cr&-mbKCBBAObZ3JV#g+&KCIx4 z(r1-@mH>L!+yQizy(}qps)XQ6MojGKd1tCNA%%?hkWD|hGzK$guKPW|cR3M)ohDW8 z^1HGWu|8*aTvfN+znK=U`Av9}%01-SOTm@?-^&al3pX9df+7^@EuS?p7VQa22N#%* z|92$+i$m(j?hj~ohI}jO0Z)b7gNdP!i_yk`lFFZAaw7x-VO;WlGR4Igix=N=xVbiK z=bfm_(p&B%f4<1uzNh25+@8;qz9~^_$GutybT$k!?WdR@jN@nRfIKCw+ijiRb+5Mt zo5x=!n{>B^<$NU>GvE8Ee^}!O{Zz{OFrXdk*<(KEFG-SDkKJjjP$pxOSY2+dCvc`w z=lFCPcs(J(@bZskRia;i;pQiIV9!N3&0qR8c|qqrbp@z0wk&6GsjBrZxT$g<8A@=74RGsb0>&gYEVh3w^Q)?R;Q+p$$a?3f?XU`wk6?t15V*-mObQ&dYiy^OV*(ffSHvmU9joQjVbUlNR{OfmCs!18_jc=@-t7LpI<-HWTHS6HL5LV^4In zaZ+I+DhdUtS9Z1CVz3&Is5x0@=M$+!71G!-=SU4}Q>w&6u;JLSfa5CC)mL#BS^c6) zS)=!_bslb6`Y`lTj~UA%`Si+qsUni7t%8$_w1nRn_Ddf!ro5jmn}dN<%v;jko>QJa zy2$BhF!3RFWN-E$-)F#FuvoS6nJe^Alh|*~Z6y`a*HJ{b- zV8ou-`4l$~dG=}#{iOpn8*e2r`tX5g_Na;rLwTB}f%@0>ZL#{|2z`xz-1Og;`hT0y Hv*G^$PR(nG literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/error.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..3f44964b18de992e318edb8e8c70ccb582b3629c GIT binary patch literal 5610 zcmb7oWmFVg*Y=P@hm^#Cl*5qH(gIRL*8oF_NOuj5bV`Sa0^$GzL&uP!beBV?0@AG@ z63WZ{eBX1g_5OU%_2Zni_Fm`OXP>jKb@slUzx@WFf~sn$0&s8u0GvAjZkGVj0AfNQ z5s;9W2uMUiLQG0dPf1QjM$Sx2M@9bt#KG|Z#Ky+OBgW75P#Da{CLkvuEG{W6EzQZN z@KoWkvY3>#Bn}A)2{{=#6D1{+BsUwkfCT`+ z#l`z4)PDz%fDi`{AD8IPszL?8!NbKRAjT&oA|Uw30|yrmA3#7z4ZO!LtVqM5Z{rn_ zUeqOG@Vt(eQ%Sl0gr3XLJLAKbHBqC;%mzAcTc7B=ZJ2TXL-H@f-2(rP1Q!o@XOyS@ zhXW6n92bue_@6lLyz%g<3I1Uq{4Yga*OxVs6I#(zI!+}6Z!DLX;q%ChdivW%02$t$ zKQ$gTKmiai8LjvK5Yy+`ZhlxcTPP5}aSPz+1h-*)qEv<~Ibt>Pa~{5CjqtO~E)J3J zVlNrWyakkJ;2gt@duN_XmYbfCTpZf94PNp^zzv$V$C|Y{E8hpr7QRZ&{qw8z^JU`1 zmPg>m*eSvS{W>L zF-~##$PW(8@ar@83xy!TB>Pw2hfIV*TC%Fljba1$kKvz-Dw~pfS2mx!-&3Jl-{qV_ zDK69HJ;dp$tLKfj)?2?u!$KD}H!b`4mA&I%v(C?=$@#Yt;Wyam{Zf2L;p zQS#Xtb_+ls{b(HQYC$OZ89TiyXo^rg)u1a!#oq!*R&x7-C7{86KlLO9?whkgUlHr} zo8Z^%Q*Sqqw@N3Yb|nmaZ@}daTaAzX**plW5%fY`f$gA8Ibvob{kO?>r(B1+2usZH zR2P;u96^`3qiRyna}aFYK)SKR;Kw1hTr>*nBxy}yi@su$w&%?mDw-^lRmLwv5^Q9R zd$m`(|1beK#gH{9QU8C?`7^A?|3*CE0@};`C1pI`mjjqUN~x3b(aID(CDpI_d>t19 zKLti2O+8m87_}sWH^v|GHuHJEW8DKT=vv2VKO8KS8vm0xVjOR1Bm9>s%kuh4T32f4 z4~_f^E(pzGt7JnaQdpnqa1vAK&E%ujBI zH`nQ(x5@p~YX^basdXN%WtrXdked2_!R!0y;e>BGA*ld3vcSwtu7}rnrdmNAMid}K zbhDi~gKA5(lI!J_N+9Dbdn6ICZE*{r6O#7z45nnVliT!2Etc7M>Rq0AvhmiA>mq8` zoTL?Z6HHi^f3^ksv}WoC*L<}`)T)LMzL+|X|AC|2IcE$}T0>EEv$`DikDoRZ}pKwDOBQxyfjT>>9h8hd;N#w!#{l>FsA|$&=fH z2JmKOcFoG8F!nLJHZ5n3-_;Z#1)R&ibd=F`(G^;CcD*4V3}U>U{JuINJNb%z*`QdG z$f=B{_FKc8YvPI^#@zzvgnE#B9%Mn&qp4!4!H#RX68N_;$fae zwsK&CdzdUtg5XZPrLOvi3jUfF5c}*`9zs?gPtm+4jhRPxjVJ*8<0vHsg(eeS)y z$Zn??0m)hayE_N_@8o$%_wo#T&9IlkbzWrL%POX1H^2|46RrwLZBQ9Hg}yRRDPEy( zX~GD~%JqF2GyhZ$GXHDLEUpojJjvJ35I&%TkHHhYY^L=2Rvu-)2Cd*ot6jA2STT)Y zi7xNS%kgLD47@oVZcdI>BaANbGw1o{JHE0Wn3=c~<@(5$Fs1`FlLPfuQkt#-twh;r zG!;lBnFZeb?sJ_O>!+R+BPmR+HFBh8@NH;cO(_pj{O}}+8B?vyQJr9Xr&Bg(e6*Pf&0dlibR92 zvP!>U!>V33vaWYX%ZOGQDfW{lS5#9bwk2xSD74E2Nvok_zBGY7E9Z}(CcLXQk)K`I zJAjp8{;;eD25%5XJk=&SrW;K?h*)w5ztsP^Pn;q#<=pa*;(y56m`)x8RjBr17OocF$ zOpSv`)@7Y$6=akn(bJuKPWhz28kgpOB^!0Pwp24ue_wJlKneMfLjrx%Bq*6?j)t+& zeKNs3Sno>p1OJl02~~TUf}!hbQk{WZW!J;o{FkU+tWh#|-zL08<542dE@Okovq?TH z>5sf4abNwi?bt{2Ufe)8mPO^J$DY13zY}X#N>$#y#eq;x!)dwk1a`fBY`W4gk5c{4 z+WM?;B;mHfI^_w?PxVsBXE7ev&^NUg1ukqZ$mpz7dQi_qX z=+nV@>RQQO@&{fQK&o7@?vLf)=A+fg%zal9)UoPAy4h_(KlMijNg(Eqk#nrCU-hzm zv00WoLg!iLn#kjG6*yC&j6~OU$}ai(bE^D##I;Z0%xYYyz-GiJbc6;UoJWa|$MC-R zo0dHqu1M8@DdX9_QDVppHVl$JnZ5g$&VBkwFue0-zv`C5w`a={$+gU8_44F zC!kQ(RA{z~SSA*7uFXtGsm06j#e;<`<7FB)yYR{W1x$zRvD=z{{I5uK;{=f%9Y0C9@|F@d|U1?LXhsJ`$Y-M2)< zNip{VKRZB50{CHLU%EUi+=Bv{$EUuVe8DZ9%i{inlx)pQ$A2ep5Q=GTjfbZq0#|IPSx!6xdjeoZ%lR?nsOo|SnbsmZ9qvM~cKNE@7? z;5c{l%s}mC{(8BxF6qQ?MeP=#(SW~A2SgVeKXNrX6s$LiLrTl)OdY7BfnWTZm zN*1O7H@DVBwe&MXQ|hz9ZWsm?g#*NJ72i|@`2^%;^xrqL=8?TPo)J2$VQG%f4Y(E@ z03b@#t`ZGu;hJZBYJ{xhoNq=q)^SU)iG%+rVtD-m1vrSJ_K=pJI@k2rT3xIPkyf1* zWf;C}8OR)yKfY>9U?r35yPxD`yMQRbHK^qY3>SZSI+$f-6-K9YCx3%15KzW-G{ z8J8guA`tPDHYw1!Fl2a&eZ57h`gH62O1Mb;S37mI3xemJ5B{=e<1Z>vPsw3U4A>mo zI=cKNjpn!86I5l2axEw*C9bm!L~VihOM@z_sD^R9I5i?T%*LpLxf;7_C)6Djk}dGs zCocYXeSeO?aJrMTkFEGqAMvpDdfq)FdC??m|2CX}tN`>#x0r5K!Drm-?qxfSCN%I`<29f5av4^FSm zi7A*mKG}K%%!q?koL@+qhT^!jWMp%l0&VCx;4J*cf>I#no_SZ*B6gu)DA(6&Hga!> zx5Yk(0=>@Uo=uCr5^jfB6)Bny4>I%lAMVHutZstxecFOXm}aW(PM>dA#tkTkO5qpV zYwXY^t>DKdYcAXR{Z$m#If_i<%Y#2CtZ4rq+xNS%-w21TLaa5pK-g@qE=VUCRL8$^~bO zyJtEJXDCfc_PokVd83QmF9B4h&btJ?jQ?KUnU`4{$LEv37t_tJc6u+-o>dcZegg@G ztWLSrCi(CVU49&mBOGW9{zdWAtTK~NBzfoCCIiT@zs1{ZyM4ub2RmsRAIG9A7jkX_ zcl_NFzG`rP#$ki+-M2ta#f2lo`>xf)Qnc)bVwrJt{+NVx{VKr+TwESrpCIRKtFOzG zWZWfUL?fSbqy)?U05v0XudCn^y}NBswA;)JtNWi2^U7Gdy2~NGPOBjH<0AP*!l`Sq zd4{sKX~%d!+gmkkS;YGO5^D@mB1NWJgMnA99BmUs*-fj+lTj#?xPcswNbT5#_(bt8 z2z%K#!u@0=V<_-hIf{y1a=o*6#W2D~z1;E3bp6H_=UU}A_)V&hntp6b=k1M{uTH~i ze%fgnL=2FYy$Y5**!6asYFqzH{LN&=&}CGx9ByLHh9uss-waDDP(#V4gqdM6;a))% zl!TgnZcFw3w}4Qm$0qs+6YTkhb*TMFdb;H!RcddaWZjmAx4?J3eyOKn+>}122*a$i zg%k%@<9D`9>k+Yd!>fUxLfWRh=AO@2rH+XY#+FQPlgBq}>(R<9!B^#Nag5 zE`Qn&c0;C9wAH@RS@qd~EW0`g>u{*{%kV3YQXflcEQVCf^Y$1rAsxc*3<#v&N&C=4D%z(md$|~ zF@0mR@?q|g#lnQ3sNfWMR=4r%dVdJ81ROVlZX2TEqW4tSpVNJMbJDiF;dKBV`IUO) z`R?IrSk7$lJ#XcxmIJwgHsp6?u%A16Q>EM4Db}o&;^cbY7(zB2esYf~NVHrkd>u+l zbXek@lkaQzJfPHrD~{saC8~J8(Q&PuOf9QcgrepVaw+G^E882#7G15|wP?~VO6>9E z%=n#Ryn}TKF#}L>hEZY>!Cp5lcUK{DuCTXfWpne>Y7J5C%S^z>n#ot)gV3qOy^ZQu z+n=gf!7mZ^^@FU35#Hr}koPRjS6SWNSF+EgGj66!&HwPJO}{_qy0+e1n9&)4&h8x= zTQ!67!k)^ePkdgpW^_ zOCTq8UdA>+DL1UGpZwiQ^9t2Gkl=fvh3a~?!6g}Zx&va_6!t{0IIqy*neexq<%L$c zFlVDnWU)rWc3I1X?G!N{%zS)C|7p?0Y^p;e@a-wCsB(UPRvX#O_Ub`p1c1D|b!ucv zfDwDerNyH@YDF*$Q8r=8gbKzt6CeG4rm|xCUSRo`Y$FLDChjFtsC-9(fyZ12CXPR= z7>$0h)JLzta0m#AbL-MZY$+z*tis2qr)Cb*c+DyHzM;d>x6_TsIZ zMc!!t*fcta9cx!GA0zI13usYi20rwI>pHhw1Yog7n9n+B=S;k^oPHhk(<380(RioGS0J-qwq==r>eve-N-zE~n?ZW>65f)@; literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/fail.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/fail.png new file mode 100644 index 0000000000000000000000000000000000000000..898fa264b64f0a84a2b0e3e7936648474159321b GIT binary patch literal 1850 zcmV-A2gUe_P);b36kXlT|32Gl*~oYx#2^1{OP*VpKb zjNepL{`mO)^Yi0wZu#Kg{O|APfPmU8EZsyz_0G=hqodwSOWZv@?yRiolatscCggQ> z*)lTVSy}SFzVNiP>X?}AsHojWMou(aQ~&@5bV)=(RCt{2oa=V#AP|Km#2~g7FGSPE zd#yd~`#<1;Tr^ck6RRPR`Tn#0e&$ZjWMFMlgwL2XgVHK^b6@A5@K#T9z!gP=^ztgVmcx-#1#FYqqTF3 z(FOQuIwk{fL@srp%ydu&m|mrWNQj;3s2XR1uhKzwl_S$}HO)Yg4k97mO~=(RL!}HN zA(o~iYnBaF>VW9RbYzWkT{BNDClPV`B5PqL_!Qq$N6B!m1GbJF*F_NV`0D4%pAw(oiEkWLAH!9)3H8~ zh*sz%^OoW8^45FhbPx&gYC777p?o&0PY7qNA(snSza)gK%UjPiT16s+o7ND1sFe<) zb{ z2#2g8ikgXMs*1QwC)>xOYz|pNt|t~6m%}g}IQ^WE1?xtGeH;qYhsGGE)WH>N2=^47 zqL2K*pYMoEN~$*$JHjpZ%n!#J!S7HD)Jfdk81z9Johxq3pa(ZPk62h|=_-+j64S!TRN`FZIMivwW%50pZU^!@f76dY(x&UNF55)U$e;@uW)DVnguMPJLaHF z2YYRmI@1Tmb4^<>)xlP4NT_QSv377+t^*0Id}gbznL>vT?N`cmu+ti%H%jWCtEisK z6%)e7<*k`^0gF)O7Z%6WJKlfC@%KTipnbMV-ES%h*7KD9)2YRO5iAfI3G{0|_E|&r zWu^~`Gx7n|VpDAyn7$dksrpnheVqEe5w5xlY}o-zr8}_BHVGTV>^LFa2d}TZSyLhEz97rh|dnhC&ipQ9Bi;4-IrZ9FK=@wXIWDoVZoT zD4C3}>pRG-IC1MXqhviSuvOk@l&nentsytrhigOkEq_F(G<`e({Ll2AmQrg6)?XmF z)wQ$EhP=Pg>MaSJG?WhV$yAFMz$={Xa4)o;nl_-a2tEjUXmiDAs$8`Fh(=!Vx$|Ek zYX4<>;I9F0fMD9@RsjG2000000000000000000000D#Rze!qx6>h(s0?8RwQPJY4X zQT{>w7Dqd|@RG|t6uFg(f^FhB-m^r9aQmKWg9iC$Ugh1>-4_qH^W@_%cJAmdV=8}aB)wfz%+kF@ z^DIZa-03vNGCdOS^eT`aZ?OgHR-_J$NF6@o^+s+$iLh)Zg@#eo;YI2|EItB6N3KH{ z=6=5|_So!O2to2~1YOa=LwtyFew@XId35?E?>9ekv@<#|KV~R%crC5dKropgwqD5JyijGY@sXLMk%KFM^L$a`iOv%*lSD>^X3 zmzb?juf241DH=vUxu(=%F_~Df8>=$s@k0s`04f1k+nYU<(+#>C_Ik@zGO+N+y>Psf{|2k0 z`1q5YYOup*a}eFBJ38d^O`Pt{4p}mv4ECaI;N%U0PxH;-Jl{=U$ z$9i^#J3&H+{OLqE`f(xz*&B}jenc}rC7nv}{^`|I_J-dZePsX5c;x?}Z#a4Y00000 o0000000000000000KgFc0ZIN;LUdiv6aWAK07*qoM6N<$f~0eCr2qf` literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/images.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/images.png new file mode 100644 index 0000000000000000000000000000000000000000..3bce57312222a6ba45feff7d2e542c50b45309c9 GIT binary patch literal 3716 zcmV-~4tw#5P)I<>2x6Jg(7gzS_Xz?#buzw%+W~>hq=6=Kz$%EUC|h$lq7C))c4C zHa6_f000fsNkl>w2py5QYt642?0>o%5l~#QVR;EifoXh@hfLo_v2=+eUed z3@{9XH~VOLQy0LkD!h2J_zYdnK?Cn}K%XLlaB{8TZ4-pO4-)o|L4_ADKMIbDWP!j7 zK98=bz=OaG$<$?WArx`EJ({{CZiKfC@Ai?ES5)60!&^>W4oAWX#oPK*m&27X#hZU< z)AKz4!|{SI-uvo{_s;s_y|cb}@2oH0JL`-0&Uzs{Og(r6ks-Z4FN25C{dXP*+w~>& zhVvb~3LZ-1%5VOMhpNHXz{B~xwl1)}4^)9KfrqnT_Mm}0lP`gnH|S=w;~;#mfJfG< zg{ypsTfYDviInSd*C7h^0(e;QYEsG9A;gE#vOyjX{q^nW|2 z$J0kHgrALf`)s`Q6Y%H~qguyLz(aE#-T>p4>G8-;Ll+OQ>No@*CTN-G#ZQE>W zD(KFG*n@s}IB$%o(hm3Xe;afIS-YOKrx-7GsJ~{{cYXz5i+^s?b?B~Wa83Oc4~Och z`rzTCiq5{(2-5=7+I55nb9DB>Bbuqq!Ond85LmiKNqS3HS=atkdGGFc_^zg#U98Gi zz5@wn>QWS~df=g^z2n+i;SsPaCl@2b9(evL}|C2}&X z?}10Ocotp+RN9p;MQD|i+FKdp;T3#j0Jo7!eekp{F7uwDv@4DxO8ekx9hAmaqMXVO zvY?<)pMLMAp)NLh~WH-x~zNX_ZbaY>Vj#g(&>!_de7W#9(>(lY#GuAGg zGhJNsxyAF<&90K^+^KT`T;lnc7CPr!%3b0qS6v@vx!z(amv~D}pk_@@=R+>>Q2VP% zHAH-eRu1uW@hXpc>G_^khLz{G`W)7tAzf?h!vx_xTcR%6fSloJL!_H}zI=iXyFIm0 z+f8b}=I#s+os98zPfAVX0eSFaTZ8WKv|*YJJ$XEO*yFG^@Nmd-hNoMAP)P5!_Zx2h zz>d!q9!&&eES;O$e~jm$d{%4l&hShIWI`}7dkp$e`}nO2>kQA_a0*W@zTdMYW=Y}z zR6VG(i6DO=JVM6-+jxKa-G!?|PX4L4PRU-J_rT*FA9?6XV%><`JTk!@o-QIwrHp+9 zwatBnEat$@I)=Qxn5FpJ=0A5_RI*4K=M0aSO!lC-z9@>BEE?b7co^=5l%cFj!OLb` z-+{Z@qlVifzGm!)5eYBQiQSCxgsI35t918!-fP2wKo${)c6elY+t7y>qxa_8PEl`1 z>eYl!+IUn}l@{Y-@T;qTa#^2KN5&V%AR#l+BdK*Vgi)V`{%AJc=^I20oBRdf+?xb!{mDwO9wLQ6M zT@ovIk|7>xcUs1a#BU}7dd|0RsR`^o)L&(-hsA3dNo;=;b&@0eY#Oj>FKfO1Eo^sj z7~(y3sK6WP*vZ&B~sGuePZ$g$Q%1gHC;*~s+j-S#r0#}p&C z)$VfLulMImlstc%hm;|nE+futYuq3(A@m#wG;A8V78&Ac2Q8=9&L(eKdzzqdx3RSS zWjZMH)z*Fg;@RX)@vv$>)MMk;NR@6pAyRHR=@z4pG4T_Jn-?UR&(;;Qn{FXf+3M%A zweh6)kd3e9an`Ww)bM=%;lEK#u8pV6Kgxrvb;o#Gn4^x90>{eFiSbQ@4bQ`_y))rU zt~L&#?y~e!W3*g_X}I#bhk6Se>^4>oWWUDHJ2e0}r3T1C)~*RsLBR-Nl;PY2cwm8t zNMzNj3Gl?a^cWrc6nV;E@;E>exmHbq2g|Uo!^GiHqvJu0z!BTtAq6G zgpT}z~39STU_m4AA8KHiO?P3To9#3pD`#0oz8rMqtEwL8=>rWRN83# z*?RN5Hp~66Hkx7y;7)plm;KCZdyfrrx{rt)3~dX?bv7oaFlepC`sD|u90l&OR0 z1z%erc(vGXXS4XaJ0SVj@bLpr%!ya@N~|Rj_PhV;hdy+|6MGYPNZ_(7(um{8)S&^8 z{fDPdTKm!kP1b@@B<;-I-w{WVZ?Ij^urt1N{a-Da&-Hornc)e)c_!mUq>*bOyD9PD z%rn>=l}p7dsuE`pH(|Mg8rva@N|W&*@b28Q_F{)O_gnBZfgSvX6hXMGe7xd`D(4Vg zh;Huo%w;@CZP{ux?C@qGd5(A6Qn8-~G5emmqghan*q*`vM~v!>yc}N4V1BxYAl(xJ zJbI598o-5Ac#w!<-|7Um#0wO)7kJAY#L}1{pPj3C{l~sf%l~qj|DL{`yy@Mr*wdL} z9}$%QiQ49Pb9xWVgLmT!4+37}c0aHs9zSB>0k82tTuLtvUyj9|l=_I8OP(1xhoJaa zWIaRtos1FSaWlgM4weM)ASsnel&cvYduw=OrrYjp@Q^qvihXFi<*%gY({I)Y>|eD6 z2KkllM8boAQ4V-M-$P#=N75UQ)gC_%i-smX;Q0t7o+sn+)#joTVTlVCEEbo*KB7Ow z!#n?^=QHlvuV3L|s4a*)hhnO=6)Sa!dDBb4 zY|33TKW29hctxu|+`*0@-u56#so9#R4IcD0OReP;+3jRJ4>8k-c`jhY_C22vYkGmt zb2ZfB$@t%G{YJ+SVksgmFx;AIgNJ!8-ji>I$8*9aK5b8eiZKxXG8};CWYZ1=E6;42HkH(5?UDBLSlJDWfwT zd-5ce((^F~-XYO3@H{^(=O^GHh>W=!tjk;C$x|Rxyea`72M||>3Oz0V7SbDM<){Vz zBKM>T(UKR!U~`8po-~qgcI!xGTB_+H4@nhKS6f~DSOVe`N2tgj$2RxDLh36R%Ie{1K_XMu?w5o{)Tz!NnN8`UA^5u6gLQ#Xofmo%j2?K4L5d{3l$P1{OtjVJ!!D!jQ8 z4^s1sAMoZ?ZVYbnrR8*%k2zDQsoHEErcNz~+}Y!mTSLw9cp5N~^pzWn>R{oAB&u;z zIV1QzU_O?sd@U`zbByrNJ_v&HM#VTdpx4C!nyiDGt^%+6o_!)Meo!S*$mx|7e~Xs8 z(jM<24@`kq-lG`X(C1x>8Y{ktgJH;=Kl7=p%*@Y8y^vMl9(PKzj4jBoN!&;No_(Tz zjo{Ozh<`|Ti{I$DET4j<6ptV;@y3-{DDOo9LX_oE|Vd(}1q`PF7Qo3O!1%yRv=~}v6TDm(_y5s)d zukXyAxzEfw&zJKToEU9QB_jM6_y7QaNJUv*_dl=yzu;p2*LWXTl>gJcwz|H;)6)|Y zOK}0Ht#p0NGJTSPejI0pN16zT3eHY2!3$04Ux5IYr4k{TrEU zCDq%i>7H~=7%~XhG|Q|82yU0OO?#*JD|yTUY}NqokGJ;&?*o1Uc<)aycYMot+=_n# zEILH2ngJT8OPf8I`txaJBUX{yHt@aL{*$Sd#f0*MZuD8#%wE&rZ1}g!(Up_B(OH1W zRAe>+z`k0H{9Dky8;TfyW;*8e_3%r>&Ej4=FQf|y>3jEa)F5okI<{Q^vX)sln^1%R zyc|;S*;G$BNNQMS4*FL)xD4`MSA=Z^7H){ft?R_BN{9CXV z`^<}7AjOMaqlEVVCx|vL#KNqRG?ZikA)KbwzJZv)%JO-gT?ehm1{Nc{
(^qALeBJ0{hW8byq(rw^h`dOZ`r>0G;7xdYX;vSCvt_k)pLM#rS*uR z`Pn>mx+maU}wLH_=P-);&_yd$p6tHY)ah8^;iIVazSR#l%5aKFh*zm zD3!S=5%Ny+wa>D9`t&$bf76QmDE36Z*-+Y*PQC;TGU#wGO_%=h)%j^RRxlMv)BP@d7*42SMT?Y%C#S7X17rb9OX8CD`P8RTzxPMRN73*5zp--&I^@ zCkz+>jSiCo?IgaHo$bNvroGFpBP73B{-nJ=UQ*8)$Uq#p3OmfH2HZ2X>Xkqdh>8rl za?}@R?MJ1%mzRF;tWNI%!#Z(R(qgX!6*lf8;0vpUiK>74LAZHcTtwmqgzXL|?d z0}8R+`i>lLH^KJJ1?Gk!C%${{7yC_E51xZlIEI^U&S-~orV3&OSV}zAVqh`#=k0lw z(^pdc^$bWpX1In(C7DSuwOzBP{cFB0VdO{(Z_W3Upi{SEFeM3-X**n!qt~nyrhmyo z^X=)OWP??Rm`)mcqT(%kU^fU$_+^f4;g>N2}i^J$ic*)BZ{i}Boc8hg)s|W`Vrx!lP-jQ}TXl*28C5C|i z3}OG4ViLyT^?^&>>^oE4lr@ejJ($%(h!^1mCp*eWp@zp!lt)8KP0ynG;o^P9m|OfH zNZRRw_FY21TFj>(r)1UeYdN9o`tdxyT<-HKNoglpaK_?S)T2t}`k~ZKLmg0ADjtTu;gHY(y7wI%i0MMHp`h#n>KIahfkJ z@mCWf;AY|mZMEdXGh6ot@hgH68&oyJ6Zgw#9YU0kdYc5-c1uJ%p8kQYq#j2FskavD zN1Sj?`dlC(tf@vC-xP=zYp&mdd=S`4^5YOwa9-=4RjQFOtU3vQz9@DPV-|}KJeb>E z4f1YFJyhdXK2eN+6#2JuYhHCtvZV}_HA*qWvuK_m;4Z!)Y_FV-xke-6k*=y0$5P}wZrhMT^GvK~7ryn8T6}Xb% z_syH`?=|iSH8#GZM4xZ;@(OPGL6mg&t=z#z1J(jWe52*gDdQ{jcpJe51yWqo>dYOm0jT>Q%>4ktBl<^(@Qq$lmmvCLmF1Kx1 z5iK>NiBGZm5lTR*@U$)&lo^H#El6|(_pzEzIf2fDNbklQaX)byLVurLq%lPx@06kI zVf?#uhQOad?f^6mCy`580my!XP1))hSUEv{%($jw&w*Djjg?k7&VU3OY;Zjz2YE9+%UIli;cama^0N}x?S)7OMNLlHz035TqO9-wkY^^tCP^ilOOz5 zWTxz`kC1+u?@U9G`c_(3x=Xr910F$5j+3zSUQ^gT{6)cld(F0|`0#+SNconXjDn@V z5ZgzF?>GeAQ6T2As9U?~Xx-koH07vKA+ndyRtdNMC%#QU`_Q;^*81hNVEGUybnZ25 zC+l|$r0b^_dy3FGeE60enw~GABd8K*c|vbJivD>JGig&jZs>o?B)CG{zTp67!m0pn7qU^X-_6xbWMuu)!{mmEdR)J`_ zls@ZbA0r<7&rLL~G;*VzWMoAEuC4vJb6b3AYtj%l$5OX}I8s0B5YZOtJoyaCP?`<1 zumIpIPcaZiv>&~@3kHB7iTDg>skh(q^@_TSBQ7K%UpRCFS3t*rMmo9oc#WY0%6l_b zIgG9u^_JIf!d~69sis^tGGrONi_~s)-&CLeaVgB%H)u(>HCdP?gj&t)}d- zuciGCjY?xttj3AP6$lVrl#r|8!QxeT{$|YeWeW+Gv>YtpI#$Id^DWmsxzH&)6;*Fb z;D6Jq)Y^3r#2== zB!*BJT&MDBZEmcU>2CBCVA^vD9i;RNb6J(VfIWXcF%xGR6AQzNUk_0z6sD59!9&P! z$E7wpG{y`&aSrAUMHT`A9e9r{DLqM5P3j30Omtt~C0atM<9krQ(K|c#&ps-omW-H0 z`BXA*Q3y5~V@YHQ;poJLS}T~C15H)Y_s1IX=dPR(x<6bu+jd3DO%EXQU}5>Zs;dc{ z7G0B$fsC@qt!YRHULIF?T7nmIYj@#aW7!zQ3`v9tCLzqbYZX!Z*$})367(*u#AcJz z_PEPA_C%K2h?c1ITkn%Q2B)mf`-%?T`BRbsi?o)W)leTjyxyurQc&~#Dam@zuz!P& zjca@Owg);gnAOQudG%wkC^^Dsf6I%XozD0%E;*RI7s4xy+XhNnF1FMBNsF9hMyP;-N2Ss>~rpe${dn7Km@laNYG`diF`o~@Oqh#0I`doe2Xs#L7wDi*r1c$v@Uv_>% zzGAM;Sff6{I1X!rZlgu+!n#^RA9tpuGQw9KM3Tc+?Lv#gx;jWHRLHQxNY}8V0!(F; z$lKhg!gN^-qa>zhc6a2);r2E&e(#d z2y56+5|?-gMiQGD#VqFNl<5~@t^JTW>#4W+5Ke0FU_n(|7;`{{WU=wuK6(%wHMJ{! zQS(W3#c6)wxx~Z{_rKF#anfVAEXc;&Oe>T_5Nwd40|H&ZI;HzqtqKvdcl@nJKip#U z^sp}rLCA_T%7EV%SF9H%F)_$wJ7+X_>joC1EH2BCKWB2?g^QlsK-*^gRE02t;q9wne zBDqhPX*pFmU3cvaAiL(@&|*iu+I%o2xEXzxzS7cGoyTPkZfzCsNfO7OCS_WB)m@WufrE(sd)ff7&+%@9zor*7#@?ut?HtLdcklC_ev7}&#mH8 zd(cB==&O{TfFAVJCp>BqB8o8o4GQ0AlHt-ni4(f@E$wUc7-Lz*;F`PQw=_as1x%ow zKpyZ2D6*285$0?7&gqFMgvyQ;?6O4|AAqxD+G$c{uoM-JZcUPF{~kF?K@Z9UI{E9O z1ThVVW%>AZOQV;n-G!hF*iz-}p>r7<`Mg~~GWRn|lDo{f3XIf2d(2H>DV8QMD{<~) zckDIe>s-$yaMK&vKoG6z!c6X$0X{q1XQfO_LAh2s>!T8*`bVbmdBN*2RxDp{|FtNd zlZpu{EbF*Y%X(4rL6I>_tGDn@!opX3UhlEgMV1FD{PX~2S7rs%xUlyTgteDi6Nqet| lIZ_|nXl41oaIJPNokE<2Vtmoo_1|p+P*Kp7uadKj_#eL%0pv3=8&+tg=-?2KQ&dhhJ@h;)gdD;!Byt!zTYK1;<;;|0&W+Fv>v2AW44bu( z9OjUz$<`d-9A9}5n?uID-oN4f@_x9k>vvuE?{|N>?+;h1osGGu$ZsM70s^973sd_e z9XNvb$>T>H8s`~zB*)P9=EedIbh+gtBLp*o7zqe8WuM;n5$f-PLo0s>;)|HUy{ zP_^$-#sr%hIYc~K#f_w2b&{k7Ozx?g9*9r2^_v~nY(8%md^hULY^m34rQN8}Gn&cl z+m{(CMgwQ%t_YQ`CMMs=XQf9?hDzectaleo^CvdxfCRsTy>W@aF8rf|LZl5z{&qFv|y(uCJ z-!v$10jP3IicKs#{xkWrYgE<@>aXwgQ;<=G#fjfg!F&;e49Wi^MFHq1V)+uhP&B|6=Ym`WW9e1tSo z*UxO8pa_k)9_y6>B#YmX!A*|Fttfq_&a6&jkZG1_==&$g!M5aR-=JnaH1z`Rc15Hr z1bSu>t)k8NdS}C|nK)L27#d_Qb-c^1OOej-MnqmoY{OpKXOjE=zRjw$R$v!Bh(XS~wuC2a{rib;l{Nc}J5uNQ zK36Z)*WTSctPEa<=mU>RQ8?V;c%^!m@xTslh$f7@$jj~ONT}%|<&wcjP^PKDL-@3yC2@mBEoAddP0i#dC|6< zs+-mAZBE%DS*am=#-q$6sQ;a~GG=~cR8i)HJms6(7-%5H9v`gVU-7;7E(9)!)oYXy z{kJIy0WsvyW;j6SOAUW~xYZHY9?89+JhUXa6Pw-D;wSqF8jC4%^{uP3?N!FU)D;%l+UzC7uR}`Y&V{5*U6l{|;oJf`YG}D<;L|t@!(}eL; zg~kTnL`3cnAf2FyDzV3P?TJ3uK}gi-{JH_UAMr{YcYDQ2f3vH7oaRx4{VToXC(PhZ z3S}PKc=%~g1+I*D4J`D$W(l(ni&gX-|9CU@A8BTO96+YFH4{;*p-dm2%^6#Dg@Po0 zxvNl%!@HRRn1MaVivZD~e72&Ch!k$>NywV73Jnb8;{6dC` zAY?6Nfp-t)?Zj2hw*FJBz`yBK%fRZ#O9L3Y(%y7(yi1mLERxyRE zBY2OeN-!JM8BLBr1e*=l+cnbzoqJ2kATBaW}e|Z#dIC zS_tfe8|rgz#;(g3hTcrD!rlj2L+ep?P-f&csDcQfle!9vK4p#mU)BSX&#;+5CFd%eQu{^F3Xkvq#lDtqJ!#}dO{xX#Jn)K-zy;?BDvIXQY z1+J{G7#3VwxW;XA!f9Jd7F3DR$u?RmOWH;(lqG72;jbStqq;fxa2t(?9I|~+`jB6` z${YxrgC}_fJRi`sB)Yk^Eo>6!x>u3b&}ELaYZLe_-_s2DFab=H&u{#+XA|IK^5aX* z?Uxn9%JQ^30c1Ep)~dQ9Jl$kdDdIpx$3;tj>A|&`mBS{jo15Z6U$MXx=?7y2to(YQ zvwNlfZvYD*l<_F}{WlOTz$Mq_M&ioFc9npDUui)g@GPuzQ}A74e3Y)d$+?V2y2dqK znN329@t1^=U0P)h4Gottr!3S3%T0jc8`wO%KQb1Fqs|pY3Kdz+rGjXbtPHfFHhV5B zL6k?3DInR|9(-!hD99R)0y~llU7G16RzWWyf4NoTa$;Qbvd=GlG|s7+|DsDCwl#>o z^gNq*+W18`dC4Nv(0;!6XhB2>*TJw;JvC|R2Pt;ki}Lgp!#m%RlDX~7(AABu+G#v& zt?@J&T3%9XHpof!@qL0Wg@nP#gGKRl=?aAU2jYpV8~DK*aN$&?6ENdZhV?JslkgQI z?Y^!2fdII8-Y!YzGyqimOSc91nC@h;Tc&aSB$EG%(7LtDVK4Fb6m;@ft zz+(GYBkYhM(@K(i;*%hy?JZqrJ`C^$GcFJHaH!NYMWRGT zdC4aF>W#9#-M1`u`>3k+*Hj#09}Rq?v#Z5b9GqfueveJy;Y+Bh8T!?Xub~o18m&@u zI(AIL9!d-c6Nm7>A^~u)haw@v+BjgU!NbABy+DEK^jE3pHe5DJq?fN=vx_R*MZv^; z%c>f~d!xU4V$e?Y1O;Fqz_h|ezy$~cj^3h)e1wmD?URc{@eYnWcs(}u_XVC(*Nrss zhzK1ga#7H}J5s>TyaB|Me&qf(ktxA4g4X%NqBdaT(d2AdX-xF)v@C1tNg%V<6E{+;r?)yc@EDC zjSHv{OCz7#y(~z~j-xg8F<$thKsRUYR=6E@QjC+~75Ui6uHh3v%L#U2&OKJu=U}^J zjt~w5&rl894ZlXZC{5 znk9Q)XBX_d`fH)_=8uu$t>t#x-K1Agbs0N%PPMl!NhzT6Pzzytv&}!NU!DMrTqZ{H zqx+YQZJ5#uPXN|FqEm-RAQE!hZbZkZ%t&AFoY08{f>FoCfbW1+(K4<8b?_sNPp$JJ zT%Ep~thm|&?A zXFWZ*7Z{GiW9Dfuj(R`?H++ZOSlB+GoD^Uw@^d-m1(|EUS_arxv-?WF{_nrVR+!1ECRXOjiwbpBv4z0V| zO`OHtgveR?vOj60r@V5!r3sW`gz~n=d{rb^bQqxD{+Tg<0Cpa_ipEjyAgr}x^RdP> z)V2}PO5J3d^NVp$(Af+Qwu}>bAqI#=s#c?TAp#Gp#PI1YfIywA2Cgy!>J#+0U41)0 zVr(QNN#ABa){aO&47jM(ubOybrXvMc9SA>oBATTRQ2)@;IB4sx=q?{gg!*4zu-b*{rH4~7$qfekt@A>+ zGck_@#Wvx3IP3KuRakd;qXy*o%V*ntn%GCAJ+pX_FL&L}C0;@RHxr)N5D2@gKxH%VusdlHSz6f{n zf{l3+@8A?t=8_Ty%ll8b4#^H1?`}$$?S|j^$Wa$`a#kKAUMCG(MjQ2Dj;E8v zd#%lEl~y-KmCiFa?Ab@K>dusJk`uZYSJg71&!v!?aB7qw_HYAS_?AJMHHnY^2^~LL zE3uzmhp2oc7n11S=?Vd6H`Z8C0hNWlr9M@*d}|v*A8L+q-}k1q9|5j%)02o12UvAb z8QI9nA5OaZO@2z@mBE%~!ZO8A5B(|A*;yxp6IR^)CERtz(JwACh0{dxo73W%Xx*n} zr#jA|_914}J~8?CE=1qUOaL@+mT@28l>o7n5o!oDhKZMfT)#U>dw%q@+qsqXrzonL zYfJ~Lh)F~Z_kQ5POff#7%N}l|s(tUKYBEQc6W;pyxP3-lZW$SJM$HM5eY;FYsq8Z` zMRIc<`>W-b#^>la!y`d+OYC~dZaIw{H6M5MaH)u&02>X!T9)c-;u);$arU<#kN>=S z@i>(K@XFgBL1&sdTwhf~SLd)}7kUZ@Mh&jVjtqi=G?-BuKa%WA?cUIT(C+N1b^knk zIp65|o_$-J?s3KSY9P(f=o^D*Zg|;m^UbqWb3qEr3|R;5EYHZf6e`E{8m`+zO#Q|m zViTkHJ-H@=NKP~94;MR*9bDz(Z&s|S0@`8&q~B1vuh~^0Y-+pi+3G?zKA8;emtQNI zI9k1)sXd)b{4P-A4aC8SsjZ>qZ#K5!AuRwoMn~X8#O9?{W0WH+7+=3H;J*5fSp82p zMB$%Ss4Y5aDb$CzXvv^jll1Hs<2{`vI)|=A@_q@y>)FGIaLD5sI_77S!0sX;=5f$s zc9}iavhMYl)#P|F1aipU*(xjCE!_=lqP|&Q>M`>0io1h9JsPR@plbJS9@bo@t4DA$ z0|1bGh_HMb_SlFSozyf~yfniu9@EjzXTOaUMC_H)bdv!ju|EX^Ll z=-m2_4tig6BCf$6=N78R>LS5==NWj&PRG^&NDo|%*ewN2P(~i!DV{B&_P099=lh2scFsmxi z7Y=zPB>Z=)(V2)$F5Fwxdk|qk!L?>$$Ef_`g_P-NomkRHb!d)GUNz;)xTZy_rl`1} zG_-Ei9D~%z$CBT&S-h+^=<)v;IUi|ZN`$#~U~=S_M7LF@zKnJ!H)T8;a4$;{$U=H2 z&ec*ItL#r+C2%t(&kfk$Omx7#1<2$wMf)ITp;{^ee8G{6fgbr08VjDD;NsE}%KMz` zpG6%vQcYB)9VV8ey<6`KQW%ZG`O_v{Yd73x3KS$5=N-mM-r!p`E^vX%uJ_U3mDCv& z(hf!%ll1rqhkV^xP}tYuvf)Y7hx>r#P|hUGs{>C+A~?mN(6`*%lgO?eOpP( zg%G+!8z3FjYeA3xog|Cdj?UU;=?IW|=y`NRv=C166Y_DZ2Xe_dZ^PreaLB0|)d4gN z4l^WX2TS@q0Y*OKt@bM@Y6@z0&)cZ$X+*+a9ACT@dFg{#46DMrSluk5jz`($%IueH z4{W!w*6L;~_YYdoiTe3DJ{6B?>{M{kQZZqDiRpKrt6OnEynK1owW#1(wzEEb#zz^& zR6D7~R>o*F(#wr+@C9fE0?w|z=so1hJ_DNyq4&Z!gZEse0j>ufaTH&;+7WvJE*z|o)u!q<6 zFMge0{G%kz;w4`#h+XV(56GrTBa~2DT#1yn=4l?+zJ3Bp*D&Bm=W;v&6nYn)0LLUE zN0oz@k&x-kbqf%IZSN9a1h+ zXe~>0+M}MRV?CA9@_o~h9F7&6IxJ_|+?ax;O$U5fVXx&4#kEGKzeSn>uzs9hGM z=bR&DGgsodt2AYDwds_cOOx1#13+rGd$_LX*Sc*5SY#vNHkQ#Lfd2x^Ni^Uhi2w~( z??bh2dAIeALa}ToR=v4&XJvE6@STH- zsclZ45nDCye04V~S578IppC^%l5}6)mB7}8TlHQiEXhIno`r6d3DXua6X8cL+n!%) zPXNDhS2(6K$hZ@SG_g*q$G*y(t4MvDqjVHQ%JgtZ^L2RZ6(49m%!d)uRL`PCblz@G z2-&^io0gzzr!ve8B!}@0i%Rho@>Y-HE0j#}7USDEFYFz@Ne_$&Cv&>XpWay!*V4DK zLil_O9@v62x!%x&2Mq5Hm5a9?j7|;LWW+6R9%pQJ3?GTTa>)H-$|?|m5|x^7vpf`| zDv))vz#%#SDK9e}O&+P;cQjc;PCsl^0N$M zDRWmp-foGaN}h3t0<|Y?m;{+|p?k3j?U6@r({^QycdpEOJ$K)U4(^bN+-5zzQMq^` zVirIq6K3px;Cwdz-(%RxT*_5c75RA3>cwFED^m~ybwtBbPp*;ZF8X{=O>P-aF?-D|ds&WcH)C4A^Di zu1SmvP{Uc0iAgs%)CCYc+D%gXZw2;6GIx1FB2NRcNV1pT;r_)!ELcb?d_Ks+z)->S zO=?z=nZ_bmawp~x958lL=*d;jSN4k;d-F1&=2e%%Fi=Jlua`^Zj|NY;^@#(}=j$H& zL_y5>y5S9}QkQmbRLQ7^SCEycGO2@=3)_9q!q#D0PU6n?0~vbuAbmmgMDIMKtL!!9 zeBMy-eVmm*ZM5Tu9?N4$JLGT%>{Je9WsEQl9uUxEYKV!wQ0`wWT$-uR%jI=teka+r zOOrJ?p+gv~)LkJd$RKw^8_&IfHj3@6wItWX88VXI5%60A;0xN zxYu|BgjVccT(=dh{B7y%VjZ-POL1Zy7aNJAKCLCoIE6yt%);gA{_|hrBUtwOcYR9G zf>>mqwty96Nbc9?qG9e64NWf8KS|%WvdA3h9D#C19Y$<&Bs=IgL)T-?b`CacyybGG z8p~vkE_aEVT2&U|bAdCG%0OfP)dSnUp~bmLH_<^BEZbOe7=U)Q6JrT|8i_u!0Gf}_ z8Kn|2jnQnL6rI|A`jXPe2~fX;BDaWqFXq}^%Y3P22lz;+o12kNY}@6OZ?8zEmAX4( zSAr|SI8>!>^`woCGc>GXQ^RkX*QddzD~%-rZ_Qy&HEY9Ut)WGb!8t#!lmzZ9ZL8MA zJ-&D^E#gC&9Mub1Bhk^RwZx)2pln}aa*e2lj0246TN9WBc)AoI$)uk|vuENDKg=0~i6laHH^f ztag?b@lnlcTx?>z_7Py|1H{F}UM!bf==5(|^KY>gozlpI8=ePI&F_&%M}qW~`(WuX zP}U(){@dh;Fq7;D)~%?Gv$I!8jms`r1As6Ka@!!P=o9;dRRWv0J~@9Od}fH+)(E(5{umohN8; zG;~Vku1h(>Dznb)E6?Wm_*Q(Ro0KOa1#eySp5N=u(1Riqilg9#tq(`vhMoJ!<*@Ro z8wcba*`lY+L?>qy#m)9vZ_ItT5jmDdlC2E*U+7sSa@eRbc?_eoZZ^5yBylE|zVaX` zqszW@nR;LTeuCFIs*kS#Yn)w2y++eAmg0pf09J{(7QvEjgiqsgMmPqcH%H`-?w@jk z!wQZQde5uaY9G#Sa2mpaOz%Tw7Nf5vd`MTzsnNp`p_e<9E@HhSdNwWyEz*MFb4PHa zHSY#!fxJIEvRmygm+(U?jH#p)tE0F=zmygdoayoK7Zfd0eswhJF9+rf<-Ad|J)*E( z_}GjVe_&^IRr@C=602M=yYsW}xiPW5;o}rpveP1|@+7B&#$=qjWx>MPxxgRNt+qhJ zvZbHRm5ddkt~u$BGW>Sj4|$#DaL;dQ5bAH4(e{9tSq}QVB6Pl>T;_t(GTWNsk_9h6 zW)L)5bfGmJcdHBZ>%yQ`>(#AY2~blX3Di|$BNczC($->4hjm=aCn<4SNFm4-&eck10rHfZq& zT+Mw<_Ec}6&0yq5j~5ZGjfw2`o1HMc_&vj45@?>hX=K<;31+anoj<$wGf%WScI+?; zkE)&LKaA@UQuaM4^9l$y?y?M}x5CT?hiqV{Z7ei>igB1_^13UR-qvPn_)2otm-6_c zfx^gYE-dWJ4p|iD2OnZxJDvBSa&#b*FQaonJ6W%h@ovKrj;6 z9B?q?->2t!Gh*?ez)*dcwdWovt{o_BgH_^ybhM-Aoa42>Vc)9WQt`(ZVtS?F|21tw z>LRCUEvT`|z?Lswej!KHk$EwLfK}&ybzJP6l6MG9P&EIdTUMhcZ$edE8OPDasOqPY zmiX){l%0W!L$wE@`(0h9DOTdo>54!UsXJAoB3K4Nwi6=$8QGE7C#wFM&qow~-p{{X za7fEELiI{2czuRxtZ2>Fz>(+5nv_Zl?q}7XIsNHzE&c`A{FxBSp8W{Qs#m@sGnXPu z3{67J?f3li zA6%B7$UK&=a42)9c(#vipm0sMEzf(gBLk1qxJ*j@`eHq^L`lIk7APpWgUrBDj+ zk(79oH#d)z-T9}RQY5FQJ^w+L$h7RZ6*Sa*?&h=I6e7X3;IY4w*I)Ad@6fJRFL@DVSFJ0D+ey0Ofa8U=tQQU7i4oP{2`=wRpBgRwpoAKFXv z<%>2ADr_1n?gPqe*f<$LqRPe&>Yv7}zfo9kK*#zPsZAPfr)=ZP?hqrxcf#_rk`V*Z~uQc;lNIPP^@?d;e7##xRTl3ac+5Rw_rz**D zwQbhM-PAdJ0^lXgEr9rbuMKeMXBt3POAEJFCp}UWSBp8gcQH_m$gVD#)IaOG*GMMe zbvT=;5sL58I8NE0Mf3O1fi)&BL{8xBG}Gv2wMf)Wd1fWT1o^4Vz{JETfQG#H()+Y_ zGWIdka*$6!;sgm4C^=uxF{YLB9S(AMRo-7JBk1PQIWpD{J3p>APdF{=p)J{r9#$aP zaJ&1NLA>6q+~IUwYcd0El6jhULY$fEj8wuKOU6ib_V%=>ip|RXKaOhtvXAlNTG4IP zIKU3#IZqu1_w^2>EpY3R$HY7Ldr1uwP?oOoL7h%{!h_zBn>_of>y~ zVG*PY7q5v)p4JMP9j!|x=oHItF5J(q?LOX^2!c219u6np3M)UC3(Buj7O?-?1rwWUMvK)z!_ z@_q+(t@+saf`h5K(~?wY?#2=2?H%Ko_XGlsd|h>+lcy$iG)1-L0ir|2U;d2HT^-cQ z;_n<2T-_0;ap-o2IzZMAU2S*GQ6_5}AWdAg)0@172JmVC8dPl>zzbC$JCT2r^O>Qd z&m*;nR#KQP<ieBufEnCFHvvczp_Lt|na*MfEC@tQsN;~-O=t1>>$uDefUK0zBFb1E$?ENtx z+_K_^E-q_o?@`jz9Y0*PXA><*u&?LYSU1<9OK{@QzuOBH+u%Z_z)>ndn~tgYG0X=< zeUQb5cp{@zMvNQ{-}0m0j>Mo>LOl}l4(57_+xUOp8n;2f%`i(RA6?p?nG6&7xQd}F zBLRND7JV)v`jac?y~yv++uKz*WNp%Ryg!TdmW8+0LgxVW>3J7N0eF|$m#{XyyjH%DowB-WLU_D zX$>M93)ZF`)Khg2?q~Wm5#e7L_4oyh5;h~yC}UHDcXdy^q;e$H6S(6{j%Ae(j*v@; zY47~DK)`r*6n}QUV&Nix6*E@*{C&9r!{+oVa<}j!T7&=+eQB#`e9^5DPp>kCAaI6?d)Gdf!J|Q z1M$L|+wG4MGJ-*uw4a7EgeYKrz@UUZ2{v@V{|B>wxP_C01_#3u7GwTl37kI~O#E|a zVIaUd?;|P}N`WInk)=Q*<9r@3JaTYSh%nolLS(M$5w$Zj2b$WqOZp?#dZM}3MP1}* z8kJUcAYg)?^h#qZrhQ@Ds*{41RmVIIzI!Mp#LaDfVy>ghwSHZupnT`_xF^m=cZ`{U zZI~kSA9%%r-Xh{)z`|t?%(Tx1l~U>-bzx{dtB8nz_8bQPs`aeqUt9T%oo_29$&g}l z_-zjo7-?f8Om1ITleiIhF~6$0QnYD1cT`j4519>~-1@HeNgWg@f4l+QeFp+dtGH(5LGr!2;S&tYab1 zfj*IxLBm!%N&?N6_-9i1Hc@ip0})r>3Q~tgRDgz*Yiv(c!?1^wbuPn*ltt(-@SG17Na2U4!s_|=^D!6I*wup(CIy<-4NRK>koadbunUK;} z^A$N#mkGvaLP0Ek*6ceLaih$hcUyIXKIG9y=BK?^y0&u>Mm!*rooZmV5)*RPKWv40 z9*hFd1rG7;@8|di8zKL3p1%x!c2^jd5;*Y1<-8i78N&=g-41@B+*5TndpAi7)s&Sm zf)897ub81y_Tl%2?O+r`j{=wZ7B|i_#|$7@pd8!$A@MM7&TOkN_q=%e{OkbbY=BTC zdp+FH7rL;9ijPfMTCnMwVm4(hs-_+MlETWCB-G74(5fE0{^MZ=K|Mzsn>$m0)b-z` zIL|9S5LCv)boE`sC-U+!A|LTt+@l|;znNz6zDA)RXA)NfxhSi$n{1m%AKUD~Ey+e` z&WV_*O%m4OTXCw0jf!m7TX0Oym~>K5 zwSUe>6&k;pN+o*wQ~$R(NeZ1K1dH(tijdVGra#1DNB(xcFo3fpL58I}@wq$Zmbdl9 zMab^dmYvv1?rpn3GXErn3`8bFagEXGS`DsD0AK+?1n@EY?;47Ca4^_iFMVO|B=uzr z4dG+=g{j}vLThlST^k=mr?pEo(U)~78iIJ&1>B3__{PJV8djkvfOLHQ)LTpz+{q;_ z#T2S=uw8(%-6Cz@IT9=l6Pe;5%4%aEmHT2B&4YjSeg&2Uuy+@0_dEfFx{H*x7s)1e zTVy@*r5@KNR;*TPW#Q{<%*IbvE+?Z4CZ;{y?D?Q49;jrHe4W(0T(GNRWAy7=E2+c# z9D%LRN71zd@Kbf6)2EDj$R5PX5{FZmWVQ}oCt6E11Bj!rSFhx8X7 zCb%Rc8X^j(1z*{NX}mSSS^~P>NKFE1;Kf`^jhf>(7LfG&8+!F{->U>yPHe43GI_o8 zun;_#>UU7%A5;7WZ>&L47%nc(l1mKvgq%IFZ@m^hzDFE8PF4}0B6lgGGVk4zxUJ6h zoFDslL#fDcwSXUG4PAag;Muw2ayL^btlBgwM)nwgIHr+KJral-B2jVotdbu`wC)EA z-3d$eVx~RY`M=BF{{I8iRFISzz5G_TulV?NqGE1HCRhKV@=A2HXJ4fv;YL)ODcH0f zu3~DB0MqG)FFD?cKns{2fM$b88K zS2+s1$%fX#4tgUPl}T5`g`(&6vOKNT=Is+eTMXVH=8;_6+p|-e6vKDf?B{Ldt6IJv zzY|5HWrE#8pwk(JzdV$H%%ml9#MpG$!OOAGl>6UGKtU!(J025WX!ki=R?a96!M~UP K{Tqj;x&H@=DjVSd literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/reachable.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/reachable.png new file mode 100644 index 0000000000000000000000000000000000000000..bb771b32cb4a9a48945455309247c615f94328d4 GIT binary patch literal 1219 zcmV;!1U&nRP)40{{R3yvX@Z0001rP)t-s|NsB( z93<=j0PFw=?Fbd~frR+Aw*Bnw?H3^KGdb-P9qa%P?F|_15F7J+fACjZ{`2$qtgiq1 z`u*qU^ofl7*4Or;r0+XH@K03pczg15cK4^L`pV4jL`nYf@%-ZB?kX|yVP*7&i21<5 z^_!jTA}aD~Ztzl9`NqikyuJI_*!7Z?@nB@`Fg8h9``mSv$}wNcd?H<5<*uwuj{8z-JbIVAv?6Kq zW!l*CXYS$(q}`WkW3QO>xODikZS0gu&pw^LnDiXbDl7vi%HK0PhU3a`Oc(A;EPGm3V|=1^gQLRH#Z_*HtG45yW+gaeAza3 z1D*6peJM58$Vrdf7k1JU;>#vIsDX8mFW{sn(3fdr&28@5a}exHDafQJ!k1}dc%z9i zz7Uh1IA1of#!7l(eW4{i(Z0Zvo&>(2MiZ0xGM`8aB(v!}Y zO?v7NtW)~3fpzUkPg-B5js2)Q>A6blD=O)^J}sY{i^RU{XkuW}vuwu2lU|oWKL;f} zv*}9|GX%nt9$a5xNe{9wrJ6=MnuzU7zJvIqyj-=xYa$K%c(;6q7;h`_3p9KS9@VN$6{;XZ3H|rt{Uz5l)Y$@-^4j z5C>1v_`S2NVG4oOHGl!s^1TFiSvc`G)jyw#7l*=;7_+oeWAa!AoGQH-_b?li!a59d;z64?Rfhd zj}YSKUOat)r8ez&`2xP*?&9N1G$dF#{l56p=q`P}=HTy}xODsCOUW*szCwlsE2qO3 zaB9;|tFO=@!OCgzRrio!1jl^|j!=Pd%vbe8f)O10f{vSeaeaZu&Am9jkDp3FaqPN{zpm@GSPrTf)Okp7&j9_ h2qA}0Z5Ah8iZs-gj4~-(n2EALMN{QiUNVcB0_&?{mV|D z5jiC)EF>miuS)@hg+zo-of4IlIDPuh1R-IOQ_`o;oKv}a%^CApRNvtC5BM4xSye;- zdqu@B`Um8!zk$0&VDHy`{ z1@yM7n20sA#qUWb`L*U)RRH~5nsx_0ofdj};^@DN*qU0X|GO#az=`LtwAr*x`I7RvW$F8eMzn#EdLXWhq%>snC= zkT|LSv1L4W&n$rH0T~I(9AX_FSy46{A$J~^uNzu$OmcBeJzGR8rOi|YUb!8ozozV? z!e}4U6yrH@gIRY>+Fu1TK}7@Fn;q%6*xc}Dq-@4?tKt1gRiam< zJJQi;sK6u6GQaCevNEzea{J|4?@-n`>v2!^Y66jqU#2w-(>oF0<;r&mHv}=VgI+m5 zT{@(;?Z(9fTaNe!r4pf$c%oK?O;ve;t1q&|K(_jp@TZ$0Q9puWR2YS$ox9@{w(v1I zD|fG^BW%5L5Qe1u%4@cgvfPy4@H=W@G1uBN$R8|OZ-{mJ`yH=ocAZthwer~R((G*P zB+MtE+^sv%qhITCo94lup4$=0V>!vd8R2X9rn#`{cx%05?F8UmvC_M)r#W^=q8;~E zZbQyr3J4IZ^7}9tydOvl+L>nWTBTaYAFppW7qqr-!n)QS9ZdF9*kvp^4Kd36L@c`g z+dO#bj(bXETZmto#<5prB6y;0y~<|t&Kf;z=C=%+VVHyEGnp<6ncz9!stmanisv*K z77lSsoOR^1P$y#@a!BwbiG5SN?wv)i3`=k+nQ4YeOZ)CM;n#!!-AIMzoi;Spb)q4; zwzVJ-?_;oFXpHI{hgWKHZ0erQrD)k@y3EY5meit1HqTj0+Bw2L(c$O8j19yAg(qH9gQ1M|d)JR!c;U2NyCWj?+wUuTxtCAJy6iMDv`yLtL}XwR0#xKet805v8Rtcx-2J^@9#~Ab8j9iL)f&4ctRES#{=KzMZa!7$SQz{ zM@Q@s+;iItV`ueL3d;Ei?DO{_-cObRk<}5@U8>1w_ee~*Vn1^gj2=JqYc1Id9Ihc4 zx7bv<%;7Y)YV_(d;KeH;80+*}Oo&9~VeNa1CI~d}9oX1!)xW-A(W==q-J@9X=&B|> zisF2vrrEpTl67!vl2SK_$Yz12Hkt94A!hhVjbPrm4isN;yF$C>zg;Vn93R(SOt%M! zg$up2gm9Uxj;f%~PLyRjd}YcQx<_Ida{FwG7Kt`T^X7R7(Y|kr4?^5d0I`LA>WqFm z>G{WoHT4Cq@|qO-x3_J!J6+tA0wRo5ps29w+_`?E5_8Rqzp$o82m3}b8+=F!rjFO~H|&2qkyI+@^qT-p+%8y%=q>g(t2 zd3bkTYHz@vADG%QHfc_hjMmPYtpe{QzFQc$-g6^I*QCWhF}5?0Z+cj$Fm&)7jZE?) zts{@>?0$JPaLCZ(uns~?c)Nhvr=L9LS;v1qSZR#+E*tVNYg=29GrOXss^4HRXu!N1 zLi0Z}Xn=ZLd1I^;n;hn1PKElf#2yKgOHn>yMiP(8?5VUE z3>k%=Db72bh(LEdxB?%mgeHJ?yn4Q&Vfk}emUhg&4J7IUrz{?77!IB@wT)lFr4wFd zrSCFQcl9p>R@>y1WfJOmG^cMFe97FKk?PkR;>cc@kL1gH_K{KGd>TA0`ayFx6~Q9E ziRrwW;-O)t*?l&@Bz1~hEE9@#XgiAn#%I7RcndIZ_JSzuJdQt*o>(MlaO&OGl^gFW zPo-zSyQlA}Z~W!;zvugSfDl;`aJ&ks{|Vv*I1Bw`z<{c-_r3Jua&jx4?qrd%iBFi; z=&acsG3KOu^6gq4YMjYUu+!CD$;dY&igUh z4Vec|XJBbVeR3#UJz6=^VUYS5e<5)K_w^L>b=$-1HWZ(1I`2TjeO-3hmhQ>TUalzH zXy!*`t`$o>(JMjaY!t0KKCP)R*S?FLb4u~jPvA#4nzlAP9NOcBbxj2f>#X#-T*Oob zrvw+#^@q(BlvudfW!HmrgNBi3WNSW~!WVxFr^z#O*i`gdW*&Xi`X(k@b1)s_mE7P% za9Q%q0>7Jmqm%e>i5;E@#U*ctReqT7>%fkV>-;nAttL$D)>V=! zF%k+_*Mu*ehw3TT%CmMZ)S75m&rpCc$952d*&bGZo6oRsV-IaDz7JY{rba{xzDFUe z{t|+n%daPTQdpYt+40dd?!#b*g0$b0_G9ActL6^nhOA2Cc5KZT9p9#3pXWWD>rrxj z+4XXQ_NZlu+Gq=clFf8sE+qs9fM%*!+Fe=@2YYh<%x%!3JmWt z0`aUO9&3D8Wdjc^EW&61BLFKSiy8}yVp-+2EX+6SAlql&*g8G@=w%y#Ip)QS&+$*> zu=poyNXsj#zjYC;MiEki4gP$Ls(oI~wHF1iFM3C5Fx&P{;#<`u1(@iC3?D&ZJn7^! zA|B=gOy8?uK`ViD?@_Ci`a`g0^3$x`8_)uOjV*PLntu77|@jEnAdXJNsMTW96*Z#d{ilVl{ljwD% z#rn=HZvc>d%8f-yX-0+hve(gY?>&xo<_W43ZjJInN!TqjE~O#~P2%^)K~X_TX@x~7(eaznXjW`X#4wyHGDI+K zcMpUfMs1htPr42fp>a`^t7g7B0!}!GG8%#1%<^y##E+hi0XESLU>1<5PkH1W+7L~# zYNnaQSP87^DmIIx#y2KzmAxgjBS2oDC{V7^8AKpnrBUyimuVcarl9-K*()E9A$3&m zwi^V4oqn4C3P3fn;+SlTDv5XW-Y2veD$xVv<^jjFN#q%j(zs3iXIGhB_H3t(&H>&y z&V5HCE%?pk;x9};Qo?IqR&%ucL_o$HLyX+9tDkgyy4C@2=#L(v4(6W~nbhNng^5^@ zx)KKCI+4WS9%zCWNio=&wH3JHMI?E>;#k)#_c#s|(1e4OytlUK2bEOZwkTtXU_=4X z?Df>x{DFH}2_onuV(c#>4mh{gKO~COx%{37VdelL#;~a-my9C6z{h~ExC30+hnlsk z{yMaZCf^=0Iblf?|Jhs{4)Sb&>i+80T({4sj~>$Di6mCm+{e1;H>V*iRx8YCMy-!w zFV3xv2#|_>LW#{fIgSXzaSQ1tA|L~5Z0%fSePr*GJbc;L!N+u(`1ZfxyBu%D%oj@7 zM?mRF62#V%-L*DU6$9pL=AtY|Kx5)u{$Sg!~uyyb*xo!)>Zgm*XQ9O1*7%_Z#Ds3YlPacwtd{H4 zA$&jwvX&%rG!hy14>s%Nuj=>D=7j$J9``2|8z00I?)Q+o5GWA@+F3^&;ooS!j;2}KGX}z$aS}xa9Afx8krG+keq6aV<(F z;X^gEb?wKdw^a2HWd_%qFL+kQV(*3{p zeQ0U0-Z*Dq`t{XYfD@MZd+5rO%7VS?nz` zpCEU)6mRPpJ+vasTGZtnbPu@Wq=GL4!sq^B9$4;!v}M!_(>FGXQ=BSSt_QJgT@2;tmpY>hFIRqBa^Dto|;%p|d&W&Qw*} zL+&l`u-FYV2mD&FPS1MjxayH#kFSu*ws}e?w3O1A7ypa2hV|%V{GI{qk-aMiwGkU) zPxRcqdk(eZt<*^U@3vLLB+--9f5LPoGZkn{#&&qi8F%MP5Ax`ZxI6r^x=^>N84R|b zZIxQPYMy>hz69yt%A4Rl#~BJF7l4>WT<=lApN8#{9)Cr7kSs3C-;E=vq0mA2pZHHW zwlnmo&o8n^Wz4|1cO+duJs)s7_LA-5ZUVcXrwT$To}GBGk~O;1gVD7_5X>#C(uOHug>4IFmx?qmevlJ= z%L**Zo-5O48Q79FmYPMrpwch+Ol80Q-Sf%mw z5p##-bEiy-){m_0mh1HRuY3dqs`LmsTnBOIr3tNd0}s2>y2^fE4BoS^817$g%9>Ts zWjPGapRS+V7H%D&ET^Sk(L~E?uIcP8CvoA^QzLWDshGX+Lew1Ba;Xi|Ft$+P%)2j> zMD!6Kzw;_q(JKbj)St#U;MC5CNEn9kuxtIbLbD}rd9%3Z=YAwvA($|uy^v8Df-T$Yb`~ykd7hyk~m|7CBZ=KD%(N zcTSTb_a8@`I>0J|y+TEhJs-k*9n4j|o3AS9!H1Envd|b|JEs$;$*<%L@aVnghGPM~ zz(wa{2hpH^7{@Yc#kPd^#$m|94+t8iUfNbY)HF6sw*1+AG7e?ldE(lxz$eBZBFlBVTso{u~^&oai#;mdjF+^E2TKM!Ab- z6P9eqaoO;zoGZ!mW}8l^*_hB3vL}Tr#x@AIT8E+i!VkU|#qagMM|rK+^?1>?394+h z;F&cxav-RwzdO|}2+ zT;OUgWWLBmJ=JmCYl(%>bz)IsQ;rVa-4XAPqrQuplly`%Ww80ptsTwVqL~B>peu zMYpl$G+w>kr97$mzM7s&(@b4atDV~yr)TVUD%su)(du=CC{^^@`cz5?x2oDY%a1>y z0F0K33yeI#E5&=mAk#J8`1mKCXCd6ZOGMS;()qMzwA6};Q);sgZ&$X{UnkQ9{(ViP zrA>o%VWF~@uaQDAvQpl}lbw%IE|W;Q-?8r_sRs%xaZyWB8MGp67CoT`4^s zA*wf_ak1)5!3~S_wd(5;vfKN1QY-z|FCYF6|59i7aotCL@+$Supi+2mt?kp zP**)l*LBnwwD&)RKmWCKr&5HN?M-9M{YME*t5{zp}yjQ0TEQu zf_NZc?>pNU^k0$?e%2vIl?xwCsj+V%sx51lSvk+&0Ok(nfe#o=!#M)$j;n-F?3s02 zgcEq9{8GpXHi}k2cYo%v%Se_&Fs^tr4 z>}RTV8|fk8vzmUZQYc0@QE9dDVj0*a^Dnwu<9yYgAWrk#$?Ye#DT3RwGd-g}Ghf+NrJUQ&B0dCgPC4g=WqwdvQd`2DqRdBMh44IHAAS#`05tcudGl_$_yoqgy7i;JPl~XAf;I-Bj3Z}pid4Q&7R^5E z;B{OQR1$A*sau0xmS$F87osF} zaupdyU&*nuSTqecrRH-e*L6%5>D+oTES^*U7IkE+4swPU6Boi0|Jg`c?Su;)Zglc= zC!53}$)_$#C3}4;ojq}q8&Wr)c>l?NW5om#3QdczVb1F@KC1}qC=~VLbx%&1MHOA__Q}M=Z@!|?wtVkZkx&neTT<3XznDIb|I89h&QPueL+nv!Lo>J zNo_5A<_(UvOx(m7y@)^4DXT+6mMU9_VW|3o$(s^YV;K+J)^y^+!pu_Bd`=#Dcu3z- zV;;w{KmIkgb5Pd}U|D4x$M$jGK(SA3p9rPtsXWIS9$mce4+44oP`_!CICkx76cdie z&Y;cSt~auH5+z`iRPeTVcAWFvQjF-THO`ZjHVdMxGPn9)i*E>;WqVra5+wX%f@OfC zk@1iQZfrE!IFg9~$F~Gbc`a$X;tg#ca(Vw=*MN*0n)`1kcn#cJjisPxWC#Wz*V?zY z&}3?oK!%P(A~sQf$^)iLXxcTprNkM{d7aajN`KRKcoVH>a&Mk*Znm`VF9_aOn z_(A!)re~+k#620De>z4)o%g>FPKoy@+Y|jnmMBDWef&*2RuDfCXy#9}AJ}$6vR>Yk zV8sT+swy5&RrDc1japenQ03j%1^#F7xcp?%cHGvK3rW=)e-SqwAbpGtHuFsuA&_Gy zxGS00xyN<=^FI(Qy7*a)4fAmjxG97#*e5$<6i;>NLZI676G+lr+{fNlL?9bj8*be?w6IkK|n zb@J*3a=V{ZWRXUhHGhsNW;&+WBt&*k-7%VeCzQ@OME$-Iy~jI=*~mjQ)RX!Jt5?ne zSmxfyZ?S!e2zjMDMVWEU?47MVAD$y~FJ%ew>WdilT^GFqpB!Z>8qU56pDdh+D{`*a zz4d8Ud27}D{`oNtTEAXTy1sY_^Ml)*+)x9_RKYSXIfp0jf~GJ1b;cMG!dN)-GIQrc z>HdCu18p<0*cUn&je|T}es;;?#H{=N-ho_`u6ON1@ZGJ|TC$O1fpSkA_#p@%nsTRm zA`D9@_kK^n$4&6FVnqLC-y6sihhWBH8@myo6t6TmVALL)IM@>@sN$f}c zF(_|~RlwmVk;0e5DQgh8(haDa{oe1!9@Dn+m7$SFZHK~B=ZYtwfyeQI4&l)6qQnE- ziSZ8FFI?DuLYc?0MWS(T*zxA?K;|qT6yc(2`P0Y+A;J)9+!y7<7ft$2K?zHD&1!eV z$?Ww;5-~FSM`$RRoAJtV7Q0fq!`n`%LC*3cdsN@wuo4s z2I61qB|a^5^E&)QM`K%f{q22E0XR52qP_;JrC___PCIysPwtfOR8u2sR79=%ml#@$ zyLxCqln~Lasj}T;6)E^G>YKYl*byI5E;o)kQ<0m@rA*e=xS>_}2huRIbX(1;s;#=f z$S=wbegn#s64$)luALuX?|+oR3NBnJhQt{|xutiuF+?mpPxB|o-{yKvcUyluQ%$B= zbq-&)r&eK48S)kOmfxL#=tf3mD^5;}FGTICHNpsxQwdyd`<;RfO?sNFxw;kAqN*H> z0il~gD$5Jg`+mOuaXR!*oId#jcG_u~HM@5!k_OxOBe{G}J5zC>op8B@ zBY5*dPc<5o|ia7Wx(I`|Gvo9xVf2@(vQaI{;Tb^p$4E-GaAlI#IHk!GBQsA0M3C|9WO#$9y3!*+Ml)inK++5CIbiF1>>giiBpAx^|k<6(pb#LNTxq zLx~hokrK)RiIh;J1qi*j2*>W;y58Qsd+%oEP5Ecu_kI6A@6A8EJ-c53{6+?F0{{>R z008$YV3!HF2jJm8z<=PVu%MuT@KJtIetuD5eldQ2F%e-A5m6CQQ88f=F=_b|ViMqE z!opzKNialFNl8iU_&GJz(--8SN{T>UUS1Fg#JATJ#RbI`|L?N<4j^z4Fbo*x0-gly z6994v0CztEB=-dF;{yJs_0Ph6fNMW!AMoJb?vMO{eLx^+KZu8WKM3^u0pPy9U2cJ+ zKPc-VPdfTV#tRCa`Vr;yvZUjHFbw;1-8ub)VY6577Zxx1Czg)vVF-PX{RhWyR)Oyr z|7Gn19OBwjBfup9&;eBG{$c&!{lzxVwAMGN=MQ9Iy)TUYQ2GzEiONvR7Se4-;j~L7 zG{Q(SVZ=E(S71o3nEvP?I-G(2lFt0~tI-dTAlmil*)g0!_BMqPI+Sj?<7ONeddpC$P zOS3LmhF3=Zgk0uzP*1F-sm15zkoM=1iPz{M*(T^gq={*Qp&RYtIFy`{8R#9Rnfj4W z`(<8oN981HRW-0_;%n@)UXKp}Cu@!NiRO9AmXhCFj~<^gsJ1S+Z@YjXd2IrZ(p9Bs z7Sf|8;kowae%=-yy>@2Nwjsxzxfl{lSv0*VwF%{ZJCL2FFpOt$TXVd*D z<|T3^7=mSoUW)lQZ@4utyShgw_9uGrg>K?-G1w=I;J5kyCt-L}F@|-!%xc^#{Y82C z+k`JM5)riLoz$Y|)@wDfI+*C0ExeB+xqZCA{)4G+)uy0Wy`D=7+(*}`wAaza%26`4 zeyv8<;de4=h0a*lqy$W&R>a9}O7l!_8y@>mZ1D+0(u;O5dgK_f(cR)7+0%xJENa9E z>&n9H)VP+=;1GJ*=21;HT|vWJWyvEqQ#PVRFF%lprlzGzb=ss2dPn@_$*EgZCcz+K zv@_MIzba_`eYfmGhe_;tttSC6~3KfNTk+A4W1QEbZ zC$z-!txlnvA*_+kR5Q%Q8d=3Q`fGEdHWC-Kuo2%c;1LK$UwDCk9d zXJ><(vo~_y#eahWjExWqXxB@Ry!Q()v0vFJ&|^%d;g;G7b&1S4^M z7g-eeLNc7vn@$^kDn=3X;^9Dc0sXrGqZ5@Wd_2TgEtwQ`ogTi8ZwN;c;&QrG%q`e_ zO{kk;ug9vS+arC2=d?<2)vm}eiD*v8&_d%umh1gUQjNd9ey9Q#vr=6WuG)WHBkq$( zb=XW%dMHnTYtOni3-mDbC(h2jsYO3r5Gk*~-q3l_<}piGnbbH#4*XIrnQ45+!e;w; z`&req_1o)Lms0v*nCsN9IhI1K0-3H>l{Ae1W#zoNVU96sYO)EFJu^|JUF)8PZsk z1#`0&RZVZ1G`l;PMV`H5-$GhoJe)sv=@gq-V4tFioyRFHF}_6u0Kk?&yVof^`rWqj zI=E0XOcgr-h}#Sc8|WWe*96sA**O)DEFo0yd|#XI=a9ffdxr)0cPkbywd*sIjW!3tPR6*;>X7VGiQx&h+4$8O`%i)!<2ouJnm!tzEzgaK+K-Wg|Na1kvm? zHLLvAJorE(K`Pp5EcCnZ0=Viuk;S6oVEH#)(fwTtRo5R9vF+w&0Ww>#HGA@z;-lTl zR$dE~%kTYA_fkyG`0FD39=v|6Enl~)^qGw`AxO>oCTZe|O6Br+LhEA-e?r~&nl>9g zy@jd$Jl|*HL)&V_jgPTOrgUG(Ev>KhXY$-YYrIwskDx)&r*F&=i7AABLYkooUZY(9 z^S!qo#l2Zj2ees3(3D^9TgX?-cFG9GyV!*!h)A+}xKrr{D!DaCS7KyX#XotQ312hB z@zyGj6-*qv7;t9MC8fBtBKRrJ)U0(jq&+R79aUJ+pVOZ+=wr-cPP=CqKn?x*hN<1m zR;Z9a6HUtS)b8Q}H3ZOWJmvMgh9C=3teyMifdeaZR6imp2{rV|G&lZ!a-}wnSP!V-`@fNC|>)ED}JTz=8CF4Nw~vz@X4=< z07&7`A*;F9{rQ!3;V|)L^}z8mt;rGgndQ`5j@#g2j?r1)K7`yz1VQ!ixXBKy|wsvtGQ>TWsGe}=0 zPf?icb)eG6jrXy?zBs`^7|cQ@#B@TJ*@NgZn#(LXPyybI#Z~I8mjp^sA7sHi&ns<* z%(3GOjmOohy6siA(t14D5)oBJ#|AT2;pPv%c0LiKMY&%hoUQ(<7*&ezHnCKA%Bn1S zWAoYi67*)wFjyWgn^Td?{Z|70KI{UA?mP%veVCF{eeo0}{IT!{%FP9Zpd}ssC{O1xU zIY(t!8bZ$QF^3!zj3cmxe%&6$bJOl1FY3!X3mSu{Mir`P!w^#69^O$G f8K}cvtME_=$W9o7)Ye~UyE^qZ%KyI9+3o!&N0!Y* literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/success.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/success.png new file mode 100644 index 0000000000000000000000000000000000000000..76689fefc7a126dcf5a0844c111421eabb8c704a GIT binary patch literal 4416 zcmb_ecUY6j)(>DqSEYrju#^A+k_bps5h-B`yUK!uAR2)vQda8H zg0zGL39AdZA%Y?`L_~TCAkq`s7u>u1?ejhN`{O>(o%fx2&&-)QGxIyYGxP2a?0yD_ z*jn0H0t5sA00I63*kuC}0Kx|jiin7bh>42qC7_5TzX0yNl0Yd*NuU@ID1B1>dl^}f z91y6etq1~Zo`S-p6?6@CwG7lDP>8_c!-tO@Jtiw6A`1a2C_x~QQ!t1o1OhYUi~RJh z@~8N}CG4BxTOGFh8$k3BU<5ECB%lNk6crE>71(V7oZv4|P)J~Jt$!t<1A_Yw?iV=3 z*BXfc1O)*?2L%O%h4u-3>mwj2v~R!Y0Wn2wQzvgFXK@`}GoSEB&#Su@BVN6hQ2r_3 z<-^y5{Gl>@lYF~>8QuHx2MP%CRf?i~tKTO5Tfb*jly6g9$;r%gcM$L$e=8{$kz+=|XqpRJEy40XF2DDn7Qsj4mDOw9jp%sj4LT|c~< zUlz<`do{%Ir!#8CX;$;vWI5+j2azr|)UFWQy^XWHOtfA5(qgc<+CPulF0YGi{;l(m zKO*AKZ0kno_=E3oR=!pPef<5x#Sp<@*m}cqSR#JT2|L?RbD&96V2^cb3s$z4H%BYUIgRU$;WQBT`PmgbFf^i$FwX?K#{ zul5uzVu+h5Z%TJ`FJ+NZdVF}64>o0Ho?-Q!F^QjuU=Q{ z3-3HWwF|hEU({4kS%pHYHrFosVv<$aUC^*<*N$bi8$)S_`yHb*qg>wSWM90Y*9gMs zrkC}1op-+H1!CnK{DI6Kow4uGB!VLl&|N_9=g9`Uk8&eT!q>AEz_4M4{Mlo(L*!DE z#NpzQ$%Lk=+H-D!Qgv2t4|E1i?7gcGTMrmn?E-Q!&21l23Nx6G$1A;d0p+wanerXu zsn+&37}?bh8;sbG#{*w{L+^Ezibb_1wWHvffdYv;j{{^bR(RKA-zM-f;fZ0Ql z6M~YWFwbKi^lG>y$VSz_ip6%Ta~;rH7mFf09hz>@$;`pL&~5x2K5_U^On~1wc_)$= z$JF8a$kEo-kYVmsWvobC+{+c?My-AaVK_t?_zDiSQ9cVIWsBiFEj91rPy`E%$ZL%w z)`<;m^@Ucda6f`QB_B2HgOs%)uh>1CLoA;Qsb3(8px2h(>DI&LuTkN$EVA+7x^G!! zJezqMX!)U{!__6DF&1n))Ku%_8pDe6PJG=R&AT6VCujzBn=|!#$r~;lG|@ki7GJl8 zEoug}+G>uxZ*rVbD>+1_t!HLkpRQX(wpKEh{NLJs%rh8yr>~|?5yk!dq7Ue%r@Av$ zcGtvmB6y+FQAm;DYB=)_F&y=&vKf+D7SbhK|HiWZ(r7YZU*T^6fD)}&0!oETmk<5{SA$DE%ruu4BK~>XJ$P7AjzWR)J6z+BewKaKl0J(A7Sz}VGn54+Dl|XA&&htbi;gUk4Fnl>>CsM7o zePSc;*Xk4^^XvJ-luM^b!B4Xe+~>1kZ~bzHpVEkXku-oYD+)FJf&}fkU3YN4*tPNx zV-ASHuYrvMkbDwgI<}1CoH>3?)!RIor$+X4krifpJBA-i_cWQHwEdGXCPc6F!Sj}s-IY8Wy)=%ib)T) zHrmlv=*!zBgDTtyI?_R5j`*UL$W`KCTz=YdbtddBG$ON+#+&MHQQrD|IX?+H{B!o5 zXamX!wKg4%uV-+I%VXlCSZT{Y4Xi~gyS0HKVmk)w59jEeZBJU&3yCVI;8M6;q4Yq&r#+iX6VJjaXZJWseh4H9 zx19*s1svkWS6jC)X@*BpSzwLFeQX6I6Th<*E^Gtxf>~aR%gTu16=#Jy)-3bnw#1xp zPI#;b$@*Om+9nh$v*xy%IW@J|MjJu-9)g>Ra(!sGm$sfT^8DV)=&v|7$xsO`Q`3~LMKC-EI<2zvVtA3x6P942v=5=r3S>MP~rJatGDU~)79p!^?=Z{Hp3ZVJTi_EK0sjd|7wl|EM zX_+oHTXc`)vsz&{(5|$OP2a800sj8_8|K|G7?^)De>g{hWGXqZksC3*qP{otXF$2kTor;7?t?apF!w{3r?wN^qt#Tj&f8c@>Xp*vpa%M(CG96k2KggE zF87?nRrRlDC7h}rv^2`6BuGt7WR=whBmBxW^x14Mna$SA2p|QgRUJ7x!z+OmR8`Qs z=Yd?p)a9I8)?qebmtpzkAGbg7n=ZdPG-&K`P8p2 zb!&{fF&#Ht$yKLvqTQlosZRTWGNzScch=R8C6y57_uu-NwhLfWD&$6B+Hn_kQDzi3 z!y+F~hvO63v2jCrr*{DdU0Z*koX(cJ-hYqxo=EnLT<&>Cb0Im{)xG5u`McckD!!@j z)86S+C+2DP#d#*sZQE;Si6LC7GTQC<*s1|3Q<-n=B~w{2rX6stwV*o?saHKO4-{raeR+^Qy9jR1rgZ zVr3-Xn@y|crrzngGy0B7_E*ii+q*ua09!LE_San0MOImLEvG($oCT+(m)4GQAb!~a zJjya?1MBy&J)J0g^IhabyIle;Fz35`gvXR$?j*gW&ylS#B{a~bLa^0FDFYcw!A*Cd zDbQY0JGBwGNcMRbXB-GXM(uHhpJX?(Bp$s0faS~yUrI`ZVVQQ>==Cdyfg4Y| zd|hz;_G(f~{B5gs=+=*3pS3QWcj&YnsOw9;%0CsfN+Z2)y3#92xRhe3M*FALh>^+T zESO1YJ#kE{hOh~ubL?QYK#14-HRuAm7;~Kp){eW=c}=-r~t^r z>#@l{`<(zaWTNEtB}pd~Jm^8JpmKM~+|s&!)wIBaPdNFtd5z7V?5|kz9_if{URAzb zFlLd|A&gYL=92LHU{Cldm%C#pvE>VC#5Um>&mqz|MIb|YA*n+s&+}MZP>T7Or&wLk zsMe>?RBWMmo|te4T*L$+tiG4mO6nE9;PS{H-2A+LYOVoOc5e~r zGLU_Spnu`JsZICVOEicf7f)+lw=yi|)NE$^)u(XtcaX|Mx4n2LcLCx_&L|wBXYM03 z#XjDSBQ+$$HQbz+p?a{lEfyEa?$>}B#?y9RQ#is<{8NOpCV7jzmeqHBGOd?v+@Haf zdU-&#k&{}#*XJHb28#cqhHhLS-@ZDi_IgMkroDyu}O|SuP)>u{C;uAP{;^=zVOS{$tN4$ z&zqn+@hWGS?>^c+n>_Wqc?>ELf;}1MKd}Z6RA)lpLZUoAP0~x_6CBzgP2WEbv+F)l zt3^3g|1X?H=WcH0fq!la=#mc!`*pp(Z823cbQ_ zdUD{W!hZnzP5i#)QepC|Hgb4nI_6ha16oSPY9Y>Nv*1Z@sIq2LaeV?kXdCG}bQ}GM zCnRc1&^YT@d%eZXiLmoDGGzfLBfSe)m0=kU&&XquDOI8oDN0T!I@={FfMaWd*M>f*o3sGqoG zSgv^K^o{J!ms$ozZ4taPJjQw)k#LQ3x=Q%y%-3xC1A0x|77T<|VSIT@ibf5Vnz&L! zN;F2s7&GQgFo&;S@Nr6vrSe+295Q8bb=9tU;HMs)mt>&j9@BvNcF&<`;_HSsZ5-aG z&gQ1E^c!=elvGk!x3Bn71O;ZH{QTj+0csB|LAe=waiP>}V@NRDuJ%QXX`3C-kIHAE zc9qoq_VA-NAySy}tc6P{(L1B_>BWa*92 zXkcHY6hK2brmJ|OrB!Y~{fOqLJeg*GeC4fOu|3~DF_0~(?bfW(UpmnDK;Jad7Nv0V z{Mh^7{cho-pbWGsCt)ysn-P&9RRNQ>oQ>q8Va*e`N&mkT`Ma(} zu49<)Q6*Q^1Vs8Ip5RA>xGRV3|1mXKy^t`SW^VdiEFb*ELgPL-;yvy?Pe9x7@3H?) IL1CBmKbrLWF#rGn literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/validation.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/validation.png new file mode 100644 index 0000000000000000000000000000000000000000..77c53ffa070c1d889ba6b97496d7e489c8f30aa0 GIT binary patch literal 5110 zcmV<-MQ7&swENcDB(9ZSNO(JSr?CI8wo)o=MjK-|*IYmkUp25#K_h20vQAPZY*Q(1KMP)p=A4r0rL3U0 zk$|969c<9a*6HT#+t%Rr^!HfYbbV-#!MMqzm9MYvyi*!%VMKUsRDyrwljPv&W=ni= zS%sL0rAE~A`Qc*i=Ph4s~j#o;fXE~TtOO0r%?YPH;n}KA3jBkdFT7raUf=IMyt&x_; ztD}^7iu%78%K!ipa7jc#RCt{2oef*l$QH+KfI5-fHZ+ljwzQSL(_#yh@+K&tVgW%> z5EL(n?ykGv{{!44Gm}i(q?t4cY4-O2?6d0%Vtzem&N(x4X7cFKSYwSf)>vbWHP%@F zcdD&!l()*|YAxso@kP}_y~_)NBuRoGfOco=--WqRlmwn*0fPisUdpdE{xy(WErDbD z#YtkP67;iqp#~$cCVZ;+d@=NPtSnpesf9H$r%~=-Ww5h?{8rFUJA{@oAe;Hz&!;lJ*wd_>58qfUia3z$ z?VIwcjGwU?ff%;L*uYUV^M@54G$TgjmV(972?qf_`X6+U5*^ zvrnEpdG*wsaUWR`2w^Hx%g9H$KNP^H3gD9`){ct4c{}LGcAzdyb!>M+2eh)G5^f-3 zDm;mQ3ys3eJ^?r&++4vAgj);x!Ku|kPyBfnjlm~RX00p;haxg!SdwBDXA1T4?Ez&! zg@K7H2L0%i>TtRVpT4pOl!a1;81$o4iUF`1oxnb78DumgzJ?!)6pr!~IVq>4!lzV# z+DHtEn-<`#F!KVN(3VgBzCCF7ZqN@;rMl{IK#4QzD5Nl<7HjgMsB2)?i2tvh%R8ER(Q!WgPr(2R27fRXJlraVhmEPf)Tr9J&h;~GX z>eAF|&`(dJCEj_c!AmuK&<{_gG9HLdjELrkVMzE&sDX36JqLvMTzCraM|gthBwx&S z;W|xNmc1LWs!?Z%bV9R3HZ;34kkEkuz zq*e%)-0JwbGcN`sYV8;zuRAN7+8+4=wZItEWL;TVgA>Bw{!UBVGY)rHIDvO!xH*rL9KM#Qx{245yPw7*{eR$L#H0?d^40viDM+*!L{3Es<@vBVGYi+7el>FaWSD3mC)iajCupUm-(| zvkIVA-D=3%sy>+Mmu%Xgfv{}$ELE~SoVEg}7S=dPkVIMXf4J?!!wh0MJX$jXk+-tX z79;B4M^OP(JB+{+W19gSpJF->0$E(izk%gb?FY#?t3}yq zdg^OV%rD!FFX{?lqiucUffd>tUh|l$+-c(x33yRTfqH?WDx<0ZYW4iUBOPqM{y+s_ z4Yp*0)>5HN9qBg63ILc@0A;av41ivL<@g7ht3X1hYoaz4KqqgEE|MUKq991dsFQz~ z6`=Nz8)$uaFGk`m$|m2`g3SodKhB;CfXFcVnH3;%N7o5i zld6hX!?lLocyMp1qjFbXfBLU$FXjJizucw8M~Fgk}{$ z9sd@aKbq{pLy(h4S~M1Y-(Rl5k5e3WovE(^C}@j8%(W?>%6P5KLIuC4)HOILq@h>R zY8^ubz~TSlm(2}`&8Q95yw8h26&Uv1w5}N|01WsO^1XX!#rP8;0>(QU)5n8OCAcc0 z3>AO@@ISKb5Ji9Iny5)ba9QpfDgfm)kq-DDD=SXIR4iwHU#E?z9ZYaN7|03$@M?yC zrvh5pa5AxpJ{5oabx=E4%6%CuR{+?I!ruwaf|h_X;syM8fd_xPwHh#c<-PbjR$Is> zYdWB%i>iogC>#4(ph7|*dGf*d4m^x7Tos7^Z>_55Oe731z{` z-^Z4gW$(Ix*VG@yu3;yo0!*y=-Adl_?nDJ#W#Wz!&`Ie`nD~eDE|{ANof+|B8Vd8h z8ffU96oncer%>>*JlVTOgcrz$RDfDA<$Nnm^PYvW8j6Y+YC3#3V1jQTynqpy_lvLw z4_pUw#V z&W9T?Jb2RRTto+Poe}c>)HJo~R-w4u>f-h;-oe(IrO;t&IRB*;u1mdK7p`n|+9_qD zOYOiw;-wVtwuu1GEt~{XoDMw+1gcgG-M+nTERGk1Z8x`HqPV~8gb)s1#+y}?N0mY= z#hbJa=mMN1)rZcF=!Tz^12@HUd`~tK%iDQ=;MO`er6ep3Hz?782kswgBPM=%cQJ*< zWuE5Zh2k)bHCO@yk=lrxuu1@u>x!n_>g)UfAeqbMve|4dmt=cg7Yx@cTSWJ#{7GAs z{^`*LF_pC*J~o#vWto%9^PRK1voGf_cax=3HfhA}b|)s{#YCs$(6 zKPqsM9>o>RwU*5Ft#n^1)ZH}9uOTxem*&BU;(CBbCrt;Q$gEy!B29gpib zB@NL!nlF)^UqV}*A?VlKO6}`@#zf+8y|IC74G*}g#hC1_ZouQm3y)RV5z35rO|5as z!iutk>IT$0+iLom6jo>}eP0QkE-`sQbk=g+;iF7N`@2i$5sVXm5BU}rj_nEM(a7L{ zW7?Zl*(My6Ec1u}$FQRC^Y`^;Le=K=@1KIGhh4rsJfL=li)o(CUAhufE=5^qHoi^%AOJ?12VQc%Ut7I+D2_^x*+U;$V>XFoPvv8r^h}=YgkribCDuhlIKgnS;=s&+Rz(F+? z^49AKfOprDsNIN+Tr?herUKH0mwxS{aKqz(+8_^>^45p-YD=7CI_s8yd&%9D7w6p4 z4g_3ONswJ!*wIlNUr@l_=zyy8G9>U>{|_!3SJdEofWBSZn4}6Ira- zAWj7Xk)f=aD;tf%Qm3<2Xl!`0!-V>FK=T7M;p5?lAV$1I0hQ>ow{=kegzpP3-N8Zl z%r&5_-M)3KRB*>g(P~ig6ap$~!Zl$0L(>RI?VvsgU%cM@pirrWsGBi}G;^LK_&Ddw za2^U}irhIIgi08F<{D5=8TyR);ZB{I3XMWgT34P6`lx$8*@!#1K;@mSF?uc(NVDpM zBCce@h4&tqFcLY)jmC{bc;_Iinovy??gt^%mmJE8!4jfvSTqXXd*!2wz9J*$gC#_% zqIsx1ladNuCkjpTm#{n?{``;^LftXR8+8<_OBNpS$pi5gu1p1cT`O`@IPD$Mgz>pK z<)41S`CYH}`dkP$O`|xoIMgVdTl_IKJ@uo1rnMg1$p!AF=o;4KOVxzRx`pFFI=3=C zrD(d}_|dP~z@sU;4w-OLr@0UV%7}edjLx4z7xDQt-5{Y`^_nml4iRT`z^SPpbG?LV zloA8HDH8Uku)D)LDG4|=)%(?0>^pSR059E@h;$!cQ6i}e!0FyEr(;n_7~D1cC>v%! zsf3PK4~>BRHcUs;r?AT|usdndVad`5<$2=I78V>$n|cAC_m0DKbpEAU)_8M-Xc(cR zgsAF{tgJXOVK3lxUl>knp~j;oH0SD|gLZf)#*GE1pY@thA$$V|Vk)R$3g?DsfyS9A z03)$z>=qKbJNWHFur&}?G~NR$gs7?s?7cHE9pV)l6UFD^ag&;w4loi8o)FgExi40P zb1To~5P979^mKqKA&fLW9;F*Bxb2(Uu^@~;S3#zG%P~s8b(t^b0In;9DC0{(Wqf=p$DHtZ+K3o; z1gH!{t!ne+l+-Xn7eL_3yVp&h8)=@;IRT8!D}-n*%Gaw%1_@nDQ93kz#Q5S=526!5 zWf(@&a8Wq8g&K73sPxf%QqhYzkRem^2Tpz5U2STg8W>A{o_ z*Yq7C+5oCfibH8&3117QCClfuM6?4uh!TM&uu!TkW0XEv&h9M`?EvMup)w3_lEE%w zXvdZ<2ci|CEub1_Vo}&W8R+H{?5G3Z2F&tJ5N!dW330v;^gVOv?AQP|HA@<{fT{`c zT4JzoVMDJT%UVr>%@FMYp$TI#XhPOScfALKosJ+k@PQ48(~oTd)j%3e-vzyas{+x&KHPqyK%@aw%b6(NcnbVA7yOu^J!UAEB1ge z%;4?O;9sPN?%T3m_>RvluB;r>Ec{223DFrL-|ms26}lFfDSfhA`HtJ3U{jUGqY%B$ zGWgfb;rGWSDW0A}2MF*CHST$GN2WW~&{?FxInf~?UMO{Wpw%Oxk%(Go-3dh*t(;*3 z?H1C6&NrY|eOE$&={G3M_KfvgQk?4irN^irW%dPi{H&K=_z@(>9(`SumD9 zMLsHw%GJI=~`6Fb~P@f7pL-t3n2L$OkzM`S2eX%iO!C9@~r(`m>dD;DilEIt2q z=Noa|7YOV)vjcUAD^_GiaQQtwZvq#MDR_4$r5y3?JQM6`N=j{z_c$>inPpy{-O7}* z5wX(g`T6MgFQ+-fm2_BFM zI)Y&KeqJLUpKk?v4%Vg0MNS%U)h@@U+JzCECplBO(-H)pGhRCj0LO`fSTBrl3F<_( za-p~e@+m=(BvBHCR7z-VcN+f^I$gEOYPG!8C~s6N;fyO|jWyO-V~sV|SYwSf)>wn} YKfGF4@TO^MH~;_u07*qoM6N<$g5}c4lmGw# literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/waning.png b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/images/waning.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae298774b230aafd8e3808e34ed779d3f4bdede GIT binary patch literal 6481 zcmV-X8LsAuP)QdVF&j3;-Pd@)Q;j92pZF5)2X;5*REcEP8bq2mlBX3moj_6hlEn zARQdw))a_@73SL%%*GVe$`q`ttpD~DK|UI4Xcksd8EhvL>VqC z8KIjOhlPbWGdLm|8h?8hI5HVOK|dxZCnzHt)7^be000;qNklB$B%$>FOkLN*yA#oqhxaDCCVjpOPrZ4UBDyzipK_z+e(yUJ z(H*_jL{~a@r&=_BNAESs#w`Mbp0tJ z^7+f}I`to6XlXk8_Wu3Z-y@_yLW|PbS5Foe79Onsp0ob}T9ht6nQ7#C-kACNJM`!e z5K%h&q#sAI|35SL8)Wnc7+Sj1h@5!hD2f^neuF=%zZRv73%M5$teN%SBBGiDko2B6 zGcO;fNR20p6PHo#wJ4p-y=)>rI=k7AP(a|a^B->~Eu*>{TDqQtfW#a1 zC;oA2E+QB38zLbHYEgI6fxqU4mVRxJjnTI#ZY)hW@Yh?5(#0qj@%Yrp-^_O=E}}YX z(ZfDSg`z$RtMO#AYE)}2O6MARL?J)xh|lgmoV1AQn-|S*b~&77dj|z;QvQCTfxpfo zO4s{hU`22Ef%PcvPxO82?2G0X8sLSTTsm)7pB{JkUN&=of@)M_UzG05h?{O6Cu(re z;vBoXG|Bg=t%!WU=X|mAd6a0ob(#s{pJ4u2UlILtZ$<)r^T;NNGQB1z*^O_LGwIrj zD4lakM82oJuaiV4YVCbS4m+B8H8C}+YeY+Dml}*avgK8qXyv4|-6TVc^W}*VN3|8v zdYm)zX!Wd4w9}$w1l|ac$mF7DO%06^zF*n$&?@b;NNIcAWL6~qF)5E-Q!R1wJ3eNkQ3J!bv_JSI7__0*2?Ze{)p0>5Y=DP?D}D! zaeda=uqpvFa}GN(K7YihHYvnkOG8WNGUgbg*1iE9a^A=omDrC($R8&|9Mw`p^AEZd z+oR6jmUW@b|JP1RNn(3N@YoXx{B<<6biGRnq6_#Z#>>Y?e9$D9KRU!u?r1WIzlQEQ zo&S+D^vK?i5F{u*jg`f4U-J!x*cXs?VyF@dqE;p>9E(L@k` z{d`fn_&66&^m*hGYcw#YLtt@Q9d+0n#oc$eSECvl+C9n|9nQ!$EGiGki2}bJ?Tg25 z{CE5JtDT_%!l#-?>tNu$4?tLxIC}#uo7k;pOss!Ab9*(apB6m`;OzaX$FB-xq%nQ; zu}!N_EeZVJZXNjRrbX#GwaU2f%@qwo@usG%^|DbI)YiUW{uob!II5Yub_l=A1?nsx zS;!Whc+7CPHcYJ5#>F(F>>(3JQND27z+bmUJ|FNYZFC6VXF^VAj$hu}WTZ{A)+H8Qkx?pw}9*Uqzn*Pvvu{k_%6e0a->;$T%n^tT($n5cmKwt>H1 z?t1=ZmpeeR_eW2?haR28k_JU_@nILdlO25SFrjqY9?@F)qIB*@&Yq~XKkzn{oV2ot z%V}OlU)DUVRraWpiK*SLWxZC0Hvc5&p1sT?e3vF3#S*(nbT7OUclxz2Fyxj!qIEJf z2>3*$H66ltW@bKzh7bg=acctro88)zic$CLt=_gihL+BL>#{**dqbZw+FfY}k?+Ne z5r8$_Yl+9cRgY+$L_`7KqqE}hsf%XHJZiHOVylX>FCt1G zRJ%Z9igbzYCWgp{@$S;lg^#c)Vnv?!hT z2p@F<5I%@#tq>BM3y)qzL#+Y%5B6IuyY9Ce=a01s`tJfbYoB87x;aj|Q$u;`S;^x9Erp}M^HMSc*F`#%W%k2f6- zsf8A$b9v4#r}f;Rd;o}fcCi%ifzdzRwZLF|LR;C5R?JcFhQv`F+;uwppdsKaU$q91 zyiq>$kp@r^Qnt5hp(+A0vV%}~Z2Wg4k6i~tOV=Bq9)1-k7F!&A0oK9TR*()!s`F;3 zu_odpzp}fT5J%k`O@-DVqPc+I;NoKE!_Z>g6$UB#_Hc>#;E%4I(_>%j{_Iv z8ygbs8y$S{b#ywOUV}d$P^XC2NUl99`1Scsrb4Uli(J5uX)G_!cCo=a!HBN4`NEDy zlI-@1(I`i6j@~NQ-gF`ge2vZP|B)(hXzo=J&vZJ356xBzs?=T#Pd{`>G~$n%+wdGD zmj+7y_OQc*Zq&U#;;+0Gd4$gazwp%!op{wqj1Oyx-4CChMRa5}RQlmS5GQmT;c?w3 z^VgM8)kT!9&xo5TR-nrvL7Wfiwf)o?ON)Ha+qKw8lhA=KeLCu7oSa`D@mDsH|c0X$DI>OpD$n#@URPEaPKvmn&(zoxWxLCXxpreLf2Vh>E!`TYHh;;4Q(C3vP zAD0|x?8-_$wOEdM_nL^m+9LYrWkV#;+(IIaIvNv1ARm{rawW~DP6K)pk|Kp@1v-xC zkp49Tf2Dm9B7EG(q4ivogdis(Z=|5vDyD;=!gc_PgUJ(p`5!AdW8^odiLQtED=nh= zr3Q61##up>KDuFQ{&eyDbElLS#h!DdP>)@rm}5Ixj=pm{cHFpL;IFcwr8|8I<*k#a zkmhLg)C5zN9^rIVSgmc12{_6T`qhCI*=@=^cK=#|zrq-e5x!r}3G=9j!qgF?l`;nc zz)*|Y8z>l1B1O^PtC6An(VN=;U57ZTuok8Fxai@s#%)XP2U}vvid=gAs1*en`3lk& z=$c_HhhKhvX17xc{MY$CD(j2Vw{cF@*VrL^i$l~(bjd4=N$knEp~cNLLb{k6LH-D@ z!;T}$9~Z8H_$#bMn-cJ|V%L`9lUAWw-)?7dT-KxIA?Bnd&JeJLMv)$>FhVDoE6W8 z3ezD)-xV{DPK$=$J0u-AzTMMQ{~+p(nnVoTABEP)eBr8yzoJ@%2%loqhWFK_P?m5s z_kMfyIy8j3)jYJwgCI9cZYTjk`3Bp7=&p?TtC>2ci~Z2F=WwY@7Y)fsV=f4WjOXah&naOua-YnQAECm&$g4Du3Cvp;;&I)_`r6v#9brj$QB0jG&sT!If4s^ zYo%6^2UoKDDn_()Cl?m6d19U0QJRN4$!Aj*p#3f(vS(2Q<3&j8`#P+VjWUd(!lN_3 zL!L2;uh=76!PGHb{FXEQ0|*~AMkC~4bJJuxcB>-@#F^#mf%jU5hOVUu!gQsVv*#%> zNw`|8NEHq3YhQX`eZW`5X=qKKSP^#*Mr1$!%W>R$F4{o^+>z4cm82%%U;p&D5XjPh zb(P<{a)#z>_<^f8h(nPl61r96%rI!v+V@f^t<|GyH3fYXEvX#Yr|&qT!}EnJ1pex2 z(flS32)j?6MM&whwJ3rgAw)Ug<#R_)i(KZYr2@bv$-9Z*4~4TeB-8HZ6@KrkrH<*l zh?OEPo@;VDO7>1+5D!k<_}*(z&9aP|8yW}EDfj`1O{g8qXPW+8&~ZfT3auhlbJro@ z$8q)s5I%LsYUZNpzEFy^DJXa&t|TRd>WDIda4&w|SC%;O>Rvt-S~WvUcly#W)m$+Y zw6%mJBWa|9pyi(Jg=W6EwQAvbjlfKCUafU_r90z^fR_03z+W*fN@r*Cm=3>#p)G2F6$}FX z`4IV6LxHT=A0Vd39iNz5QdC%jt|SmQ?r{X~bm?|t)$&DtEH7qfy@mMI6S680MVcK7 zCD6{vU`T_y|1q>*aX}mKKB*sr7Bo(~(GrrW|FT9RO6R&cksuD7X+_jnLdKRT@kOB+ z;_IwDa#ifHUr!jVXz4OCRJ_I%U=RX-JoD@Pu~K=F@6sm`bzn;ZMR8h+uL*YyG2#MR zdZh`lt2p)45_gSIj}1c>+$W2QwCJ{ciQv6w@Z^1CdJ@%&J-Eh z|6)wHgO#G`){CvD(sLyym7wzAUUV9|k!Azw7_13pfj#l?md zsG*afKvZeeLT+G3gYtc%mP`?<9vs9VuhzusYUVG&{0^Ja-qrtA#i%-3l-|cVd@m)3 z@HKPJtW5Orgox%05yO@UPHT>IoLVYwxKW%{VGc3;z$20IFIz>bqeb&C8#FBxWx3z5 z!B8Qr1oSyp!AB-iF`>xE&jAy{Xu}ZM1mhq^W3dQ0H)owNsfB6hucksPqeTwk=bRE1 zpRn`=@KYRf!t^s(4>w>N$qh8U0yG9USo7W)=@XN1xK~VHss!^#|DJjD^B&R40Fe17 z4T2GI=gTSX|WR$05YeR6Pcvi;Fo&J-mbLYHQQ?3Xk6sJ7pc{PE{g zp%qCT)7gJ>?nvl-7y+Mw{sestjCo=}S5%lyaLU6yy8EKpY`2Pbv;Ah*STU!BRftF< zEcVm+KvwqSX~yr`{pkkcRnek*eR9GKTBf@JMZCDX;#9L_qXk+*OI1l-_Q19 z2)Q#Si4ew!5>bI=qI}e@eUJf(eBmd7zak>q<5O(<M!v9$}B>$snL~a?hGo$I#d? z`Vvn=Z^Tl6rkX(W7`s3Xm1|2}F60HcRR(pK=+SGAYVpqye-*SSg@BLlB->ll+}c3a zW)db>g$E(yNfd5_6{@j5sro$RJdz+t!n7l1=bBP=keuDf*&D_Emlys8D#A4Brm?GVl;I_OV_zeKZ;vDQX<5x)C(efEJ0V&Ab%%Z$f~qJizpbP z+meXL*+d|nz$1w_y6}==)7B!t4LT`N)Y)6J60{Qf!xOHON*H-yYIOY65(VONV+`BP z3BJ>8a|stL`83E0_#Atq5YD{+^4ulErXA7z<#CB>jEfbGDK&Rpp%YP3?htNK(fFR< z`CCkkExrF(%CGH%0dpY4tFpl$Ebw$OV&0?6;^G#}}Sqv!jziJ=<=_GO%@~M|7I*I$bA9-$&|0OJd-( z1rr-`yo#S>4ML$|FT-HB_jx&rmY+R88dxlqaZ4nzLP;{Ne}N&90_HFb{O8eF{y0S~ z!Z~~j_#Z|zhff8dQ0h@<$T5u+wznBg%?(x$*H%~8hQ^90SrCHnq2U21LJ;)ha;9bg zZu)-ZP_ST!-!JFTdW#@RKiga&@vTB|H`m6|(j4GP#W z@Sxl=k>+&)B}xwt!bs9stH|`U$nT}keVoO?fZBp67-2|HIFAXekrs!=$U;86ghI|6 z`9uu#$tPiHO%N`RhU!&Tqd3aT6{G2Ckwf^TL$U7#wiu z>EeWg7m1aL2IqAX+8Gl{v!VP-I7Zvh14-F8IXZW|?uj>wXLd@z_q0Uh13vGmlfCIZ z>OI2M!~eY={&)o6@aZ1h!~^(&a3mjtH+%Htqq8TF=iqiY(0%Q56=i%lWLlJ3c`VQQ zqE@Tb_W#=L7A=3*eJ|Q_r_IOEBXVeK{MGF?-s2})^n$VThS!BtbOM%%N>u-}d{O$2 zw>1slW6rdxrbf7wk74GOe}ol}ao5a>$i3425>`34Iqldg<&RSn(bv9wZdu%4boNv5 zbec$XY@3j>q=Hn(pEz@HpqQeI1O+wzooS0`o-TY6^XC?Ei9p7*fYj_lNeEjcPnY?l zF=2*!+l87HUKNLppQnZNorp*;NP8m6v(Hh{r9V3x;29f<$9|kqi@5aQdHp+b>64AyVcASee}R(1#ABx}ouu@5X|i~Fl-kY=UC%rYziY|f&WE~S zgXg{S8RLu3JS`@Ak#|1h-r-)O1VN^kI?lg(KhwBib=|*n4>is|c)<%Vx_SPU7o6$r zLo?srg+J!>sNY%rEBVK57l3P z4eiqP*U&Cqf3@h+_170&y6)Q0(i*Ni717JLi#1&9H@*_)4MY?zz+w&YDZT3KJN@iU+%32G7CtPeczkzS^!C9O){=ai_*(kanU^lSN%way|8x^t rvvpl}7>FH$hX4F^{$@3wyxIDHI%rP28^;JZ00000NkvXXu0mjfPUnxQ literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllDevices.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllDevices.json new file mode 100644 index 00000000..d7faef5a --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllDevices.json @@ -0,0 +1,17 @@ + +{ + "deviceList":[ + { + "deviceId":"1", + "deviceName":"Device1" + }, + { + "deviceId":"2", + "deviceName":"Device2" + }, + { + "deviceId":"3", + "deviceName":"Device3" + } + ] +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllReports.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllReports.json new file mode 100644 index 00000000..cd0723f1 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllReports.json @@ -0,0 +1,75 @@ + +{ + "data":[ + { + "testid":1, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "pass", "status": "reachable","statistics": "0% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 70ms"}}, + "result":"Pass", + "timeStamp":"2018-03-16" + }, + { + "testid":2, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 33ms"}}, + "result":"Pass", + "timeStamp":"2018-03-16" + }, + { + "testid":4, + "deviceid":1, + "testName":"Protocol Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"status": "unreachable"}}, + "result":"Fail", + "timeStamp":"2018-03-08" + }, + { + "testid":5, + "deviceid":1, + "testName":"Protocol Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"status": "reachable"}}, + "result":"Pass", + "timeStamp":"2018-03-15" + }, + { + "testid":6, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 33ms"}}, + "result":"Fail", + "timeStamp":"2018-03-15" + }, + { + "testid":7, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 50ms"}}, + "result":"Fail", + "timeStamp":"2018-03-15" + } + ], + "status":200, + "config":{ + "method":"GET", + "transformRequest":[ + null + ], + "transformResponse":[ + null + ], + "params":"", + "headers":{ + "Accept":"application/json" + }, + "url":"/findReportByDeviceName/Thu Mar 15 2018 00:00:00 GMT+0530 (India Standard Time)/Fri Mar 16 2018 00:00:00 GMT+0530 (India Standard Time)/Router" + }, + "statusText":"" +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllTest.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllTest.json new file mode 100644 index 00000000..fc9b2901 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllTest.json @@ -0,0 +1,17 @@ + +{ + "testList":[ + { + "testId":"1", + "testName":"Test1" + }, + { + "testId":"2", + "testName":"Test2" + }, + { + "testId":"3", + "testName":"Test3" + } + ] +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllVNF.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllVNF.json new file mode 100644 index 00000000..4ebf9511 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getAllVNF.json @@ -0,0 +1,29 @@ + +{ + "vnfList":[ + { + "IpAddress":"1.160.10.240", + "HostName":"Host1", + "Selected":false, + "PortNo":"8282" + }, + { + "IpAddress":"1.160.10.241", + "HostName":"Host2", + "Selected":false, + "PortNo":"8080" + }, + { + "IpAddress":"1.160.10.242", + "HostName":"Host3", + "Selected":false, + "PortNo":"8285" + }, + { + "IpAddress":"1.160.10.243", + "HostName":"Host4", + "Selected":false, + "PortNo":"8286" + } + ] +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getTestResult.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getTestResult.json new file mode 100644 index 00000000..581c8b08 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/sdnc-stubs/getTestResult.json @@ -0,0 +1,42 @@ + +{ + "preTestResponse":[ + { + "ipaddress":"1.160.10.240", + "status":"unreachable", + "testtype":"Network Layer", + "statistics":null, + "avgTime":null + }, + { + "ipaddress":"1.160.10.240", + "status":"unreachable", + "testtype":"Protocol Layer", + "statistics":null, + "avgTime":null + }, + { + "ipaddress":"1.160.10.240", + "status":"reachable", + "testtype":"Network Layer", + "statistics":"0% loss", + "avgTime":"Minimum = 70ms" + } + ], + "status":200, + "config":{ + "method":"GET", + "transformRequest":[ + null + ], + "transformResponse":[ + null + ], + "params":"", + "headers":{ + "Accept":"application/json" + }, + "url":"/findReportByDeviceName/Thu Mar 15 2018 00:00:00 GMT+0530 (India Standard Time)/Fri Mar 16 2018 00:00:00 GMT+0530 (India Standard Time)/Router" + }, + "statusText":"" +} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/sdnc-style.css b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/sdnc-style.css new file mode 100644 index 00000000..27b15950 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/sdnc-style.css @@ -0,0 +1,240 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + + body{ + padding-top:10px; + overflow-y:scroll; + padding-bottom:10px; + } + +/* form styling */ +#form-container{ + margin-bottom:20px; + border-radius:5px; +} +#form-container .page-header{ + margin:0; padding:30px; + border-top-left-radius:5px; border-top-right-radius:5px; + } + + table.tableDisplay{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: auto; +} + table.tableDisplay tr:nth-child(even){ + background-color: #C0C0C0; +} + table.tableDisplay th{ + padding-top: 12px; + padding-bottom: 12px; + text-align: left; + background: linear-gradient(to top, #f8f8f8 0%, #cce5ff 83%); + color: black; +} + table.tableDisplay td,table.tableDisplay th { + border: 1px solid #ddd; + padding: 8px; + width:30px; + +} + table.tableDisplay tr:{ + text-align: left; +} + table.tableDisplay tr:hover { + background-color:#cce5ff; +} + .first_row{ + background-color: #cce5ff; + color: black; + text-align:left; +} + .column { + float: left; + width: 32.2%; + padding: 10px; + margin-left:20px; + height: 60px; + /* Should be removed. Only for demonstration */ +} +/* Clear floats after the columns */ + .row:after { + content: ""; + display: table; + clear: both; +} + #btnSubmit{ + background-color: #cce5ff; + margin-top:20px; + margin-left:20px; + margin-bottom:10px; + width:100px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #ddd; + font-weight:700; +} + .btndownload{ + background-color: #cce5ff; + margin-top:20px; + margin-bottom:10px; + margin-left:20px; + width:130px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #ddd; + font-weight:700; +} + #exampleInput{ + margin-left:25px; + width:160px; +} + #exampleEndInput{ + margin-left:10px; +} + .error{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + color:Red; + font-size: 14px; + margin-bottom:10px; +} + .labeltext{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; +} + .sort-icon { + font-size: 9px; + margin-left: 5px; +} + th { + cursor:pointer; +} + .heading{ + margin-top:30px; + width:99.5%; + height:45px; + margin-bottom:20px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + margin-right: -15px; + margin-left: 5px; + font-size: 20px; + background: linear-gradient(to top, #f8f8f8 0%, #cce5ff 83%); + padding-top:15px; + +} +form_validationBody{ + width:900px; + margin-left:15px; + margin-top:60px; + margin-bottom:20px; +} +button:hover { + position: relative; +} +button[title]:hover:after { + padding: 4px 8px; + position: absolute; + left: 0; + top: 100%; + white-space: nowrap; + z-index: 20px; + background:red; +} +.arrowRed { +font-size: 30px; +color: red; +} +.arrowGreen { +font-size: 30px; +color: green; +} +.ng-invalid { border: 1px solid red; } +.testMain{ + width:100%; + margin-bottom:20px; + height:400px; + margin-top:10px; +} +.testNotification{ + padding:0px; +} +.testImgIcon{ + margin-left:5px; + margin-right:10px; + padding-right:10px; +} +.testCol{ + background-color:#f2f2f2; + width:25%; + margin-left:35px; +} +.check{ + margin-left:10px; + margin-right:10px; +} +.btnRunTest{ + background-color:#f2f2f2; + width:75%; + height:75px; + margin-left:35px; + margin-bottom:35px; +} +.ReportMain{ + width:100%; + height:400px; + margin-top:10px; +} +.ReportNotification{ + padding:0px; + margin-right:10px; + text-align:center; +} +.ReportImgIcon{ + margin-left:5px; + margin-right:10px; +} +input[type=checkbox] { + padding-right: 3px;!important; + } + +.header{ + margin-top:20px; + width:1145px; + height:45px; + margin-bottom:5px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 20px; + background: linear-gradient(to top, #f8f8f8 0%, #8F8484 83%); + padding-top:15px; + +} +.footer{ + margin-top:10px; + width:1145px; + height:30px; + margin-bottom:5px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 15px; + background: linear-gradient(to top, #f8f8f8 0%, #8F8484 83%); + padding-top:15px; + +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/w3.css b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/w3.css new file mode 100644 index 00000000..e73d2696 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/style/w3.css @@ -0,0 +1,231 @@ +/* W3.CSS 4.10 February 2018 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent;-webkit-text-decoration-skip:objects} +a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-input-placeholder{color:inherit;opacity:0.54} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-content{max-width:980px;margin:auto}.w3-rest{overflow:hidden} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/tabs.html b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/tabs.html new file mode 100644 index 00000000..ab1ec32b --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/resources/static/tabs.html @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/WEB-INF/views/index.jsp b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/WEB-INF/views/index.jsp new file mode 100644 index 00000000..3c7be352 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/WEB-INF/views/index.jsp @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+ +
+ + + \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/app.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/app.js new file mode 100644 index 00000000..82fac469 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/app.js @@ -0,0 +1,47 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + +// app.js This is first entry point for the application +// ============================================================================= +var myApp = angular.module('myApp', ['ngRoute', 'ngSanitize', 'ngCsv', 'angularUtils.directives.dirPagination', 'angular-growl','ng-ip-address']); + +// configuring our routes +// ============================================================================= +myApp.config(['$routeProvider', function($routeProvider) { + + //Called when user select pre validation test from the UI + $routeProvider. + when('/testValidation', { + templateUrl: 'form-validationTest.html', + controller: 'TestController' + }). + when('/', { + templateUrl: 'form-validationTest.html', + controller: 'TestController' + }). + //Called when user select view test report from the UI + when('/testReports', { + templateUrl: 'form-viewReport.html', + controller: 'ReportController' + }). + otherwise({ + redirectTo: 'form-validationTest.html' + }); +}]); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-validationTest-controller.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-validationTest-controller.js new file mode 100644 index 00000000..bf7005be --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-validationTest-controller.js @@ -0,0 +1,207 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + +myApp.controller('TestController', ['$scope', '$http', 'growl', 'viewReportService', 'validationTestService', function($scope, $http, growl, viewReportService, validationTestService) { + + $scope.showTestReport = false; + + //Input data for validation test dropdown + var validationTestList = [{ + "typeId": 1, + "validationType": "Network Layer", + "Selected": false + } + + ]; + + $scope.validationTestList = validationTestList; + + + $scope.getselectval = function() { + $scope.selectedvalues = 'Name: ' + $scope.selitem.validationType + ' Id: ' + $scope.selitem.typeId; + } + + $scope.showError = false; + $scope.errorMessage = ""; + $scope.showSuccess = false; + $scope.successMessage = ""; + $scope.showWarning = false; + $scope.warningMessage = ""; + $scope.showInfo = false; + $scope.infoMessage = ""; + $scope.ShowResult = false; + $scope.allowTestSelection = false; + $scope.hostNamePattern = /([a-z0-9](.[a-z0-9-]*[a-z0-9]))/; + + //Called when user clicks on runtest button + $scope.runTest = function() { + + $scope.showError = false; + $scope.vnfSelected = []; + $scope.testSelected = []; + + var message = ""; + for (var i = 0; i < $scope.validationTestList.length; i++) { + if ($scope.validationTestList[i].Selected) { + var typeId = $scope.validationTestList[i].typeId; + var validationType = $scope.validationTestList[i].validationType; + message += "typeId: " + typeId + " validationType: " + validationType + "\n"; + console.log("--TestController::Runtest--", message); + var testDetails = {}; + testDetails.typeId = typeId; + testDetails.validationType = validationType; + $scope.testSelected.push(testDetails); + } + } + console.log("--TestController::Runtest--", JSON.stringify($scope.testSelected)); + + var vnfDetails = {}; + if ($scope.IPAddress != null && $scope.HostName != null && $scope.testSelected.length >= 1) { + vnfDetails.ipAddress = $scope.IPAddress; + vnfDetails.hostName = $scope.HostName; + $scope.vnfSelected.push(vnfDetails); + console.log("--TestController::Runtest--", JSON.stringify($scope.vnfSelected)); + + //Call the validation test service with vnfselected and testType as the parameter + + validationTestService.runPretest($scope.vnfSelected, $scope.testSelected).then(function(response) { + console.log("--TestController::runTest--", JSON.stringify(response)); + var status = response.status; + var response = response.data; + //in case of success, build the model object to store the service output here + if (status === 200) { + if (response.preTestResponse != null && response.preTestResponse.length >= 1) { + $scope.ShowResult = true; + $scope.createTestModel(response.preTestResponse); + $scope.showMessage(response.preTestResponse); + + } else { + console.log(response); + $scope.showError = true; + $scope.errorMessage = "Something went wrong!!!"; + growl.error($scope.errorMessage, { + title: 'Error!' + }); + } + } else { + console.log(response); + $scope.showError = true; + $scope.errorMessage = "Pre test validation failed!!! Check the report for more details"; + growl.error($scope.errorMessage, { + title: 'Error!' + }); + } + }, + function(response) { + console.log("--TestController--", response); + }); + } else { + $scope.showError = true; + $scope.errorMessage = "Please provide the inputs for VNF and test to be performed!!"; + growl.error($scope.errorMessage, { + title: 'Error!' + }); + } + + }; + + $scope.showMessage=function(data){ + + if(angular.isDefined(data) && data.length>=1){ + + angular.forEach(data, function(value, key){ + if(value.status == "unreachable"){ + console.log("--TestController::showMessage--",value.status); + $scope.showError = true; + $scope.errorMessage = "PreTest validation Failed, Please check logs for further details!!!"; + growl.error($scope.errorMessage, { + title: 'Error!' + }); + } + else + { + $scope.showSuccess = true; + $scope.successMessage = "Pre test validation completed!!"; + growl.success($scope.successMessage, { + title: 'Success!' + }); + } + + }); + + } + } + + //Function to build the UI model to be shown + $scope.createTestModel = function(result) { + + $scope.showError = false; + $scope.showWarning = false; + $scope.objPreTestModel = result; + $scope.objPreTest = []; + + + if ($scope.objPreTestModel.length >= 1) { + for (var i = 0; i < $scope.objPreTestModel.length; i++) { + var objTestReport = {}; + objTestReport.ipaddress = $scope.objPreTestModel[i].ipaddress; + objTestReport.status = $scope.objPreTestModel[i].status; + objTestReport.testtype = $scope.objPreTestModel[i].testtype; + objTestReport.statistics = $scope.objPreTestModel[i].statistics; + objTestReport.avgTime = $scope.objPreTestModel[i].avgTime; + + + if ($scope.objPreTestModel[i].testtype === "Network Layer") { + if (objTestReport.statistics != null) { + //fetching the statistics to show in progress bar + + var statistics = objTestReport.statistics; + statistics = statistics.split("%"); + objTestReport.statistics = statistics[0]; + if (objTestReport.statistics == 0) { + objTestReport.statisticPer = parseInt(objTestReport.statistics) + 50; + } else + objTestReport.statisticPer = objTestReport.statistics; + } + + //fetching the avg time to show in progress bar + + if (objTestReport.avgTime != null) { + var avgTime = objTestReport.avgTime; + avgTime = avgTime.split("="); + var Testtime = avgTime[1]; + objTestReport.avgTime = Testtime.slice(0, -2).trim(); + console.log("--TestController::createTestModel--", objTestReport.avgTime); + if (objTestReport.avgTime < 50) { + objTestReport.avgTimePer = parseInt(objTestReport.avgTime) + 10; + } else + objTestReport.avgTimePer = objTestReport.avgTime; + + } + } + $scope.objPreTest.push(objTestReport); + console.log("--TestController::createTestModel--", JSON.stringify($scope.objPreTest)); + } + } + console.log("--TestController::createTestModel::final PreTestModel--" + JSON.stringify($scope.objPreTest)); + + } + +}]); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-viewreport-controller.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-viewreport-controller.js new file mode 100644 index 00000000..62158d57 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-controller/sdnc-viewreport-controller.js @@ -0,0 +1,169 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + +myApp.controller('ReportController', ['$scope', '$http', 'viewReportService', 'growl', function($scope, $http, viewReportService, growl) { + $scope.isDisabled = true; + $scope.pagination = false; + $scope.selectedDevice; + $scope.ShowResult = false; + $scope.dateValidation = false; + $scope.NoSearchResult = false; + $scope.showError = false; + $scope.errorMessage = ""; + $scope.showSuccess = false; + $scope.successMessage = ""; + $scope.showWarning = false; + $scope.warningMessage = ""; + $scope.showExecutionDetails = true; + + //THIS FUNCTION WILL BE CALLED WHEN USER CLICK SUBMIT FROM UI + $scope.getReports = function(deviceIP, startdate, enddate) { + + $scope.ShowResult = false; + if (new Date(startdate) > new Date(enddate)) { + $scope.dateValidation = true; + $scope.showError = true; + $scope.errorMessage = "Start date cannot be greated than End date"; + growl.error($scope.errorMessage, { + title: 'Error!' + }); + return false; + } + var date = new Date(startdate); + if (angular.isDefined(deviceIP)) { + $scope.DeviceIP = deviceIP; + } + if (angular.isDefined(startdate)) { + $scope.startDate = startdate; + } + if (angular.isDefined(enddate)) { + $scope.endDate = enddate; + } + + if (deviceIP != null && startdate != null && enddate != null) { + + //service call to fetch the reports start date,end date,test name + viewReportService.getData($scope.startDate, $scope.endDate, $scope.DeviceIP).then(function(result) { + console.log("--ReportController::getdata called from controler--", JSON.stringify(result.data)); + if (result.status == 200) { + if (result.data != null && result.data.length >= 1) { + + //in case of success, build the model object to store the service output here + $scope.createTestReportModel(result.data); + } else { + $scope.ShowResult = false; + $scope.showWarning = true; + $scope.warningMessage = "No result found for specified Device name !!"; + growl.warning($scope.warningMessage, { + title: 'Warning!' + }); + } + } else { + $scope.ShowResult = false; + $scope.showWarning = true; + $scope.warningMessage = "No result found for specified Device name !!"; + growl.warning($scope.warningMessage, { + title: 'Warning!' + }); + } + }, + function(response) { + console.log("--ReportController::getdata::Error--", response); + }); + } + } + + + //FUNCTION WILL BE CALLED WHEN USER CLICK DOWNLOAD FROM UI + $scope.exportToExcel = function(tableId) { // ex: '#my-table' + var exportHref = Excel.tableToExcel(tableId, 'export'); + $timeout(function() { + location.href = exportHref; + }, 100); // trigger download + + console.log("--ReportController::exportToexcel--"); + } + + $scope.createTestReportModel = function(result) { + + $scope.showError = false; + $scope.showWarning = false; + $scope.objTestReportModel = result; + $scope.objTestModel = []; + + + if ($scope.objTestReportModel.length >= 1) { + for (var i = 0; i < $scope.objTestReportModel.length; i++) { + var objTestReport = {}; + objTestReport.testid = $scope.objTestReportModel[i].testid; + objTestReport.deviceid = $scope.objTestReportModel[i].deviceid; + objTestReport.deviceIP = $scope.objTestReportModel[i].deviceIP; + objTestReport.result = $scope.objTestReportModel[i].result; + objTestReport.timeStamp = $scope.objTestReportModel[i].timeStamp; + objTestReport.testname = $scope.objTestReportModel[i].testName; + + var executionDetails = {}; + $scope.tmp = angular.fromJson($scope.objTestReportModel[i].execuationDetails); + executionDetails = $scope.tmp.output; + + if ($scope.objTestReportModel[i].testName === "Network Layer") { + + //fetching the statistics to show in progress bar + var statistics = executionDetails.statistics; + objTestReport.status = executionDetails.status; + objTestReport.statistics = executionDetails.statistics; + statistics = statistics.split("%"); + executionDetails.statistics = statistics[0]; + if (executionDetails.statistics == 0) { + executionDetails.statisticPer = parseInt(executionDetails.statistics) + 50; + } else + executionDetails.statisticPer = executionDetails.statistics; + + console.log("--ReportController::CreateTestReportModel--", executionDetails.statistics); + + //fetching the avg time to show in progress bar + + var avgTime = executionDetails.avgTime; + objTestReport.avgTime = executionDetails.avgTime; + avgTime = avgTime.split("="); + var Testtime = avgTime[1]; + executionDetails.avgTime = Testtime.slice(0, -2).trim(); + console.log("--ReportController::CreateTestReportModel--", executionDetails.avgTime); + if (executionDetails.avgTime < 50) { + executionDetails.avgTimePer = parseInt(executionDetails.avgTime) + 10; + } else + executionDetails.avgTimePer = executionDetails.avgTime; + + } + + + objTestReport.executionDetails = executionDetails; + $scope.objTestModel.push(objTestReport); + console.log("--ReportController::CreateTestReportModel--", JSON.stringify($scope.objTestModel)); + + } + $scope.ShowResult = true; + $scope.pagination = true; + } + console.log("--ReportController::createTestReportModel::final TestReportModel--" + JSON.stringify($scope.objTestModel)); + $scope.csvOrder = ['testname', 'deviceIP', 'timeStamp', 'status', 'statistics', 'avgTime', 'result']; + + } +}]); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-validationTest-service.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-validationTest-service.js new file mode 100644 index 00000000..aa985ac3 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-validationTest-service.js @@ -0,0 +1,62 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ +myApp.service('validationTestService', ['$http', function($http) { + + this.runPretest = function(vnfList, validationTestType) { + + + var data = {}; + data.vnfList = vnfList; + data.validationTestType = validationTestType; + + var config = { + params: data, + headers: { + 'Accept': 'application/json' + } + }; + + console.log("validationTestService::runPretest::config", JSON.stringify(config)); + + // Call the pre validation service + var request = { + method: 'POST', + url: '/runtest', + data: data, + headers: { + 'Content-Type': "application/json" + } + }; + + // // SEND VNF FOR VALIDATION + return $http(request) + .then(function(response) { + console.log("---validationTestService::runPretest::Response---" + JSON.stringify(response)); + return response; + }, + function(response) { + console.log("--validationTestService::Status Code--", response.status); + return response; + }); + + + } + +}]); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-viewReport-service.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-viewReport-service.js new file mode 100644 index 00000000..de22ff3c --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/js/sdnc-services/sdnc-viewReport-service.js @@ -0,0 +1,53 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* ============LICENSE_END========================================================= +*/ + +myApp.service('viewReportService', ['$http', function($http) { + this.getData = function(startDate, endDate, deviceName) { + + var data = {}; + if (startDate != null && endDate != null && deviceName != null) { + + data.startdate = startDate; + data.enddate = endDate; + data.devicename = deviceName; + + } + var config = { + params: '', + headers: { + 'Accept': 'application/json' + } + }; + + var sdate = new Date(startDate); + var edate = new Date(endDate); + + var objTestList = {}; + + return $http.get('/findReportByDeviceIP/'+sdate+'/'+edate+'/'+deviceName,config) + .then(function(result) { + console.log("--viewReportService::getdata::TestResponse--", JSON.stringify(result)); + objTestList = result.data; + console.log("--viewReportService::getdata::TestResponse--", +JSON.stringify(objTestList)); + return result; + }); + }; + +}]); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.css b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.css new file mode 100644 index 00000000..4b326d1e --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.css @@ -0,0 +1,7 @@ +/** + * angular-growl - v0.4.0 - 2013-11-19 + * https://github.com/marcorinck/angular-growl + * Copyright (c) 2013 Marco Rinck; Licensed MIT + */ + +.growl{position:fixed;top:10px;right:10px;float:right;width:250px}.growl-item.ng-enter,.growl-item.ng-leave{-webkit-transition:.5s linear all;-moz-transition:.5s linear all;-o-transition:.5s linear all;transition:.5s linear all}.growl-item.ng-enter,.growl-item.ng-leave.ng-leave-active{opacity:0}.growl-item.ng-leave,.growl-item.ng-enter.ng-enter-active{opacity:1} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.js new file mode 100644 index 00000000..e07b22bc --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-growl.min.js @@ -0,0 +1,6 @@ +/** + * angular-growl - v0.4.0 - 2013-11-19 + * https://github.com/marcorinck/angular-growl + * Copyright (c) 2013 Marco Rinck; Licensed MIT + */ +angular.module("angular-growl",[]),angular.module("angular-growl").directive("growl",["$rootScope",function(a){"use strict";return{restrict:"A",template:'
',replace:!1,scope:!0,controller:["$scope","$timeout","growl",function(b,c,d){function e(a){b.messages.push(a),a.ttl&&-1!==a.ttl&&c(function(){b.deleteMessage(a)},a.ttl)}var f=d.onlyUnique();b.messages=[],a.$on("growlMessage",function(a,c){var d;f?(angular.forEach(b.messages,function(a){c.text===a.text&&c.severity===a.severity&&(d=!0)}),d||e(c)):e(c)}),b.deleteMessage=function(a){var c=b.messages.indexOf(a);c>-1&&b.messages.splice(c,1)},b.computeClasses=function(a){return{"alert-success":"success"===a.severity,"alert-error":"error"===a.severity,"alert-danger":"error"===a.severity,"alert-info":"info"===a.severity,"alert-warning":"warn"===a.severity}}}]}}]),angular.module("angular-growl").provider("growl",function(){"use strict";var a=null,b=!1,c="messages",d="text",e="severity",f=!0;this.globalTimeToLive=function(b){a=b},this.globalEnableHtml=function(a){b=a},this.messagesKey=function(a){c=a},this.messageTextKey=function(a){d=a},this.messageSeverityKey=function(a){e=a},this.onlyUniqueMessages=function(a){f=a},this.serverMessagesInterceptor=["$q","growl",function(a,b){function d(a){a.data[c]&&a.data[c].length>0&&b.addServerMessages(a.data[c])}function e(a){return d(a),a}function f(b){return d(b),a.reject(b)}return function(a){return a.then(e,f)}}],this.$get=["$rootScope","$filter",function(c,g){function h(a){p&&(a.text=p(a.text)),c.$broadcast("growlMessage",a)}function i(c,d,e){var f,g=d||{};f={text:c,severity:e,ttl:g.ttl||a,enableHtml:g.enableHtml||b},h(f)}function j(a,b){i(a,b,"warn")}function k(a,b){i(a,b,"error")}function l(a,b){i(a,b,"info")}function m(a,b){i(a,b,"success")}function n(a){var b,c,f,g;for(g=a.length,b=0;g>b;b++)if(c=a[b],c[d]&&c[e]){switch(c[e]){case"warn":f="warn";break;case"success":f="success";break;case"info":f="info";break;case"error":f="error"}i(c[d],void 0,f)}}function o(){return f}var p;try{p=g("translate")}catch(q){}return{addWarnMessage:j,addErrorMessage:k,addInfoMessage:l,addSuccessMessage:m,addServerMessages:n,onlyUnique:o}}]}); diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-route.min.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-route.min.js new file mode 100644 index 00000000..a30b8ab9 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-route.min.js @@ -0,0 +1,15 @@ +/* + AngularJS v1.3.14 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(q,d,C){'use strict';function v(r,k,h){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,f,b,c,y){function z(){l&&(h.cancel(l),l=null);m&&(m.$destroy(),m=null);n&&(l=h.leave(n),l.then(function(){l=null}),n=null)}function x(){var b=r.current&&r.current.locals;if(d.isDefined(b&&b.$template)){var b=a.$new(),c=r.current;n=y(b,function(b){h.enter(b,null,n||f).then(function(){!d.isDefined(t)||t&&!a.$eval(t)||k()});z()});m=c.scope=b;m.$emit("$viewContentLoaded"); +m.$eval(w)}else z()}var m,n,l,t=b.autoscroll,w=b.onload||"";a.$on("$routeChangeSuccess",x);x()}}}function A(d,k,h){return{restrict:"ECA",priority:-400,link:function(a,f){var b=h.current,c=b.locals;f.html(c.$template);var y=d(f.contents());b.controller&&(c.$scope=a,c=k(b.controller,c),b.controllerAs&&(a[b.controllerAs]=c),f.data("$ngControllerController",c),f.children().data("$ngControllerController",c));y(a)}}}q=d.module("ngRoute",["ng"]).provider("$route",function(){function r(a,f){return d.extend(Object.create(a), +f)}function k(a,d){var b=d.caseInsensitiveMatch,c={originalPath:a,regexp:a},h=c.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,d,b,c){a="?"===c?c:null;c="*"===c?c:null;h.push({name:b,optional:!!a});d=d||"";return""+(a?"":d)+"(?:"+(a?d:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");c.regexp=new RegExp("^"+a+"$",b?"i":"");return c}var h={};this.when=function(a,f){var b=d.copy(f);d.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0); +d.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);h[a]=d.extend(b,a&&k(a,b));if(a){var c="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";h[c]=d.extend({redirectTo:a},k(c,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,f,b,c,k,q,x){function m(b){var e=s.current; +(v=(p=l())&&e&&p.$$route===e.$$route&&d.equals(p.pathParams,e.pathParams)&&!p.reloadOnSearch&&!w)||!e&&!p||a.$broadcast("$routeChangeStart",p,e).defaultPrevented&&b&&b.preventDefault()}function n(){var u=s.current,e=p;if(v)u.params=e.params,d.copy(u.params,b),a.$broadcast("$routeUpdate",u);else if(e||u)w=!1,(s.current=e)&&e.redirectTo&&(d.isString(e.redirectTo)?f.path(t(e.redirectTo,e.params)).search(e.params).replace():f.url(e.redirectTo(e.pathParams,f.path(),f.search())).replace()),c.when(e).then(function(){if(e){var a= +d.extend({},e.resolve),b,g;d.forEach(a,function(b,e){a[e]=d.isString(b)?k.get(b):k.invoke(b,null,null,e)});d.isDefined(b=e.template)?d.isFunction(b)&&(b=b(e.params)):d.isDefined(g=e.templateUrl)&&(d.isFunction(g)&&(g=g(e.params)),g=x.getTrustedResourceUrl(g),d.isDefined(g)&&(e.loadedTemplateUrl=g,b=q(g)));d.isDefined(b)&&(a.$template=b);return c.all(a)}}).then(function(c){e==s.current&&(e&&(e.locals=c,d.copy(e.params,b)),a.$broadcast("$routeChangeSuccess",e,u))},function(b){e==s.current&&a.$broadcast("$routeChangeError", +e,u,b)})}function l(){var a,b;d.forEach(h,function(c,h){var g;if(g=!b){var k=f.path();g=c.keys;var m={};if(c.regexp)if(k=c.regexp.exec(k)){for(var l=1,n=k.length;l=c;d--)e.end&&e.end(f[d]);f.length=c}}"string"!==typeof a&&(a=null===a||"undefined"===typeof a?"":""+a);var b,k,f=[],m=a,l;for(f.last=function(){return f[f.length-1]};a;){l="";k=!0;if(f.last()&&w[f.last()])a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+f.last()+"[^>]*>","i"),function(a,b){b=b.replace(H,"$1").replace(I,"$1");e.chars&&e.chars(q(b));return""}),c("",f.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e",b)===b&&(e.comment&& +e.comment(a.substring(4,b)),a=a.substring(b+3),k=!1);else if(x.test(a)){if(b=a.match(x))a=a.replace(b[0],""),k=!1}else if(J.test(a)){if(b=a.match(y))a=a.substring(b[0].length),b[0].replace(y,c),k=!1}else K.test(a)&&((b=a.match(z))?(b[4]&&(a=a.substring(b[0].length),b[0].replace(z,d)),k=!1):(l+="<",a=a.substring(1)));k&&(b=a.indexOf("<"),l+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),e.chars&&e.chars(q(l)))}if(a==m)throw L("badparse",a);m=a}c()}function q(a){if(!a)return"";A.innerHTML=a.replace(//g,">")}function r(a,e){var d=!1,c=h.bind(a,a.push);return{start:function(a,k,f){a=h.lowercase(a);!d&&w[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(k,function(d,f){var k=h.lowercase(f),g="img"===a&&"src"===k||"background"=== +k;!0!==O[k]||!0===D[k]&&!e(d,g)||(c(" "),c(f),c('="'),c(B(d)),c('"'))}),c(f?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c(""));a==d&&(d=!1)},chars:function(a){d||c(B(a))}}}var L=h.$$minErr("$sanitize"),z=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,y=/^<\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^]*?)>/i, +I=/"\u201d\u2019]/,d=/^mailto:/;return function(c,b){function k(a){a&&g.push(E(a))}function f(a,c){g.push("');k(c);g.push("")}if(!c)return c;for(var m,l=c,g=[],n,p;m=l.match(e);)n=m[0],m[2]||m[4]||(n=(m[3]?"http://":"mailto:")+n),p=m.index,k(l.substr(0,p)),f(n,m[0].replace(d,"")),l=l.substring(p+m[0].length);k(l);return a(g.join(""))}}])})(window,window.angular); +//# sourceMappingURL=angular-sanitize.min.js.map \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-utils-pagination/dirPagination.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-utils-pagination/dirPagination.js new file mode 100644 index 00000000..a1a72652 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular-utils-pagination/dirPagination.js @@ -0,0 +1,639 @@ +/** + * dirPagination - AngularJS module for paginating (almost) anything. + * + * + * Credits + * ======= + * + * Daniel Tabuenca: https://groups.google.com/d/msg/angular/an9QpzqIYiM/r8v-3W1X5vcJ + * for the idea on how to dynamically invoke the ng-repeat directive. + * + * I borrowed a couple of lines and a few attribute names from the AngularUI Bootstrap project: + * https://github.com/angular-ui/bootstrap/blob/master/src/pagination/pagination.js + * + * Copyright 2014 Michael Bromley + */ + +(function() { + + /** + * Config + */ + var moduleName = 'angularUtils.directives.dirPagination'; + var DEFAULT_ID = '__default'; + + /** + * Module + */ + angular.module(moduleName, []) + .directive('dirPaginate', ['$compile', '$parse', 'paginationService', dirPaginateDirective]) + .directive('dirPaginateNoCompile', noCompileDirective) + .directive('dirPaginationControls', ['paginationService', 'paginationTemplate', dirPaginationControlsDirective]) + .filter('itemsPerPage', ['paginationService', itemsPerPageFilter]) + .service('paginationService', paginationService) + .provider('paginationTemplate', paginationTemplateProvider) + .run(['$templateCache',dirPaginationControlsTemplateInstaller]); + + function dirPaginateDirective($compile, $parse, paginationService) { + + return { + terminal: true, + multiElement: true, + priority: 100, + compile: dirPaginationCompileFn + }; + + function dirPaginationCompileFn(tElement, tAttrs){ + + var expression = tAttrs.dirPaginate; + // regex taken directly from https://github.com/angular/angular.js/blob/v1.4.x/src/ng/directive/ngRepeat.js#L339 + var match = expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/); + + var filterPattern = /\|\s*itemsPerPage\s*:\s*(.*\(\s*\w*\)|([^\)]*?(?=\s+as\s+))|[^\)]*)/; + if (match[2].match(filterPattern) === null) { + throw 'pagination directive: the \'itemsPerPage\' filter must be set.'; + } + var itemsPerPageFilterRemoved = match[2].replace(filterPattern, ''); + var collectionGetter = $parse(itemsPerPageFilterRemoved); + + addNoCompileAttributes(tElement); + + // If any value is specified for paginationId, we register the un-evaluated expression at this stage for the benefit of any + // dir-pagination-controls directives that may be looking for this ID. + var rawId = tAttrs.paginationId || DEFAULT_ID; + paginationService.registerInstance(rawId); + + return function dirPaginationLinkFn(scope, element, attrs){ + + // Now that we have access to the `scope` we can interpolate any expression given in the paginationId attribute and + // potentially register a new ID if it evaluates to a different value than the rawId. + var paginationId = $parse(attrs.paginationId)(scope) || attrs.paginationId || DEFAULT_ID; + + // (TODO: this seems sound, but I'm reverting as many bug reports followed it's introduction in 0.11.0. + // Needs more investigation.) + // In case rawId != paginationId we deregister using rawId for the sake of general cleanliness + // before registering using paginationId + // paginationService.deregisterInstance(rawId); + paginationService.registerInstance(paginationId); + + var repeatExpression = getRepeatExpression(expression, paginationId); + addNgRepeatToElement(element, attrs, repeatExpression); + + removeTemporaryAttributes(element); + var compiled = $compile(element); + + var currentPageGetter = makeCurrentPageGetterFn(scope, attrs, paginationId); + paginationService.setCurrentPageParser(paginationId, currentPageGetter, scope); + + if (typeof attrs.totalItems !== 'undefined') { + paginationService.setAsyncModeTrue(paginationId); + scope.$watch(function() { + return $parse(attrs.totalItems)(scope); + }, function (result) { + if (0 <= result) { + paginationService.setCollectionLength(paginationId, result); + } + }); + } else { + paginationService.setAsyncModeFalse(paginationId); + scope.$watchCollection(function() { + return collectionGetter(scope); + }, function(collection) { + if (collection) { + var collectionLength = (collection instanceof Array) ? collection.length : Object.keys(collection).length; + paginationService.setCollectionLength(paginationId, collectionLength); + } + }); + } + + // Delegate to the link function returned by the new compilation of the ng-repeat + compiled(scope); + + // (TODO: Reverting this due to many bug reports in v 0.11.0. Needs investigation as the + // principle is sound) + // When the scope is destroyed, we make sure to remove the reference to it in paginationService + // so that it can be properly garbage collected + // scope.$on('$destroy', function destroyDirPagination() { + // paginationService.deregisterInstance(paginationId); + // }); + }; + } + + /** + * If a pagination id has been specified, we need to check that it is present as the second argument passed to + * the itemsPerPage filter. If it is not there, we add it and return the modified expression. + * + * @param expression + * @param paginationId + * @returns {*} + */ + function getRepeatExpression(expression, paginationId) { + var repeatExpression, + idDefinedInFilter = !!expression.match(/(\|\s*itemsPerPage\s*:[^|]*:[^|]*)/); + + if (paginationId !== DEFAULT_ID && !idDefinedInFilter) { + repeatExpression = expression.replace(/(\|\s*itemsPerPage\s*:\s*[^|\s]*)/, "$1 : '" + paginationId + "'"); + } else { + repeatExpression = expression; + } + + return repeatExpression; + } + + /** + * Adds the ng-repeat directive to the element. In the case of multi-element (-start, -end) it adds the + * appropriate multi-element ng-repeat to the first and last element in the range. + * @param element + * @param attrs + * @param repeatExpression + */ + function addNgRepeatToElement(element, attrs, repeatExpression) { + if (element[0].hasAttribute('dir-paginate-start') || element[0].hasAttribute('data-dir-paginate-start')) { + // using multiElement mode (dir-paginate-start, dir-paginate-end) + attrs.$set('ngRepeatStart', repeatExpression); + element.eq(element.length - 1).attr('ng-repeat-end', true); + } else { + attrs.$set('ngRepeat', repeatExpression); + } + } + + /** + * Adds the dir-paginate-no-compile directive to each element in the tElement range. + * @param tElement + */ + function addNoCompileAttributes(tElement) { + angular.forEach(tElement, function(el) { + if (el.nodeType === 1) { + angular.element(el).attr('dir-paginate-no-compile', true); + } + }); + } + + /** + * Removes the variations on dir-paginate (data-, -start, -end) and the dir-paginate-no-compile directives. + * @param element + */ + function removeTemporaryAttributes(element) { + angular.forEach(element, function(el) { + if (el.nodeType === 1) { + angular.element(el).removeAttr('dir-paginate-no-compile'); + } + }); + element.eq(0).removeAttr('dir-paginate-start').removeAttr('dir-paginate').removeAttr('data-dir-paginate-start').removeAttr('data-dir-paginate'); + element.eq(element.length - 1).removeAttr('dir-paginate-end').removeAttr('data-dir-paginate-end'); + } + + /** + * Creates a getter function for the current-page attribute, using the expression provided or a default value if + * no current-page expression was specified. + * + * @param scope + * @param attrs + * @param paginationId + * @returns {*} + */ + function makeCurrentPageGetterFn(scope, attrs, paginationId) { + var currentPageGetter; + if (attrs.currentPage) { + currentPageGetter = $parse(attrs.currentPage); + } else { + // If the current-page attribute was not set, we'll make our own. + // Replace any non-alphanumeric characters which might confuse + // the $parse service and give unexpected results. + // See https://github.com/michaelbromley/angularUtils/issues/233 + var defaultCurrentPage = (paginationId + '__currentPage').replace(/\W/g, '_'); + scope[defaultCurrentPage] = 1; + currentPageGetter = $parse(defaultCurrentPage); + } + return currentPageGetter; + } + } + + /** + * This is a helper directive that allows correct compilation when in multi-element mode (ie dir-paginate-start, dir-paginate-end). + * It is dynamically added to all elements in the dir-paginate compile function, and it prevents further compilation of + * any inner directives. It is then removed in the link function, and all inner directives are then manually compiled. + */ + function noCompileDirective() { + return { + priority: 5000, + terminal: true + }; + } + + function dirPaginationControlsTemplateInstaller($templateCache) { + $templateCache.put('angularUtils.directives.dirPagination.template', ''); + } + + function dirPaginationControlsDirective(paginationService, paginationTemplate) { + + var numberRegex = /^\d+$/; + + var DDO = { + restrict: 'AE', + scope: { + maxSize: '=?', + onPageChange: '&?', + paginationId: '=?', + autoHide: '=?' + }, + link: dirPaginationControlsLinkFn + }; + + // We need to check the paginationTemplate service to see whether a template path or + // string has been specified, and add the `template` or `templateUrl` property to + // the DDO as appropriate. The order of priority to decide which template to use is + // (highest priority first): + // 1. paginationTemplate.getString() + // 2. attrs.templateUrl + // 3. paginationTemplate.getPath() + var templateString = paginationTemplate.getString(); + if (templateString !== undefined) { + DDO.template = templateString; + } else { + DDO.templateUrl = function(elem, attrs) { + return attrs.templateUrl || paginationTemplate.getPath(); + }; + } + return DDO; + + function dirPaginationControlsLinkFn(scope, element, attrs) { + + // rawId is the un-interpolated value of the pagination-id attribute. This is only important when the corresponding dir-paginate directive has + // not yet been linked (e.g. if it is inside an ng-if block), and in that case it prevents this controls directive from assuming that there is + // no corresponding dir-paginate directive and wrongly throwing an exception. + var rawId = attrs.paginationId || DEFAULT_ID; + var paginationId = scope.paginationId || attrs.paginationId || DEFAULT_ID; + + if (!paginationService.isRegistered(paginationId) && !paginationService.isRegistered(rawId)) { + var idMessage = (paginationId !== DEFAULT_ID) ? ' (id: ' + paginationId + ') ' : ' '; + if (window.console) { + console.warn('Pagination directive: the pagination controls' + idMessage + 'cannot be used without the corresponding pagination directive, which was not found at link time.'); + } + } + + if (!scope.maxSize) { scope.maxSize = 9; } + scope.autoHide = scope.autoHide === undefined ? true : scope.autoHide; + scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : true; + scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : false; + + var paginationRange = Math.max(scope.maxSize, 5); + scope.pages = []; + scope.pagination = { + last: 1, + current: 1 + }; + scope.range = { + lower: 1, + upper: 1, + total: 1 + }; + + scope.$watch('maxSize', function(val) { + if (val) { + paginationRange = Math.max(scope.maxSize, 5); + generatePagination(); + } + }); + + scope.$watch(function() { + if (paginationService.isRegistered(paginationId)) { + return (paginationService.getCollectionLength(paginationId) + 1) * paginationService.getItemsPerPage(paginationId); + } + }, function(length) { + if (0 < length) { + generatePagination(); + } + }); + + scope.$watch(function() { + if (paginationService.isRegistered(paginationId)) { + return (paginationService.getItemsPerPage(paginationId)); + } + }, function(current, previous) { + if (current != previous && typeof previous !== 'undefined') { + goToPage(scope.pagination.current); + } + }); + + scope.$watch(function() { + if (paginationService.isRegistered(paginationId)) { + return paginationService.getCurrentPage(paginationId); + } + }, function(currentPage, previousPage) { + if (currentPage != previousPage) { + goToPage(currentPage); + } + }); + + scope.setCurrent = function(num) { + if (paginationService.isRegistered(paginationId) && isValidPageNumber(num)) { + num = parseInt(num, 10); + paginationService.setCurrentPage(paginationId, num); + } + }; + + /** + * Custom "track by" function which allows for duplicate "..." entries on long lists, + * yet fixes the problem of wrongly-highlighted links which happens when using + * "track by $index" - see https://github.com/michaelbromley/angularUtils/issues/153 + * @param id + * @param index + * @returns {string} + */ + scope.tracker = function(id, index) { + return id + '_' + index; + }; + + function goToPage(num) { + if (paginationService.isRegistered(paginationId) && isValidPageNumber(num)) { + var oldPageNumber = scope.pagination.current; + + scope.pages = generatePagesArray(num, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange); + scope.pagination.current = num; + updateRangeValues(); + + // if a callback has been set, then call it with the page number as the first argument + // and the previous page number as a second argument + if (scope.onPageChange) { + scope.onPageChange({ + newPageNumber : num, + oldPageNumber : oldPageNumber + }); + } + } + } + + function generatePagination() { + if (paginationService.isRegistered(paginationId)) { + var page = parseInt(paginationService.getCurrentPage(paginationId)) || 1; + scope.pages = generatePagesArray(page, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange); + scope.pagination.current = page; + scope.pagination.last = scope.pages[scope.pages.length - 1]; + if (scope.pagination.last < scope.pagination.current) { + scope.setCurrent(scope.pagination.last); + } else { + updateRangeValues(); + } + } + } + + /** + * This function updates the values (lower, upper, total) of the `scope.range` object, which can be used in the pagination + * template to display the current page range, e.g. "showing 21 - 40 of 144 results"; + */ + function updateRangeValues() { + if (paginationService.isRegistered(paginationId)) { + var currentPage = paginationService.getCurrentPage(paginationId), + itemsPerPage = paginationService.getItemsPerPage(paginationId), + totalItems = paginationService.getCollectionLength(paginationId); + + scope.range.lower = (currentPage - 1) * itemsPerPage + 1; + scope.range.upper = Math.min(currentPage * itemsPerPage, totalItems); + scope.range.total = totalItems; + } + } + function isValidPageNumber(num) { + return (numberRegex.test(num) && (0 < num && num <= scope.pagination.last)); + } + } + + /** + * Generate an array of page numbers (or the '...' string) which is used in an ng-repeat to generate the + * links used in pagination + * + * @param currentPage + * @param rowsPerPage + * @param paginationRange + * @param collectionLength + * @returns {Array} + */ + function generatePagesArray(currentPage, collectionLength, rowsPerPage, paginationRange) { + var pages = []; + var totalPages = Math.ceil(collectionLength / rowsPerPage); + var halfWay = Math.ceil(paginationRange / 2); + var position; + + if (currentPage <= halfWay) { + position = 'start'; + } else if (totalPages - halfWay < currentPage) { + position = 'end'; + } else { + position = 'middle'; + } + + var ellipsesNeeded = paginationRange < totalPages; + var i = 1; + while (i <= totalPages && i <= paginationRange) { + var pageNumber = calculatePageNumber(i, currentPage, paginationRange, totalPages); + + var openingEllipsesNeeded = (i === 2 && (position === 'middle' || position === 'end')); + var closingEllipsesNeeded = (i === paginationRange - 1 && (position === 'middle' || position === 'start')); + if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) { + pages.push('...'); + } else { + pages.push(pageNumber); + } + i ++; + } + return pages; + } + + /** + * Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position. + * + * @param i + * @param currentPage + * @param paginationRange + * @param totalPages + * @returns {*} + */ + function calculatePageNumber(i, currentPage, paginationRange, totalPages) { + var halfWay = Math.ceil(paginationRange/2); + if (i === paginationRange) { + return totalPages; + } else if (i === 1) { + return i; + } else if (paginationRange < totalPages) { + if (totalPages - halfWay < currentPage) { + return totalPages - paginationRange + i; + } else if (halfWay < currentPage) { + return currentPage - halfWay + i; + } else { + return i; + } + } else { + return i; + } + } + } + + /** + * This filter slices the collection into pages based on the current page number and number of items per page. + * @param paginationService + * @returns {Function} + */ + function itemsPerPageFilter(paginationService) { + + return function(collection, itemsPerPage, paginationId) { + if (typeof (paginationId) === 'undefined') { + paginationId = DEFAULT_ID; + } + if (!paginationService.isRegistered(paginationId)) { + throw 'pagination directive: the itemsPerPage id argument (id: ' + paginationId + ') does not match a registered pagination-id.'; + } + var end; + var start; + if (angular.isObject(collection)) { + itemsPerPage = parseInt(itemsPerPage) || 9999999999; + if (paginationService.isAsyncMode(paginationId)) { + start = 0; + } else { + start = (paginationService.getCurrentPage(paginationId) - 1) * itemsPerPage; + } + end = start + itemsPerPage; + paginationService.setItemsPerPage(paginationId, itemsPerPage); + + if (collection instanceof Array) { + // the array just needs to be sliced + return collection.slice(start, end); + } else { + // in the case of an object, we need to get an array of keys, slice that, then map back to + // the original object. + var slicedObject = {}; + angular.forEach(keys(collection).slice(start, end), function(key) { + slicedObject[key] = collection[key]; + }); + return slicedObject; + } + } else { + return collection; + } + }; + } + + /** + * Shim for the Object.keys() method which does not exist in IE < 9 + * @param obj + * @returns {Array} + */ + function keys(obj) { + if (!Object.keys) { + var objKeys = []; + for (var i in obj) { + if (obj.hasOwnProperty(i)) { + objKeys.push(i); + } + } + return objKeys; + } else { + return Object.keys(obj); + } + } + + /** + * This service allows the various parts of the module to communicate and stay in sync. + */ + function paginationService() { + + var instances = {}; + var lastRegisteredInstance; + + this.registerInstance = function(instanceId) { + if (typeof instances[instanceId] === 'undefined') { + instances[instanceId] = { + asyncMode: false + }; + lastRegisteredInstance = instanceId; + } + }; + + this.deregisterInstance = function(instanceId) { + delete instances[instanceId]; + }; + + this.isRegistered = function(instanceId) { + return (typeof instances[instanceId] !== 'undefined'); + }; + + this.getLastInstanceId = function() { + return lastRegisteredInstance; + }; + + this.setCurrentPageParser = function(instanceId, val, scope) { + instances[instanceId].currentPageParser = val; + instances[instanceId].context = scope; + }; + this.setCurrentPage = function(instanceId, val) { + instances[instanceId].currentPageParser.assign(instances[instanceId].context, val); + }; + this.getCurrentPage = function(instanceId) { + var parser = instances[instanceId].currentPageParser; + return parser ? parser(instances[instanceId].context) : 1; + }; + + this.setItemsPerPage = function(instanceId, val) { + instances[instanceId].itemsPerPage = val; + }; + this.getItemsPerPage = function(instanceId) { + return instances[instanceId].itemsPerPage; + }; + + this.setCollectionLength = function(instanceId, val) { + instances[instanceId].collectionLength = val; + }; + this.getCollectionLength = function(instanceId) { + return instances[instanceId].collectionLength; + }; + + this.setAsyncModeTrue = function(instanceId) { + instances[instanceId].asyncMode = true; + }; + + this.setAsyncModeFalse = function(instanceId) { + instances[instanceId].asyncMode = false; + }; + + this.isAsyncMode = function(instanceId) { + return instances[instanceId].asyncMode; + }; + } + + /** + * This provider allows global configuration of the template path used by the dir-pagination-controls directive. + */ + function paginationTemplateProvider() { + + var templatePath = 'angularUtils.directives.dirPagination.template'; + var templateString; + + /** + * Set a templateUrl to be used by all instances of + * @param {String} path + */ + this.setPath = function(path) { + templatePath = path; + }; + + /** + * Set a string of HTML to be used as a template by all instances + * of . If both a path *and* a string have been set, + * the string takes precedence. + * @param {String} str + */ + this.setString = function(str) { + templateString = str; + }; + + this.$get = function() { + return { + getPath: function() { + return templatePath; + }, + getString: function() { + return templateString; + } + }; + }; + } +})(); diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular.min.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular.min.js new file mode 100644 index 00000000..7f3704c9 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angular.min.js @@ -0,0 +1,250 @@ +/* + AngularJS v1.3.14 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(P,X,u){'use strict';function M(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.3.14/"+(b?b+"/":"")+a;for(a=1;a").append(b).html();try{return b[0].nodeType===qb?R(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+R(b)})}catch(d){return R(c)}}function qc(b){try{return decodeURIComponent(b)}catch(a){}}function rc(b){var a= +{},c,d;s((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=qc(c[0]),y(d)&&(b=y(c[1])?qc(c[1]):!0,sc.call(a,d)?E(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Qb(b){var a=[];s(b,function(b,d){E(b)?s(b,function(b){a.push(Fa(d,!0)+(!0===b?"":"="+Fa(b,!0)))}):a.push(Fa(d,!0)+(!0===b?"":"="+Fa(b,!0)))});return a.length?a.join("&"):""}function rb(b){return Fa(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Fa(b,a){return encodeURIComponent(b).replace(/%40/gi, +"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Id(b,a){var c,d,e=sb.length;b=C(b);for(d=0;d/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=ab(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector", +d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;P&&e.test(P.name)&&(c.debugInfoEnabled=!0,P.name=P.name.replace(e,""));if(P&&!f.test(P.name))return d();P.name=P.name.replace(f,"");aa.resumeBootstrap=function(b){s(b,function(b){a.push(b)});return d()};G(aa.resumeDeferredBootstrap)&&aa.resumeDeferredBootstrap()}function Kd(){P.name="NG_ENABLE_DEBUG_INFO!"+P.name;P.location.reload()}function Ld(b){b=aa.element(b).injector();if(!b)throw Ka("test");return b.get("$$testability")} +function uc(b,a){a=a||"_";return b.replace(Md,function(b,d){return(d?a:"")+b.toLowerCase()})}function Nd(){var b;vc||((ra=P.jQuery)&&ra.fn.on?(C=ra,w(ra.fn,{scope:La.scope,isolateScope:La.isolateScope,controller:La.controller,injector:La.injector,inheritedData:La.inheritedData}),b=ra.cleanData,ra.cleanData=function(a){var c;if(Rb)Rb=!1;else for(var d=0,e;null!=(e=a[d]);d++)(c=ra._data(e,"events"))&&c.$destroy&&ra(e).triggerHandler("$destroy");b(a)}):C=Q,aa.element=C,vc=!0)}function Sb(b,a,c){if(!b)throw Ka("areq", +a||"?",c||"required");return b}function tb(b,a,c){c&&E(b)&&(b=b[b.length-1]);Sb(G(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ma(b,a){if("hasOwnProperty"===b)throw Ka("badname",a);}function wc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g")+d[2];for(d=d[0];d--;)c=c.lastChild;f=Ya(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";s(f,function(a){e.appendChild(a)}); +return e}function Q(b){if(b instanceof Q)return b;var a;x(b)&&(b=T(b),a=!0);if(!(this instanceof Q)){if(a&&"<"!=b.charAt(0))throw Ub("nosel");return new Q(b)}if(a){a=X;var c;b=(c=gf.exec(b))?[a.createElement(c[1])]:(c=Gc(b,a))?c.childNodes:[]}Hc(this,b)}function Vb(b){return b.cloneNode(!0)}function xb(b,a){a||yb(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;d 4096 bytes)!"));else{if(p.cookie!==y)for(y=p.cookie,d=y.split("; "),wa={},f=0;fk&&this.remove(q.key),b},get:function(a){if(k").parent()[0])});var f=ba(a,b,a,c,d,e);F.$$addScopeClass(a);var g=null;return function(b, +c,d){Sb(b,"scope");d=d||{};var e=d.parentBoundTranscludeFn,h=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==ta(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?C(Xb(g,C("
").append(a).html())):c?La.clone.call(a):a;if(h)for(var l in h)d.data("$"+l+"Controller",h[l].instance);F.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function ba(a,b,c,d,e,f){function g(a,c,d,e){var f,l,k,q,p,r,D;if(n)for(D= +Array(c.length),q=0;qL.priority)break;if(U=L.scope)L.templateUrl||(J(U)?(Oa("new/isolated scope",I||N,L,w),I=L):Oa("new/isolated scope",I,L,w)),N=N||L;ca=L.name;!L.templateUrl&&L.controller&&(U=L.controller,H=H||{},Oa("'"+ca+"' controller",H[ca],L,w),H[ca]=L);if(U=L.transclude)ha=!0,L.$$tlb||(Oa("transclusion",wa,L,w),wa=L),"element"==U?(B=!0,v=L.priority,U=w,w=e.$$element=C(X.createComment(" "+ca+": "+e[ca]+" ")),d=w[0],V(g,Za.call(U, +0),d),R=F(U,f,v,l&&l.name,{nonTlbTranscludeDirective:wa})):(U=C(Vb(d)).contents(),w.empty(),R=F(U,f));if(L.template)if(fb=!0,Oa("template",ja,L,w),ja=L,U=G(L.template)?L.template(w,e):L.template,U=Tc(U),L.replace){l=L;U=Tb.test(U)?Uc(Xb(L.templateNamespace,T(U))):[];d=U[0];if(1!=U.length||d.nodeType!==na)throw ia("tplrt",ca,"");V(g,w,d);Aa={$attr:{}};U=W(d,[],Aa);var of=a.splice(Q+1,a.length-(Q+1));I&&z(U);a=a.concat(U).concat(of);Rc(e,Aa);Aa=a.length}else w.html(U);if(L.templateUrl)fb=!0,Oa("template", +ja,L,w),ja=L,L.replace&&(l=L),A=M(a.splice(Q,a.length-Q),w,e,g,ha&&R,k,p,{controllerDirectives:H,newIsolateScopeDirective:I,templateDirective:ja,nonTlbTranscludeDirective:wa}),Aa=a.length;else if(L.compile)try{P=L.compile(w,e,R),G(P)?r(null,P,Pa,$):P&&r(P.pre,P.post,Pa,$)}catch(aa){c(aa,ua(w))}L.terminal&&(A.terminal=!0,v=Math.max(v,L.priority))}A.scope=N&&!0===N.scope;A.transcludeOnThisElement=ha;A.elementTranscludeOnThisElement=B;A.templateOnThisElement=fb;A.transclude=R;n.hasElementTranscludeDirective= +B;return A}function z(a){for(var b=0,c=a.length;bq.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Pb(q,{$$start:l,$$end:k})),b.push(q),h=q)}catch(D){c(D)}}return h}function fb(b){if(d.hasOwnProperty(b))for(var c=a.get(b+"Directive"),e=0,f=c.length;e"+b+"";return c.childNodes[0].childNodes;default:return b}}function Q(a,b){if("srcdoc"== +b)return H.HTML;var c=ta(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return H.RESOURCE_URL}function Aa(a,c,d,e,f){var h=Q(a,e);f=g[e]||f;var k=b(d,!0,h,f);if(k){if("multiple"===e&&"select"===ta(a))throw ia("selmulti",ua(a));c.push({priority:100,compile:function(){return{pre:function(a,c,g){c=g.$$observers||(g.$$observers={});if(l.test(e))throw ia("nodomevents");var n=g[e];n!==d&&(k=n&&b(n,!0,h,f),d=n);k&&(g[e]=k(a),(c[e]||(c[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope|| +a).$watch(k,function(a,b){"class"===e&&a!=b?g.$updateClass(a,b):g.$set(e,a)}))}}}})}}function V(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g=a)return b;for(;a--;)8===b[a].nodeType&&pf.call(b,a,1);return b}function Fe(){var b={},a=!1,c=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,c){Ma(a,"controller");J(a)?w(b,a):b[a]=c};this.allowGlobals=function(){a= +!0};this.$get=["$injector","$window",function(d,e){function f(a,b,c,d){if(!a||!J(a.$scope))throw M("$controller")("noscp",d,b);a.$scope[b]=c}return function(g,h,l,k){var m,p,q;l=!0===l;k&&x(k)&&(q=k);if(x(g)){k=g.match(c);if(!k)throw qf("ctrlfmt",g);p=k[1];q=q||k[3];g=b.hasOwnProperty(p)?b[p]:wc(h.$scope,p,!0)||(a?wc(e,p,!0):u);tb(g,p,!0)}if(l)return l=(E(g)?g[g.length-1]:g).prototype,m=Object.create(l||null),q&&f(h,q,m,p||g.name),w(function(){d.invoke(g,m,h,p);return m},{instance:m,identifier:q}); +m=d.instantiate(g,h,p);q&&f(h,q,m,p||g.name);return m}}]}function Ge(){this.$get=["$window",function(b){return C(b.document)}]}function He(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Zb(b,a){if(x(b)){var c=b.replace(rf,"").trim();if(c){var d=a("Content-Type");(d=d&&0===d.indexOf(Wc))||(d=(d=c.match(sf))&&tf[d[0]].test(c));d&&(b=pc(c))}}return b}function Xc(b){var a=fa(),c,d,e;if(!b)return a;s(b.split("\n"),function(b){e=b.indexOf(":");c=R(T(b.substr(0, +e)));d=T(b.substr(e+1));c&&(a[c]=a[c]?a[c]+", "+d:d)});return a}function Yc(b){var a=J(b)?b:u;return function(c){a||(a=Xc(b));return c?(c=a[R(c)],void 0===c&&(c=null),c):a}}function Zc(b,a,c,d){if(G(d))return d(b,a,c);s(d,function(d){b=d(b,a,c)});return b}function Ke(){var b=this.defaults={transformResponse:[Zb],transformRequest:[function(a){return J(a)&&"[object File]"!==Da.call(a)&&"[object Blob]"!==Da.call(a)&&"[object FormData]"!==Da.call(a)?$a(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"}, +post:qa($b),put:qa($b),patch:qa($b)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},a=!1;this.useApplyAsync=function(b){return y(b)?(a=!!b,this):a};var c=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(d,e,f,g,h,l){function k(a){function c(a){var b=w({},a);b.data=a.data?Zc(a.data,a.headers,a.status,e.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:h.reject(b)}function d(a){var b,c={};s(a,function(a,d){G(a)?(b= +a(),null!=b&&(c[d]=b)):c[d]=a});return c}if(!aa.isObject(a))throw M("$http")("badreq",a);var e=w({method:"get",transformRequest:b.transformRequest,transformResponse:b.transformResponse},a);e.headers=function(a){var c=b.headers,e=w({},a.headers),f,g,c=w({},c.common,c[R(a.method)]);a:for(f in c){a=R(f);for(g in e)if(R(g)===a)continue a;e[f]=c[f]}return d(e)}(a);e.method=vb(e.method);var f=[function(a){var d=a.headers,e=Zc(a.data,Yc(d),u,a.transformRequest);z(e)&&s(d,function(a,b){"content-type"===R(b)&& +delete d[b]});z(a.withCredentials)&&!z(b.withCredentials)&&(a.withCredentials=b.withCredentials);return m(a,e).then(c,c)},u],g=h.when(e);for(s(t,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var l=f.shift(),g=g.then(a,l)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,e)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,e)}); +return g};return g}function m(c,f){function l(b,c,d,e){function f(){n(c,b,d,e)}N&&(200<=b&&300>b?N.put(I,[b,c,Xc(d),e]):N.remove(I));a?g.$applyAsync(f):(f(),g.$$phase||g.$apply())}function n(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?v.resolve:v.reject)({data:a,status:b,headers:Yc(d),config:c,statusText:e})}function m(a){n(a.data,a.status,qa(a.headers()),a.statusText)}function t(){var a=k.pendingRequests.indexOf(c);-1!==a&&k.pendingRequests.splice(a,1)}var v=h.defer(),A=v.promise,N,F,s=c.headers,I=p(c.url, +c.params);k.pendingRequests.push(c);A.then(t,t);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(N=J(c.cache)?c.cache:J(b.cache)?b.cache:q);N&&(F=N.get(I),y(F)?F&&G(F.then)?F.then(m,m):E(F)?n(F[1],F[0],qa(F[2]),F[3]):n(F,200,{},"OK"):N.put(I,A));z(F)&&((F=$c(c.url)?e.cookies()[c.xsrfCookieName||b.xsrfCookieName]:u)&&(s[c.xsrfHeaderName||b.xsrfHeaderName]=F),d(c.method,I,f,l,s,c.timeout,c.withCredentials,c.responseType));return A}function p(a,b){if(!b)return a;var c=[];Ed(b, +function(a,b){null===a||z(a)||(E(a)||(a=[a]),s(a,function(a){J(a)&&(a=pa(a)?a.toISOString():$a(a));c.push(Fa(b)+"="+Fa(a))}))});0=l&&(r.resolve(q),p(S.$$intervalId),delete f[S.$$intervalId]);t||b.$apply()},h);f[S.$$intervalId]=r;return S}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]} +function Rd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), +DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function bc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=rb(b[a]);return b.join("/")}function ad(b,a){var c=Ba(b);a.$$protocol= +c.protocol;a.$$host=c.hostname;a.$$port=$(c.port)||wf[c.protocol]||null}function bd(b,a){var c="/"!==b.charAt(0);c&&(b="/"+b);var d=Ba(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=rc(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function za(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ha(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Gb(b){return b.replace(/(#.+)|#$/, +"$1")}function cc(b){return b.substr(0,Ha(b).lastIndexOf("/")+1)}function dc(b,a){this.$$html5=!0;a=a||"";var c=cc(b);ad(b,this);this.$$parse=function(a){var b=za(c,a);if(!x(b))throw Hb("ipthprfx",a,c);bd(b,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Qb(this.$$search),b=this.$$hash?"#"+rb(this.$$hash):"";this.$$url=bc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)), +!0;var f,g;(f=za(b,d))!==u?(g=f,g=(f=za(a,f))!==u?c+(za("/",f)||f):b+g):(f=za(c,d))!==u?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function ec(b,a){var c=cc(b);ad(b,this);this.$$parse=function(d){d=za(b,d)||za(c,d);var e;"#"===d.charAt(0)?(e=za(a,d),z(e)&&(e=d)):e=this.$$html5?d:"";bd(e,this);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Qb(this.$$search),e=this.$$hash? +"#"+rb(this.$$hash):"";this.$$url=bc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Ha(b)==Ha(a)?(this.$$parse(a),!0):!1}}function cd(b,a){this.$$html5=!0;ec.apply(this,arguments);var c=cc(b);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;b==Ha(d)?f=d:(g=za(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c=Qb(this.$$search),e=this.$$hash?"#"+rb(this.$$hash): +"";this.$$url=bc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function Ib(b){return function(){return this[b]}}function dd(b,a){return function(c){if(z(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Me(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return y(a)?(b=a,this):b};this.html5Mode=function(b){return Wa(b)?(a.enabled=b,this):J(b)?(Wa(b.enabled)&&(a.enabled=b.enabled),Wa(b.requireBase)&&(a.requireBase=b.requireBase),Wa(b.rewriteLinks)&& +(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function l(a,b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,m;m=d.baseHref();var p=d.url(),q;if(a.enabled){if(!m&&a.requireBase)throw Hb("nobase");q=p.substring(0,p.indexOf("/",p.indexOf("//")+2))+(m||"/");m=e.history?dc:cd}else q= +Ha(p),m=ec;k=new m(q,"#"+b);k.$$parseLinkUrl(p,p);k.$$state=d.state();var t=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&!b.shiftKey&&2!=b.which&&2!=b.button){for(var e=C(b.target);"a"!==ta(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),l=e.attr("href")||e.attr("xlink:href");J(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Ba(h.animVal).href);t.test(h)||!h||e.attr("target")||b.isDefaultPrevented()||!k.$$parseLinkUrl(h, +l)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}});Gb(k.absUrl())!=Gb(p)&&d.url(k.absUrl(),!0);var r=!0;d.onUrlChange(function(a,b){c.$evalAsync(function(){var d=k.absUrl(),e=k.$$state,f;k.$$parse(a);k.$$state=b;f=c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented;k.absUrl()===a&&(f?(k.$$parse(d),k.$$state=e,h(d,!1,e)):(r=!1,l(d,e)))});c.$$phase||c.$digest()});c.$watch(function(){var a=Gb(d.url()),b=Gb(k.absUrl()),f=d.state(),g=k.$$replace, +q=a!==b||k.$$html5&&e.history&&f!==k.$$state;if(r||q)r=!1,c.$evalAsync(function(){var b=k.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,k.$$state,f).defaultPrevented;k.absUrl()===b&&(d?(k.$$parse(a),k.$$state=f):(q&&h(b,g,f===k.$$state?null:k.$$state),l(a,f)))});k.$$replace=!1});return k}]}function Ne(){var b=!0,a=this;this.debugEnabled=function(a){return y(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)? +"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||B;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];s(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function sa(b,a){if("__defineGetter__"=== +b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw ka("isecfld",a);return b}function la(b,a){if(b){if(b.constructor===b)throw ka("isecfn",a);if(b.window===b)throw ka("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw ka("isecdom",a);if(b===Object)throw ka("isecobj",a);}return b}function fc(b){return b.constant}function hb(b,a,c,d,e){la(b,e);la(a,e);c=c.split(".");for(var f,g=0;1h?ed(g[0],g[1],g[2],g[3],g[4],c,d):function(a,b){var e=0,f;do f=ed(g[e++],g[e++],g[e++],g[e++],g[e++],c,d)(a,b),b=u,a=f;while(e=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;fa)for(b in k++,f)e.hasOwnProperty(b)||(t--,delete f[b])}else f!==e&&(f=e,k++);return k}}c.$stateful=!0;var d=this,e,f,h,l=1s&&(y=4-s,W[y]||(W[y]=[]),W[y].push({msg:G(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:g,oldVal:l}));else if(e===c){t=!1;break a}}catch(C){f(C)}if(!(m=I.$$childHead||I!==this&&I.$$nextSibling))for(;I!==this&&!(m=I.$$nextSibling);)I=I.$parent}while(I=m);if((t||S.length)&&!s--)throw r.$$phase=null,a("infdig",b,W);}while(t||S.length); +for(r.$$phase=null;u.length;)try{u.shift()()}catch(B){f(B)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;if(this!==r){for(var b in this.$$listenerCount)m(this,this.$$listenerCount[b],b);a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling); +this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=B;this.$on=this.$watch=this.$watchGroup=function(){return B};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){r.$$phase||S.length||h.defer(function(){S.length&&r.$digest()});S.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){u.push(a)},$apply:function(a){try{return k("$apply"), +this.$eval(a)}catch(b){f(b)}finally{r.$$phase=null;try{r.$digest()}catch(c){throw f(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&n.push(b);t()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,m(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,g=!1,h={name:a,targetScope:e, +stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},l=Ya([h],arguments,1),k,m;do{d=e.$$listeners[a]||c;h.currentScope=e;k=0;for(m=d.length;kRa)throw Ca("iequirks");var d=qa(ma);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=oa);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,f=d.getTrusted,g=d.trustAs;s(ma,function(a,b){var c=R(b);d[db("parse_as_"+c)]=function(b){return e(a, +b)};d[db("get_trusted_"+c)]=function(b){return f(a,b)};d[db("trust_as_"+c)]=function(b){return g(a,b)}});return d}]}function Ue(){this.$get=["$window","$document",function(b,a){var c={},d=$((/android (\d+)/.exec(R((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|ms)(?=[A-Z])/,l=f.body&&f.body.style,k=!1,m=!1;if(l){for(var p in l)if(k=h.exec(p)){g=k[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in l&&"webkit"); +k=!!("transition"in l||g+"Transition"in l);m=!!("animation"in l||g+"Animation"in l);!d||k&&m||(k=x(f.body.style.webkitTransition),m=x(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"===a&&11>=Ra)return!1;if(z(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:bb(),vendorPrefix:g,transitions:k,animations:m,android:d}}]}function We(){this.$get=["$templateCache","$http","$q",function(b,a,c){function d(e,f){d.totalPendingRequests++; +var g=a.defaults&&a.defaults.transformResponse;E(g)?g=g.filter(function(a){return a!==Zb}):g===Zb&&(g=null);return a.get(e,{cache:b,transformResponse:g}).finally(function(){d.totalPendingRequests--}).then(function(a){return a.data},function(a){if(!f)throw ia("tpload",e);return c.reject(a)})}d.totalPendingRequests=0;return d}]}function Xe(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var g=[];s(a,function(a){var d= +aa.element(a).data("$binding");d&&s(d,function(d){c?(new RegExp("(^|\\s)"+gd(b)+"(\\s|\\||$)")).test(d)&&g.push(a):-1!=d.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,c){for(var g=["ng-","data-ng-","ng\\:"],h=0;hb;b=Math.abs(b);var g=b+"",h="",l=[],k=!1;if(-1!==g.indexOf("e")){var m=g.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&m[3]>e+1?b=0:(h=g,k=!0)}if(k)0b&&(h=b.toFixed(e),b=parseFloat(h));else{g=(g.split(od)[1]||"").length;z(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);var g=(""+b).split(od),k=g[0],g=g[1]||"",p=0,q=a.lgSize,t=a.gSize;if(k.length>=q+t)for(p=k.length-q,m=0;mb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Jb(e,a,d)}}function Kb(b,a){return function(c,d){var e=c["get"+b](),f=vb(a?"SHORT"+b:b);return d[f][e]}} +function pd(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function qd(b){return function(a){var c=pd(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return Jb(a,b)}}function kd(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=$(b[9]+b[10]),g=$(b[9]+b[11]));h.call(a,$(b[1]),$(b[2])-1,$(b[3]));f=$(b[4]||0)-f;g=$(b[5]|| +0)-g;h=$(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var g="",h=[],l,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;x(c)&&(c=Jf.test(c)?$(c):a(c));V(c)&&(c=new Date(c));if(!pa(c))return c;for(;e;)(k=Kf.exec(e))?(h=Ya(h,k,1),e=h.pop()):(h.push(e),e=null);f&&"UTC"===f&&(c=new Date(c.getTime()),c.setMinutes(c.getMinutes()+c.getTimezoneOffset())); +s(h,function(a){l=Lf[a];g+=l?l(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Ef(){return function(b,a){z(a)&&(a=2);return $a(b,a)}}function Ff(){return function(b,a){V(b)&&(b=b.toString());return E(b)||x(b)?(a=Infinity===Math.abs(Number(a))?Number(a):$(a))?0b||37<=b&&40>=b||m(a,this,this.value)});if(e.hasEvent("paste"))a.on("paste cut",m)}a.on("change",l);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)}} +function Nb(b,a){return function(c,d){var e,f;if(pa(c))return c;if(x(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(Mf.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},s(e,function(b,c){c=s};g.$observe("min",function(a){s=q(a);h.$validate()})}if(y(g.max)||g.ngMax){var K;h.$validators.max=function(a){return!p(a)||z(K)||c(a)<=K};g.$observe("max",function(a){K=q(a);h.$validate()})}}}function td(b,a,c,d){(d.$$hasNativeValidators=J(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{}; +return c.badInput&&!c.typeMismatch?u:b})}function ud(b,a,c,d,e){if(y(d)){b=b(d);if(!b.constant)throw M("ngModel")("constexpr",c,d);return b(a)}return e}function jc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/,Tb=/<|&#?\w+;/,ef=/<([\w:]+)/,ff=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, +ga={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ga.optgroup=ga.option;ga.tbody=ga.tfoot=ga.colgroup=ga.caption=ga.thead;ga.th=ga.td;var La=Q.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===X.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),Q(P).on("load",a))}, +toString:function(){var b=[];s(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?C(this[b]):C(this[this.length+b])},length:0,push:Of,sort:[].sort,splice:[].splice},Fb={};s("multiple selected checked disabled readOnly required open".split(" "),function(b){Fb[R(b)]=b});var Nc={};s("input select option textarea button form details".split(" "),function(b){Nc[b]=!0});var Oc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"}; +s({data:Wb,removeData:yb},function(b,a){Q[a]=b});s({data:Wb,inheritedData:Eb,scope:function(b){return C.data(b,"$scope")||Eb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return C.data(b,"$isolateScope")||C.data(b,"$isolateScopeNoTemplate")},controller:Jc,injector:function(b){return Eb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Bb,css:function(b,a,c){a=db(a);if(y(c))b.style[a]=c;else return b.style[a]},attr:function(b,a,c){var d=R(a);if(Fb[d])if(y(c))c? +(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||B).specified?d:u;else if(y(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?u:b},prop:function(b,a,c){if(y(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(z(b)){var d=a.nodeType;return d===na||d===qb?a.textContent:""}a.textContent=b}b.$dv="";return b}(),val:function(b,a){if(z(a)){if(b.multiple&&"select"===ta(b)){var c=[];s(b.options,function(a){a.selected&& +c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(z(a))return b.innerHTML;xb(b,!0);b.innerHTML=a},empty:Kc},function(b,a){Q.prototype[a]=function(a,d){var e,f,g=this.length;if(b!==Kc&&(2==b.length&&b!==Bb&&b!==Jc?a:d)===u){if(J(a)){for(e=0;e":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a, +c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"!":function(a,c,d){return!d(a,c)},"=":!0,"|":!0}),Yf={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},hc=function(a){this.options=a};hc.prototype={constructor:hc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=y(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw ka("lexerr",a,c,this.text); +},readNumber:function(){for(var a="",c=this.index;this.indexa){a=this.tokens[a];var g=a.text;if(g===c||g===d||g===e||g=== +f||!(c||d||e||f))return a}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},consume:function(a){if(0===this.tokens.length)throw ka("ueoe",this.text);var c=this.expect(a);c||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return c},unaryFn:function(a,c){var d=nb[a];return w(function(a,f){return d(a,f,c)},{constant:c.constant,inputs:[c]})},binaryFn:function(a,c,d,e){var f=nb[c];return w(function(c,e){return f(c,e,a,d)},{constant:a.constant&& +d.constant,inputs:!e&&[a,d]})},identifier:function(){for(var a=this.consume().text;this.peek(".")&&this.peekAhead(1).identifier&&!this.peekAhead(2,"(");)a+=this.consume().text+this.consume().text;return yf(a,this.options,this.text)},constant:function(){var a=this.consume().value;return w(function(){return a},{constant:!0,literal:!0})},statements:function(){for(var a=[];;)if(0","<=",">=");)a=this.binaryFn(a,c.text, +this.additive());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.text,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.text,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(ib.ZERO,a.text,this.unary()):(a=this.expect("!"))?this.unaryFn(a.text,this.unary()):this.primary()},fieldAccess:function(a){var c= +this.identifier();return w(function(d,e,f){d=f||a(d,e);return null==d?u:c(d)},{assign:function(d,e,f){var g=a(d,f);g||a.assign(d,g={},f);return c.assign(g,e)}})},objectIndex:function(a){var c=this.text,d=this.expression();this.consume("]");return w(function(e,f){var g=a(e,f),h=d(e,f);sa(h,c);return g?la(g[h],c):u},{assign:function(e,f,g){var h=sa(d(e,g),c),l=la(a(e,g),c);l||a.assign(e,l={},g);return l[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression()); +while(this.expect(","))}this.consume(")");var e=this.text,f=d.length?[]:null;return function(g,h){var l=c?c(g,h):y(c)?u:g,k=a(g,h,l)||B;if(f)for(var m=d.length;m--;)f[m]=la(d[m](g,h),e);la(l,e);if(k){if(k.constructor===k)throw ka("isecfn",e);if(k===Vf||k===Wf||k===Xf)throw ka("isecff",e);}l=k.apply?k.apply(l,f):k(f[0],f[1],f[2],f[3],f[4]);f&&(f.length=0);return la(l,e)}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(",")) +}this.consume("]");return w(function(c,d){for(var e=[],f=0,g=a.length;fa.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Jb(Math[0=h};d.$observe("min",function(a){y(a)&&!V(a)&&(a=parseFloat(a,10));h=V(a)&&!isNaN(a)?a:u;e.$validate()})}if(y(d.max)|| +d.ngMax){var l;e.$validators.max=function(a){return e.$isEmpty(a)||z(l)||a<=l};d.$observe("max",function(a){y(a)&&!V(a)&&(a=parseFloat(a,10));l=V(a)&&!isNaN(a)?a:u;e.$validate()})}},url:function(a,c,d,e,f,g){jb(a,c,d,e,f,g);ic(e);e.$$parserName="url";e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||Zf.test(d)}},email:function(a,c,d,e,f,g){jb(a,c,d,e,f,g);ic(e);e.$$parserName="email";e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||$f.test(d)}},radio:function(a,c, +d,e){z(d.name)&&c.attr("name",++ob);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,g,h,l){var k=ud(l,a,"ngTrueValue",d.ngTrueValue,!0),m=ud(l,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",function(a){e.$setViewValue(c[0].checked,a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return!1===a};e.$formatters.push(function(a){return ea(a, +k)});e.$parsers.push(function(a){return a?k:m})},hidden:B,button:B,submit:B,reset:B,file:B},yc=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,g,h,l){l[0]&&(Dd[R(h.type)]||Dd.text)(f,g,h,l[0],c,a,d,e)}}}}],bg=/^(true|false|\d+)$/,ye=function(){return{restrict:"A",priority:100,compile:function(a,c){return bg.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value", +a)})}}}},Zd=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=a===u?"":a})}}}}],ae=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,g){d=a(f.attr(g.$attr.ngBindTemplate));c.$$addBindingInfo(f,d.expressions);f=f[0];g.$observe("ngBindTemplate",function(a){f.textContent=a===u?"":a})}}}}],$d=["$sce", +"$parse","$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var g=c(f.ngBindHtml),h=c(f.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(h,function(){e.html(a.getTrustedHtml(g(c))||"")})}}}}],xe=da({restrict:"A",require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),be=jc("",!0),de=jc("Odd",0),ce=jc("Even",1),ee=Ja({compile:function(a,c){c.$set("ngCloak", +u);a.removeClass("ng-cloak")}}),fe=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Dc={},cg={blur:!0,focus:!0};s("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ya("ng-"+a);Dc[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,g){var h=d(g[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})}; +cg[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var ie=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,l,k;c.$watch(e.ngIf,function(c){c?l||g(function(c,f){l=f;c[c.length++]=X.createComment(" end ngIf: "+e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)}):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),h&&(k=ub(h.clone),a.leave(k).then(function(){k=null}),h=null))})}}}],je=["$templateRequest","$anchorScroll", +"$animate","$sce",function(a,c,d,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:aa.noop,compile:function(f,g){var h=g.ngInclude||g.src,l=g.onload||"",k=g.autoscroll;return function(f,g,q,s,r){var u=0,w,n,D,H=function(){n&&(n.remove(),n=null);w&&(w.$destroy(),w=null);D&&(d.leave(D).then(function(){n=null}),n=D,D=null)};f.$watch(e.parseAsResourceUrl(h),function(e){var h=function(){!y(k)||k&&!f.$eval(k)||c()},n=++u;e?(a(e,!0).then(function(a){if(n===u){var c=f.$new(); +s.template=a;a=r(c,function(a){H();d.enter(a,null,g).then(h)});w=c;D=a;w.$emit("$includeContentLoaded",e);f.$eval(l)}},function(){n===u&&(H(),f.$emit("$includeContentError",e))}),f.$emit("$includeContentRequested",e)):(H(),s.template=null)})}}}}],Ae=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Gc(f.template,X).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}], +ke=Ja({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),we=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",g="false"!==d.ngTrim,h=g?T(f):f;e.$parsers.push(function(a){if(!z(a)){var c=[];a&&s(a.split(h),function(a){a&&c.push(g?T(a):a)});return c}});e.$formatters.push(function(a){return E(a)?a.join(f):u});e.$isEmpty=function(a){return!a||!a.length}}}},lb="ng-valid",vd="ng-invalid",Sa="ng-pristine", +Mb="ng-dirty",xd="ng-pending",Ob=new M("ngModel"),dg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,g,h,l,k,m){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=u;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success= +{};this.$pending=u;this.$name=m(d.name||"",!1)(a);var p=f(d.ngModel),q=p.assign,t=p,r=q,w=null,C,n=this;this.$$setOptions=function(a){if((n.$options=a)&&a.getterSetter){var c=f(d.ngModel+"()"),g=f(d.ngModel+"($$$p)");t=function(a){var d=p(a);G(d)&&(d=c(a));return d};r=function(a,c){G(p(a))?g(a,{$$$p:n.$modelValue}):q(a,n.$modelValue)}}else if(!p.assign)throw Ob("nonassign",d.ngModel,ua(e));};this.$render=B;this.$isEmpty=function(a){return z(a)||""===a||null===a||a!==a};var D=e.inheritedData("$formController")|| +Lb,H=0;sd({ctrl:this,$element:e,set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},parentForm:D,$animate:g});this.$setPristine=function(){n.$dirty=!1;n.$pristine=!0;g.removeClass(e,Mb);g.addClass(e,Sa)};this.$setDirty=function(){n.$dirty=!0;n.$pristine=!1;g.removeClass(e,Sa);g.addClass(e,Mb);D.$setDirty()};this.$setUntouched=function(){n.$touched=!1;n.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){n.$touched=!0;n.$untouched=!1;g.setClass(e,"ng-touched", +"ng-untouched")};this.$rollbackViewValue=function(){h.cancel(w);n.$viewValue=n.$$lastCommittedViewValue;n.$render()};this.$validate=function(){if(!V(n.$modelValue)||!isNaN(n.$modelValue)){var a=n.$$rawModelValue,c=n.$valid,d=n.$modelValue,e=n.$options&&n.$options.allowInvalid;n.$$runValidators(a,n.$$lastCommittedViewValue,function(f){e||c===f||(n.$modelValue=f?a:u,n.$modelValue!==d&&n.$$writeModelToScope())})}};this.$$runValidators=function(a,c,d){function e(){var d=!0;s(n.$validators,function(e, +f){var h=e(a,c);d=d&&h;g(f,h)});return d?!0:(s(n.$asyncValidators,function(a,c){g(c,null)}),!1)}function f(){var d=[],e=!0;s(n.$asyncValidators,function(f,h){var k=f(a,c);if(!k||!G(k.then))throw Ob("$asyncValidators",k);g(h,u);d.push(k.then(function(){g(h,!0)},function(a){e=!1;g(h,!1)}))});d.length?k.all(d).then(function(){h(e)},B):h(!0)}function g(a,c){l===H&&n.$setValidity(a,c)}function h(a){l===H&&d(a)}H++;var l=H;(function(){var a=n.$$parserName||"parse";if(C===u)g(a,null);else return C||(s(n.$validators, +function(a,c){g(c,null)}),s(n.$asyncValidators,function(a,c){g(c,null)})),g(a,C),C;return!0})()?e()?f():h(!1):h(!1)};this.$commitViewValue=function(){var a=n.$viewValue;h.cancel(w);if(n.$$lastCommittedViewValue!==a||""===a&&n.$$hasNativeValidators)n.$$lastCommittedViewValue=a,n.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var c=n.$$lastCommittedViewValue;if(C=z(c)?u:!0)for(var d=0;dA;)d=u.pop(),m(O,d.label,!1),d.element.remove()}for(;P.length> +x;){l=P.pop();for(A=1;Aa&&q.removeOption(c)})}var v;if(!(v=r.match(d)))throw fg("iexp",r,ua(f));var C=c(v[2]||v[1]),B=v[4]||v[6],x=/ as /.test(v[0])&&v[1],z=x?c(x):null,G=v[5],J=c(v[3]||""),A=c(v[2]?v[1]:B),N=c(v[7]),K=v[8]?c(v[8]):null,Q={},P=[[{element:f,label:""}]],R={};w&&(a(w)(e),w.removeClass("ng-scope"),w.remove());f.empty();f.on("change",function(){e.$apply(function(){var a=N(e)||[],c;if(t)c=[],s(f.val(), +function(d){d=K?Q[d]:d;c.push("?"===d?u:""===d?null:h(z?z:A,d,a[d]))});else{var d=K?Q[f.val()]:f.val();c="?"===d?u:""===d?null:h(z?z:A,d,a[d])}g.$setViewValue(c);p()})});g.$render=p;e.$watchCollection(N,l);e.$watchCollection(function(){var a=N(e),c;if(a&&E(a)){c=Array(a.length);for(var d=0,f=a.length;df||e.$isEmpty(c)||c.length<=f}}}}},Bc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=$(a)||0;e.$validate()});e.$validators.minlength=function(a,c){return e.$isEmpty(c)||c.length>=f}}}}};P.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(Nd(),Pd(aa),C(X).ready(function(){Jd(X,tc)}))})(window,document);!window.angular.$$csp()&&window.angular.element(document).find("head").prepend(''); +//# sourceMappingURL=angular.min.js.map \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.css b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.css new file mode 100644 index 00000000..240be45b --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.css @@ -0,0 +1,74 @@ +.angularjs-datetime-picker { + color: #333; + font: normal 14px sans-serif; + border: 1px solid #ddd; + display: inline-block; + background: #fff; +} +.angularjs-datetime-picker > .adp-month { + text-align: center; + line-height: 22px; + padding: 10px; + background: #fcfcfc; + text-transform: uppercase; + font-weight: bold; + border-bottom: 1px solid #ddd; + position: relative; +} +.angularjs-datetime-picker > .adp-month > button { + color: #555; + font: normal 14px sans-serif; + outline: none; + position: absolute; + background: transparent; + border: none; + cursor: pointer; +} +.angularjs-datetime-picker > .adp-month > button:hover { + color: #333; +} +.angularjs-datetime-picker > .adp-month > button.adp-prev { + left: 10px; +} +.angularjs-datetime-picker > .adp-month > button.adp-next { + right: 10px; +} +.angularjs-datetime-picker > .adp-days { + width: 210px; /* 30 x 7 */ + margin: 10px; + text-align: center; +} +.angularjs-datetime-picker > .adp-days > .adp-day-of-week, .angularjs-datetime-picker > .adp-days > .adp-day { + box-sizing: border-box; + -moz-box-sizing: border-box; + border: 1px solid transparent; + width: 30px; + line-height: 28px; + float: left; +} +.angularjs-datetime-picker > .adp-days > .adp-day-of-week { + font-weight: bold; +} +.angularjs-datetime-picker > .adp-days > .adp-day:not(.selectable) { + opacity: 0.15; + cursor: default; +} +.angularjs-datetime-picker > .adp-days > .adp-day.selectable { + cursor: pointer; +} +.angularjs-datetime-picker > .adp-days > .adp-day.selected { + background: #e0e0e0; +} +.angularjs-datetime-picker > .adp-days > .adp-day.selectable:hover { + background: #eee; +} +.angularjs-datetime-picker > .adp-days:after { + content: ''; + display: block; + clear: left; + height: 0; +} + +.angularjs-datetime-picker input[type=range] { + width: 150px; +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.js new file mode 100644 index 00000000..946f12e8 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.js @@ -0,0 +1,332 @@ +(function() { + 'use strict'; + + angular.module('angularjs-datetime-picker', []); + + var getTimezoneOffset = function(date) { + (typeof date == 'string') && (date = new Date(date)); + var jan = new Date(date.getFullYear(), 0, 1); + var jul = new Date(date.getFullYear(), 6, 1); + var stdTimezoneOffset = Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()); + var isDST = date.getTimezoneOffset() < stdTimezoneOffset; + var offset = isDST ? stdTimezoneOffset - 60 : stdTimezoneOffset; + var diff = offset >=0 ? '-' : '+'; + return diff + + ("0"+ (offset / 60)).slice(-2) + ':' + + ("0"+ (offset % 60)).slice(-2); + }; + + var DatetimePicker = function($compile, $document, $controller){ + var datetimePickerCtrl = $controller('DatetimePickerCtrl'); //directive controller + return { + open: function(options) { + datetimePickerCtrl.openDatetimePicker(options); + }, + close: function() { + datetimePickerCtrl.closeDatetimePicker(); + } + }; + }; + DatetimePicker.$inject = ['$compile', '$document', '$controller']; + angular.module('angularjs-datetime-picker').factory('DatetimePicker', DatetimePicker); + + var DatetimePickerCtrl = function($compile, $document) { + var datetimePickerEl; + var _this = this; + var removeEl = function(el) { + el && el.remove(); + $document[0].body.removeEventListener('click', _this.closeDatetimePicker); + }; + + this.openDatetimePicker = function(options) { + this.closeDatetimePicker(); + var div = angular.element('
'); + options.dateFormat && div.attr('date-format', options.dateFormat); + options.ngModel && div.attr('ng-model', options.ngModel); + options.year && div.attr('year', parseInt(options.year)); + options.month && div.attr('month', parseInt(options.month)); + options.day && div.attr('day', parseInt(options.day)); + options.hour && div.attr('hour', parseInt(options.hour)); + options.minute && div.attr('minute', parseInt(options.minute)); + if (options.dateOnly === '' || options.dateOnly === true) { + div.attr('date-only', 'true'); + } + if (options.closeOnSelect === 'false') { + div.attr('close-on-select', 'false'); + } + + var triggerEl = options.triggerEl; + options.scope = options.scope || angular.element(triggerEl).scope(); + datetimePickerEl = $compile(div)(options.scope)[0]; + datetimePickerEl.triggerEl = options.triggerEl; + + $document[0].body.appendChild(datetimePickerEl); + + //show datetimePicker below triggerEl + var bcr = triggerEl.getBoundingClientRect(); + datetimePickerEl.style.position='absolute'; + datetimePickerEl.style.left= (bcr.left + window.scrollX) + 'px'; + + options.scope.$apply(); + + var datePickerElBcr = datetimePickerEl.getBoundingClientRect(); + + if (bcr.top < 300 || window.innerHeight - bcr.bottom > 300) { + datetimePickerEl.style.top = (bcr.bottom + window.scrollY) + 'px'; + } else { + datetimePickerEl.style.top = (bcr.top - datePickerElBcr.height + window.scrollY) + 'px'; + } + + $document[0].body.addEventListener('click', this.closeDatetimePicker); + }; + + this.closeDatetimePicker = function(evt) { + var target = evt && evt.target; + var popupEl = $document[0].querySelector('div[datetime-picker-popup]'); + if (evt && target) { + if (target.hasAttribute('datetime-picker')) { // element with datetimePicker behaviour + // do nothing + } else if (popupEl && popupEl.contains(target)) { // datetimePicker itself + // do nothing + } else { + removeEl(popupEl); + } + } else { + removeEl(popupEl); + } + } + }; + DatetimePickerCtrl.$inject = ['$compile', '$document']; + angular.module('angularjs-datetime-picker').controller('DatetimePickerCtrl', DatetimePickerCtrl); + + var tmpl = [ + '
' , + '
', + ' ', + ' {{months[mv.month].shortName}} {{mv.year}}', + ' ', + '
', + '
', + '
{{::dayOfWeek.firstLetter}}
', + '
{{::day}}
', + '
{{::day}}
', + '
{{::day}}
', + '
', + '
', + ' Time : {{("0"+inputHour).slice(-2)}} : {{("0"+inputMinute).slice(-2)}}
', + ' ', + ' ', + '
', + '
'].join("\n"); + + var datetimePickerPopup = function($locale, dateFilter){ + var days, months, daysOfWeek, firstDayOfWeek; + + var initVars = function() { + days =[], months=[]; daysOfWeek=[], firstDayOfWeek=0; + for (var i = 1; i <= 31; i++) { + days.push(i); + } + + for (var i = 0; i < 12; i++) { //jshint ignore:line + months.push({ + fullName: $locale.DATETIME_FORMATS.MONTH[i], + shortName: $locale.DATETIME_FORMATS.SHORTMONTH[i] + }); + } + + for (var i = 0; i < 7; i++) { //jshint ignore:line + var day = $locale.DATETIME_FORMATS.DAY[(i + firstDayOfWeek) % 7]; + + daysOfWeek.push({ + fullName: day, + firstLetter: day.substr(0, 2) + }); + } + firstDayOfWeek = $locale.DATETIME_FORMATS.FIRSTDAYOFWEEK || 0; + }; + + var getMonthView = function(year, month) { + if (month>11) { + year++; + } else if (month < 0) { + year--; + } + month = (month + 12) % 12; + var firstDayOfMonth = new Date(year, month, 1), + lastDayOfMonth = new Date(year, month + 1, 0), + lastDayOfPreviousMonth = new Date(year, month, 0), + daysInMonth = lastDayOfMonth.getDate(), + daysInLastMonth = lastDayOfPreviousMonth.getDate(), + dayOfWeek = firstDayOfMonth.getDay(), + leadingDays = (dayOfWeek - firstDayOfWeek + 7) % 7 || 7, // Ensure there are always leading days to give context + trailingDays = days.slice(0, 6 * 7 - (leadingDays + daysInMonth)); + if (trailingDays.length > 7) { + trailingDays = trailingDays.slice(0, trailingDays.length-7); + } + + return { + year: year, + month: month, + days: days.slice(0, daysInMonth), + leadingDays: days.slice(- leadingDays - (31 - daysInLastMonth), daysInLastMonth), + trailingDays: trailingDays + }; + }; + + var linkFunc = function(scope, element, attrs, ctrl) { //jshint ignore:line + initVars(); //initialize days, months, daysOfWeek, and firstDayOfWeek; + var dateFormat = attrs.dateFormat || 'short'; + scope.months = months; + scope.daysOfWeek = daysOfWeek; + scope.inputHour; + scope.inputMinute; + + if (scope.dateOnly === true){ + element[0].querySelector('#adp-time').style.display = 'none'; + } + + scope.$applyAsync( function() { + ctrl.triggerEl = angular.element(element[0].triggerEl); + if (attrs.ngModel) { // need to parse date string + var dateStr = ''+ctrl.triggerEl.scope().$eval(attrs.ngModel); + if (dateStr) { + if (!dateStr.match(/[0-9]{2}:/)) { // if no time is given, add 00:00:00 at the end + dateStr += " 00:00:00"; + } + dateStr = dateStr.replace(/([0-9]{2}-[0-9]{2})-([0-9]{4})/,'$2-$1'); //mm-dd-yyyy to yyyy-mm-dd + dateStr = dateStr.replace(/([\/-][0-9]{2,4})\ ([0-9]{2}\:[0-9]{2}\:)/,'$1T$2'); //reformat for FF + dateStr = dateStr.replace(/EDT|EST|CDT|CST|MDT|PDT|PST|UT|GMT/g,''); //remove timezone + dateStr = dateStr.replace(/\s*\(\)\s*/,''); //remove timezone + dateStr = dateStr.replace(/[\-\+][0-9]{2}:?[0-9]{2}$/,''); //remove timezone + dateStr += getTimezoneOffset(dateStr); + var d = new Date(dateStr); + scope.selectedDate = new Date( + d.getFullYear(), + d.getMonth(), + d.getDate(), + d.getHours(), + d.getMinutes(), + d.getSeconds() + ); + } + } + + if (!scope.selectedDate || isNaN(scope.selectedDate.getTime())) { // no predefined date + var today = new Date(); + var year = scope.year || today.getFullYear(); + var month = scope.month ? (scope.month-1) : today.getMonth(); + var day = scope.day || today.getDate(); + var hour = scope.hour || today.getHours(); + var minute = scope.minute || today.getMinutes(); + scope.selectedDate = new Date(year, month, day, hour, minute, 0); + } + scope.inputHour = scope.selectedDate.getHours(); + scope.inputMinute = scope.selectedDate.getMinutes(); + + // Default to current year and month + scope.mv = getMonthView(scope.selectedDate.getFullYear(), scope.selectedDate.getMonth()); + if (scope.mv.year == scope.selectedDate.getFullYear() && scope.mv.month == scope.selectedDate.getMonth()) { + scope.selectedDay = scope.selectedDate.getDate(); + } else { + scope.selectedDay = null; + } + }); + + scope.addMonth = function (amount) { + scope.mv = getMonthView(scope.mv.year, scope.mv.month + amount); + }; + + scope.setDate = function (evt) { + var target = angular.element(evt.target)[0]; + if (target.className.indexOf('selectable')) { + scope.updateNgModel(parseInt(target.innerHTML)); + if (scope.closeOnSelect !== false) { + ctrl.closeDatetimePicker(); + } + } + }; + + scope.updateNgModel = function(day) { + day = day ? day : scope.selectedDate.getDate(); + scope.selectedDate = new Date( + scope.mv.year, scope.mv.month, day, scope.inputHour, scope.inputMinute, 0 + ); + scope.selectedDay = scope.selectedDate.getDate(); + if (attrs.ngModel) { + //console.log('attrs.ngModel',attrs.ngModel); + var elScope = ctrl.triggerEl.scope(), dateValue; + if (elScope.$eval(attrs.ngModel) && elScope.$eval(attrs.ngModel).constructor.name === 'Date') { + dateValue = new Date(dateFilter(scope.selectedDate, dateFormat)); + } else { + dateValue = dateFilter(scope.selectedDate, dateFormat); + } + elScope.$eval(attrs.ngModel + '= date', {date: dateValue}); + } + }; + + scope.$on('$destroy', ctrl.closeDatetimePicker); + }; + + return { + restrict: 'A', + template: tmpl, + controller: 'DatetimePickerCtrl', + replace: true, + scope: { + year: '=', + month: '=', + day: '=', + hour: '=', + minute: '=', + dateOnly: '=', + closeOnSelect: '=' + }, + link: linkFunc + }; + }; + datetimePickerPopup.$inject = ['$locale', 'dateFilter']; + angular.module('angularjs-datetime-picker').directive('datetimePickerPopup', datetimePickerPopup); + + var datetimePicker = function($parse, DatetimePicker) { + return { + // An ngModel is required to get the controller argument + require: 'ngModel', + link: function(scope, element, attrs, ctrl) { + // Attach validation watcher + scope.$watch(attrs.ngModel, function(value) { + if( !value || value == '' ){ + return; + } + // The value has already been cleaned by the above code + var date = new Date(value); + ctrl.$setValidity('date', !date? false : true); + var now = new Date(); + if( attrs.hasOwnProperty('futureOnly') ){ + ctrl.$setValidity('future-only', date < now? false : true); + } + }); + + element[0].addEventListener('click', function() { + DatetimePicker.open({ + triggerEl: element[0], + dateFormat: attrs.dateFormat, + ngModel: attrs.ngModel, + year: attrs.year, + month: attrs.month, + day: attrs.day, + hour: attrs.hour, + minute: attrs.minute, + dateOnly: attrs.dateOnly, + futureOnly: attrs.futureOnly, + closeOnSelect: attrs.closeOnSelect + }); + }); + } + }; + }; + datetimePicker.$inject=['$parse', 'DatetimePicker']; + angular.module('angularjs-datetime-picker').directive('datetimePicker', datetimePicker); + +})(); diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.min.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.min.js new file mode 100644 index 00000000..bc6c19ac --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/angularjs-datetime-picker/angularjs-datetime-picker.min.js @@ -0,0 +1 @@ +!function(){"use strict";angular.module("angularjs-datetime-picker",[]);var e=function(e){"string"==typeof e&&(e=new Date(e));var t=new Date(e.getFullYear(),0,1),a=new Date(e.getFullYear(),6,1),n=Math.max(t.getTimezoneOffset(),a.getTimezoneOffset()),l=e.getTimezoneOffset()=0?"-":"+";return i+("0"+r/60).slice(-2)+":"+("0"+r%60).slice(-2)},t=function(e,t,a){var n=a("DatetimePickerCtrl");return{open:function(e){n.openDatetimePicker(e)},close:function(){n.closeDatetimePicker()}}};t.$inject=["$compile","$document","$controller"],angular.module("angularjs-datetime-picker").factory("DatetimePicker",t);var a=function(e,t){var a,n=this,l=function(e){e&&e.remove(),t[0].body.removeEventListener("click",n.closeDatetimePicker)};this.openDatetimePicker=function(n){this.closeDatetimePicker();var l=angular.element("
");n.dateFormat&&l.attr("date-format",n.dateFormat),n.ngModel&&l.attr("ng-model",n.ngModel),n.year&&l.attr("year",parseInt(n.year)),n.month&&l.attr("month",parseInt(n.month)),n.day&&l.attr("day",parseInt(n.day)),n.hour&&l.attr("hour",parseInt(n.hour)),n.minute&&l.attr("minute",parseInt(n.minute)),(""===n.dateOnly||n.dateOnly===!0)&&l.attr("date-only","true"),"false"===n.closeOnSelect&&l.attr("close-on-select","false");var r=n.triggerEl;n.scope=n.scope||angular.element(r).scope(),a=e(l)(n.scope)[0],a.triggerEl=n.triggerEl,t[0].body.appendChild(a);var i=r.getBoundingClientRect();a.style.position="absolute",a.style.left=i.left+window.scrollX+"px",n.scope.$apply();var o=a.getBoundingClientRect();a.style.top=i.top<300||window.innerHeight-i.bottom>300?i.bottom+window.scrollY+"px":i.top-o.height+window.scrollY+"px",t[0].body.addEventListener("click",this.closeDatetimePicker)},this.closeDatetimePicker=function(e){var a=e&&e.target,n=t[0].querySelector("div[datetime-picker-popup]");e&&a?a.hasAttribute("datetime-picker")||n&&n.contains(a)||l(n):l(n)}};a.$inject=["$compile","$document"],angular.module("angularjs-datetime-picker").controller("DatetimePickerCtrl",a);var n=['
','
',' ',' {{months[mv.month].shortName}} {{mv.year}}',' ',"
",'
','
{{::dayOfWeek.firstLetter}}
','
{{::day}}
','
{{::day}}
','
{{::day}}
',"
",'
',' Time : {{("0"+inputHour).slice(-2)}} : {{("0"+inputMinute).slice(-2)}}
',' ',' ',"
","
"].join("\n"),l=function(t,a){var l,r,i,o,c=function(){l=[],r=[],i=[],o=0;for(var e=1;31>=e;e++)l.push(e);for(var e=0;12>e;e++)r.push({fullName:t.DATETIME_FORMATS.MONTH[e],shortName:t.DATETIME_FORMATS.SHORTMONTH[e]});for(var e=0;7>e;e++){var a=t.DATETIME_FORMATS.DAY[(e+o)%7];i.push({fullName:a,firstLetter:a.substr(0,2)})}o=t.DATETIME_FORMATS.FIRSTDAYOFWEEK||0},d=function(e,t){t>11?e++:0>t&&e--,t=(t+12)%12;var a=new Date(e,t,1),n=new Date(e,t+1,0),r=new Date(e,t,0),i=n.getDate(),c=r.getDate(),d=a.getDay(),s=(d-o+7)%7||7,u=l.slice(0,42-(s+i));return u.length>7&&(u=u.slice(0,u.length-7)),{year:e,month:t,days:l.slice(0,i),leadingDays:l.slice(-s-(31-c),c),trailingDays:u}},s=function(t,n,l,o){c();var s=l.dateFormat||"short";t.months=r,t.daysOfWeek=i,t.inputHour,t.inputMinute,t.dateOnly===!0&&(n[0].querySelector("#adp-time").style.display="none"),t.$applyAsync(function(){if(o.triggerEl=angular.element(n[0].triggerEl),l.ngModel){var a=""+o.triggerEl.scope().$eval(l.ngModel);if(a){a.match(/[0-9]{2}:/)||(a+=" 00:00:00"),a=a.replace(/([0-9]{2}-[0-9]{2})-([0-9]{4})/,"$2-$1"),a=a.replace(/([\/-][0-9]{2,4})\ ([0-9]{2}\:[0-9]{2}\:)/,"$1T$2"),a=a.replace(/EDT|EST|CDT|CST|MDT|PDT|PST|UT|GMT/g,""),a=a.replace(/\s*\(\)\s*/,""),a=a.replace(/[\-\+][0-9]{2}:?[0-9]{2}$/,""),a+=e(a);var r=new Date(a);t.selectedDate=new Date(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds())}}if(!t.selectedDate||isNaN(t.selectedDate.getTime())){var i=new Date,c=t.year||i.getFullYear(),s=t.month?t.month-1:i.getMonth(),u=t.day||i.getDate(),m=t.hour||i.getHours(),g=t.minute||i.getMinutes();t.selectedDate=new Date(c,s,u,m,g,0)}t.inputHour=t.selectedDate.getHours(),t.inputMinute=t.selectedDate.getMinutes(),t.mv=d(t.selectedDate.getFullYear(),t.selectedDate.getMonth()),t.selectedDay=t.mv.year==t.selectedDate.getFullYear()&&t.mv.month==t.selectedDate.getMonth()?t.selectedDate.getDate():null}),t.addMonth=function(e){t.mv=d(t.mv.year,t.mv.month+e)},t.setDate=function(e){var a=angular.element(e.target)[0];a.className.indexOf("selectable")&&(t.updateNgModel(parseInt(a.innerHTML)),t.closeOnSelect!==!1&&o.closeDatetimePicker())},t.updateNgModel=function(e){if(e=e?e:t.selectedDate.getDate(),t.selectedDate=new Date(t.mv.year,t.mv.month,e,t.inputHour,t.inputMinute,0),t.selectedDay=t.selectedDate.getDate(),l.ngModel){var n,r=o.triggerEl.scope();n=r.$eval(l.ngModel)&&"Date"===r.$eval(l.ngModel).constructor.name?new Date(a(t.selectedDate,s)):a(t.selectedDate,s),r.$eval(l.ngModel+"= date",{date:n})}},t.$on("$destroy",o.closeDatetimePicker)};return{restrict:"A",template:n,controller:"DatetimePickerCtrl",replace:!0,scope:{year:"=",month:"=",day:"=",hour:"=",minute:"=",dateOnly:"=",closeOnSelect:"="},link:s}};l.$inject=["$locale","dateFilter"],angular.module("angularjs-datetime-picker").directive("datetimePickerPopup",l);var r=function(e,t){return{require:"ngModel",link:function(e,a,n,l){e.$watch(n.ngModel,function(e){if(e&&""!=e){var t=new Date(e);l.$setValidity("date",t?!0:!1);var a=new Date;n.hasOwnProperty("futureOnly")&&l.$setValidity("future-only",a>t?!1:!0)}}),a[0].addEventListener("click",function(){t.open({triggerEl:a[0],dateFormat:n.dateFormat,ngModel:n.ngModel,year:n.year,month:n.month,day:n.day,hour:n.hour,minute:n.minute,dateOnly:n.dateOnly,futureOnly:n.futureOnly,closeOnSelect:n.closeOnSelect})})}}};r.$inject=["$parse","DatetimePicker"],angular.module("angularjs-datetime-picker").directive("datetimePicker",r)}(); \ No newline at end of file diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/bootstrap-3.3.7/package.json b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/bootstrap-3.3.7/package.json new file mode 100644 index 00000000..fe4b31de --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/bootstrap-3.3.7/package.json @@ -0,0 +1,89 @@ +{ + "name": "bootstrap", + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "version": "3.3.7", + "keywords": [ + "css", + "less", + "mobile-first", + "responsive", + "front-end", + "framework", + "web" + ], + "homepage": "http://getbootstrap.com", + "author": "Twitter, Inc.", + "scripts": { + "change-version": "node grunt/change-version.js", + "update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json", + "test": "grunt test" + }, + "style": "dist/css/bootstrap.css", + "less": "less/bootstrap.less", + "main": "./dist/js/npm", + "repository": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git" + }, + "bugs": { + "url": "https://github.com/twbs/bootstrap/issues" + }, + "license": "MIT", + "devDependencies": { + "btoa": "~1.1.2", + "glob": "~7.0.3", + "grunt": "~1.0.1", + "grunt-autoprefixer": "~3.0.4", + "grunt-contrib-clean": "~1.0.0", + "grunt-contrib-compress": "~1.3.0", + "grunt-contrib-concat": "~1.0.0", + "grunt-contrib-connect": "~1.0.0", + "grunt-contrib-copy": "~1.0.0", + "grunt-contrib-csslint": "~1.0.0", + "grunt-contrib-cssmin": "~1.0.0", + "grunt-contrib-htmlmin": "~1.5.0", + "grunt-contrib-jshint": "~1.0.0", + "grunt-contrib-less": "~1.3.0", + "grunt-contrib-pug": "~1.0.0", + "grunt-contrib-qunit": "~0.7.0", + "grunt-contrib-uglify": "~1.0.0", + "grunt-contrib-watch": "~1.0.0", + "grunt-csscomb": "~3.1.0", + "grunt-exec": "~1.0.0", + "grunt-html": "~8.0.1", + "grunt-jekyll": "~0.4.4", + "grunt-jscs": "~3.0.1", + "grunt-saucelabs": "~9.0.0", + "load-grunt-tasks": "~3.5.0", + "markdown-it": "^7.0.0", + "shelljs": "^0.7.0", + "shx": "^0.1.2", + "time-grunt": "^1.3.0" + }, + "engines": { + "node": ">=0.10.1" + }, + "files": [ + "dist", + "fonts", + "grunt", + "js/*.js", + "less/**/*.less", + "Gruntfile.js", + "LICENSE" + ], + "jspm": { + "main": "js/bootstrap", + "shim": { + "js/bootstrap": { + "deps": "jquery", + "exports": "$" + } + }, + "files": [ + "css", + "fonts", + "js" + ] + } +} diff --git a/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/jquery.min.js b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/jquery.min.js new file mode 100644 index 00000000..4d9b3a25 --- /dev/null +++ b/sdnc-a1-controller/oam/SdncReports/SdncReportsApi/src/main/webapp/node_modules/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" + SDN AdminPortal + + + + + +
+

Parameters

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ +
+ +
+ + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + <% if(priv == 'A') { %> + + <% } %> + + <% }); %> + +
*Name*ValueCategoryMemoAction
<%= row.name %><%= row.value %><%= row.category %><%= row.memo %> + + +
+
+ +<% include ../partials/new_parameter %> +<% include ../partials/update_parameter %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap-theme.min.css b/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap-theme.min.css new file mode 100644 index 00000000..4c3e7bad --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap-theme.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:hover,.btn-primary:focus{background-color:#265a88;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#265a88;border-color:#245580}.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap.min.css b/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap.min.css new file mode 100644 index 00000000..b6fe4e0f --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/css_delete/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/sdnc-a1-controller/oam/admportal/views/error.ejs b/sdnc-a1-controller/oam/admportal/views/error.ejs new file mode 100644 index 00000000..7cf94edf --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/error.ejs @@ -0,0 +1,3 @@ +

<%= message %>

+

<%= error.status %>

+
<%= error.stack %>
diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/list.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/list.ejs new file mode 100644 index 00000000..cf89a093 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/list.ejs @@ -0,0 +1,162 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + +
+

NoD VLAN ID POOL

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + +
+ + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + <% }); %> + +
AIC Site IDPurposeVLAN IDVLPSPE NameAvailability ZoneStatusSvc Instance IDAction
<%= row.aic_site_id %><%= row.purpose %><%= row.vlan_id %><%= row.vplspe_name %><%= row.availability_zone %><%= row.status %><%= row.svc_instance_id %> + + +
+ + +
+ +<% include ../partials/update_vlan_id_pool %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listAicAvailZone.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listAicAvailZone.ejs new file mode 100644 index 00000000..7d0b7bde --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listAicAvailZone.ejs @@ -0,0 +1,166 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

AIC Availabilty Zone Pool

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + <% }); %> + +
AIC Site IDAvailability ZoneTokenService TypeStatusVNF IDVNF TypeHypervisorAction
<%= row.aic_site_id %><%= row.availability_zone %><%= row.token %><%= row.service_type %><%= row.status %><%= row.vnf_id %><%= row.vnf_type %><%= row.hypervisor %> + + +
+ + + +
+ +<% include ../partials/update_aic_avail_zone %> + +
+ <% include ../partials/footer %> +
+ + + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listAicSwitch.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listAicSwitch.ejs new file mode 100644 index 00000000..659652c3 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listAicSwitch.ejs @@ -0,0 +1,156 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

AIC Switch

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + <% }); %> + +
Physical Network NameSwitch NameAIC Site IDUUIDAvailability ZoneAction
<%= row.physical_network_name %><%= row.switch_name %><%= row.aic_site_id %><%= row.uuid %><%= row.availability_zone %> + + + +
+ + + +
+ +<% include ../partials/update_aic_switch %> + +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHoming.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHoming.ejs new file mode 100644 index 00000000..e25777a9 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHoming.ejs @@ -0,0 +1,241 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + +
+

Service Homing

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + <% if (priv == 'A'){ %> +
+ +
+ <% } %> + + + + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% var i=0; rows.forEach( function(row) { %> + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + <% i++; }); %> + +
*Service Type*LATA*Hubbing City TypeLatitudeLongitude*Primary Site NameSecondary Site NameTertiary Site NameAction
<%= row.service_type %><%= row.lata %><%= row.hubbing_city_type%><%= row.latitude %><%= row.longitude %><%= row.primary_aic_site_name %><%= row.secondary_aic_site_name %><%= row.tertiary_aic_site_name %> + + +
+ +
+

<%= i %> rows in table.

+
+ + + <% if(priv == 'A'){ %> +
+
+
+ + +

Choose a file to upload.

+
+ <% if(priv == 'A') { %> + + <% } else { %> + + <% } %> + +
+
+ <% } %> +
+ +<% include ../partials/add_service_homing %> +<% include ../partials/update_service_homing %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHomingRollback.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHomingRollback.ejs new file mode 100644 index 00000000..a7b5ef5a --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listServiceHomingRollback.ejs @@ -0,0 +1,117 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + +
+

Service Homing Rollback

+

(This table data was saved during the last import of SERVICE_HOMING data.)

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + + + + + + + + + + + + + + <% var i=0; rows.forEach( function(row) { %> + + + + + + + + + + + <% i++; }); %> + +
Service TypeLATAHubbing City TypeLatitudeLongitudePrimary Site NameSecondary Site NameTertiary Site Name
<%= row.service_type %><%= row.lata %><%= row.hubbing_city_type%><%= row.latitude %><%= row.longitude %><%= row.primary_aic_site_name %><%= row.secondary_aic_site_name %><%= row.tertiary_aic_site_name %>
+ +
+

<%= i %> rows in table.

+
+ + <% if (priv == 'A') { %> + + <% } %> +
+ +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listSite.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listSite.ejs new file mode 100644 index 00000000..9287ad5c --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listSite.ejs @@ -0,0 +1,171 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + +
+

AIC Site

+
+ + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + +
+ + + + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + <% }); %> + +
NameAIC Site IDVCenter URLOAM Gateway AddressVCenter UserVCenter PasswdCityStateStatusAction
<%= row.name %><%= row.aic_site_id %><%= row.vcenter_url %><%= row.oam_gateway_addr %><%= row.vcenter_username %>*****<%= row.city %><%= row.state %><%= row.operational_status %> + + +
+ + +
+ +<% include ../partials/update_aic_site %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listVpePool.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listVpePool.ejs new file mode 100644 index 00000000..51c2dfec --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listVpePool.ejs @@ -0,0 +1,194 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

VPE Pool

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + + + + + + + + + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + + + + + + + + + + + <% }); %> + +
AIC Site IDVPE NameAvailability ZoneIPV4 OAM AddressLoopback IPV4 AddressProv StatusVLAN ID OuterVendorInterface NameInterface SpeedInterface UnitsVPE UUIDVPE IDAS_NUMBERImage FilenameAction
<%= row.aic_site_id %><%= row.vpe_name %><%= row.availability_zone %><%= row.ipv4_oam_address %><%= row.loopback0_ipv4_address %><%= row.provisioning_status %><%= row.vlan_id_outer %><%= row.vendor %><%= row.physical_intf_name %><%= row.physical_intf_speed %><%= row.physical_intf_units %><%= row.vpe_uuid %><%= row.vpe_id %><%= row.as_number %><%= row.image_filename %> + + + <% if(priv == 'A') { %> + + + <% } %> +
+ + +
+ +<% include ../partials/update_vpe_pool %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/listVplspePool.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/listVplspePool.ejs new file mode 100644 index 00000000..b49c2a37 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/listVplspePool.ejs @@ -0,0 +1,178 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

VPLSPE Pool

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + +
+ + + + + + + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + + + + + + <% if(priv == 'A') { %> + + <% } %> + + + <% }); %> + +
VPLSPE NameAIC Site IDAvailability ZoneInterface NameInterface SpeedInterface UnitsLoopback IPV4 AddressVLAN ID OuterVPLSPE UUIDImage FilenameProv StatusVendorAction
<%= row.vplspe_name %><%= row.aic_site_id %><%= row.availability_zone %><%= row.physical_intf_name %><%= row.physical_intf_speed %><%= row.physical_intf_units %><%= row.loopback0_ipv4_address %><%= row.vlan_id_outer %><%= row.vplspe_uuid %><%= row.image_filename %><%= row.provisioning_status %><%= row.vendor %> + + +
+ + +
+ +<% include ../partials/update_vplspe_pool %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanPool.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanPool.ejs new file mode 100644 index 00000000..9d3a8d1b --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanPool.ejs @@ -0,0 +1,124 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

NetBond VLAN Pools

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + +
+ + + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + <% if(priv == 'A') { %> + + <% } else { %> + + <% } %> + + <% }); %> + +
AIC Site IdAvailability ZoneVLAN Plan IdPlan TypePurposeVLAN IdStatusAction
<%= row.aic_site_id %><%= row.availability_zone %><%= row.vlan_plan_id %><%= row.plan_type %><%= row.purpose %><%= row.vlan_id %><%= row.status %> + +  
+
+ +<% include ../partials/nb_vlan_pool %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanRange.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanRange.ejs new file mode 100644 index 00000000..748dbbe3 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/nbVlanRange.ejs @@ -0,0 +1,205 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

NetBond VLAN Ranges

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + +
+ + <% if(priv == 'A'){ %> +
+ +
+ <% } %> + + + + + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + + + + + + + <% }); %> + +
Vlan Plan IdPurposeRange StartRange EndPlan TypePool GeneratedAction
<%= row.vlan_plan_id %><%= row.purpose %><%= row.range_start %><%= row.range_end %><%= row.plan_type %><%= row.generated %> + <% if (row.generated == 'N' && priv == 'A'){ %> + + <% } else { %> + + <% } %> + <% if (row.generated == 'N'){ %> + + <% } else { %> + + <% } %> + <% if(priv == 'A') { %> + + <% } %> +
+
+ +<% include ../partials/nb_vlan_range %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/gamma/networkProfile.ejs b/sdnc-a1-controller/oam/admportal/views/gamma/networkProfile.ejs new file mode 100644 index 00000000..1b54d671 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/gamma/networkProfile.ejs @@ -0,0 +1,164 @@ + + + + + + <% include ../partials/head %> + <% include ../partials/header %> + + SDN-C AdminPortal + + + + + + +
+

Network Profile

+
+ +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + + <% } else { %> +
+ <% + for ( x in result.msg ){ %> +
<%= result.msg[x] %>
+ <% } %> +
+ <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +
+ + <% if(priv == 'A'){ %> +
+ +
+ <% } %> + + + + + + + <% if(priv == 'A'){ %> + + <% } %> + + + + <% rows.forEach( function(row) { %> + + + + <% if(priv == 'A') { %> + + <% } %> + + + <% }); %> + +
*Network TypeTechnologyAction
<%= row.network_type %><%= row.technology %> + <% if (priv == 'A') { %> + + + <% } %> +
+
+ +<% include ../partials/network_profile %> +
+ <% include ../partials/footer %> +
+ + + + + + diff --git a/sdnc-a1-controller/oam/admportal/views/javascript_delete/jquery.min.js b/sdnc-a1-controller/oam/admportal/views/javascript_delete/jquery.min.js new file mode 100644 index 00000000..ab28a247 --- /dev/null +++ b/sdnc-a1-controller/oam/admportal/views/javascript_delete/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("