VNFPackageManagement.yaml 62.2 KB
Newer Older
1001
1002
1003
1004
1005
1006
1007
1008
            WWW-Authenticate:
              type: "string"
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
1009
1010
1011
1012
1013
1014
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045

        206:
          description: >
            Partial Content.
            On success, if the NFVO supports range requests, a single
            consecutive byte range from the content of the VNF package file is
            returned.
            The response body shall contain the requested part of the VNF
            package file.
            The "Content-Range" HTTP header shall be provided according to
            IETF RFC 7233.
            The "Content-Type" HTTP header shall be set as defined above for
            the "200 OK" response.
          headers:
            Content-Range:
              type: string
              maximum: 1
              minimum: 1
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              type: "string"
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
              minimum: 0
1046
1047
1048
1049
1050
1051
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/VNFPackageManagement_resp.yaml#/responses/409"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

  ##############################################################################
  # Subscriptions                                                               #
  ###############################################################################
1076
  '/subscriptions':
1077
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.8
1078
    post:
rameshnaraya's avatar
rameshnaraya committed
1079
      summary: Subscribe to notifications related to on-boarding and/or changes of VNF packages.
1080
      description: >
1081
        The POST method creates a new subscription.
rameshnaraya's avatar
rameshnaraya committed
1082
1083
1084
1085
1086
1087
1088
1089
        This method shall follow the provisions specified in the Tables 9.4.8.3.1-1 and 9.4.8.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
        Creation of two subscription resources with the same callbackURI and the same filter can result in performance
        degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the
        same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), or may decide
        to not create a duplicate subscription resource (in which case it shall return a "303 See Other" response code referencing
        the existing subscription resource with the same filter and callbackUri).
1090
      parameters:
1091
        - name: Accept
1092
          description: >
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
1112
1113
1114
1115
1116
1117
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
        - name: "body"
          in: "body"
          required: true
          schema:
            type: "object"
            required:
              - "PkgmSubscriptionRequest"
            properties:
              PkgmSubscriptionRequest:
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscriptionRequest"
            description: >
              Representation of the created subscription resource.
              The HTTP response shall include a "Location" HTTP header that
              points to the created subscription resource.

1133
1134
      responses:
        201:
rameshnaraya's avatar
rameshnaraya committed
1135
          description: >
1136
            201 Created
1137

1138
            Representation of the created subscription resource.
rameshnaraya's avatar
rameshnaraya committed
1139
1140
            The HTTP response shall include a "Location"
            HTTP header that points to the created subscription resource.
1141
1142
1143
1144
1145
1146
1147
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1148
              type: "string"
1149
1150
              description: >
                Challenge if the corresponding HTTP request has not provided
1151
1152
1153
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1154
              minimum: 0
1155
1156
1157
1158
1159
1160
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1161
1162
1163
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1164
1165
              properties:
                PkgmSubscription:
1166
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
        303:
          $ref: "responses/SOL005_resp.yaml#/responses/303"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
1187
    get:
1188
      summary: Query multiple subscriptions.
1189
      description: >
rameshnaraya's avatar
rameshnaraya committed
1190
1191
1192
1193
1194
        The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used
        e.g. for resynchronization after error situations.
        This method shall follow the provisions specified in the 
        Tables 9.4.7.8.2-1 and 9.4.8.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
1195
1196
1197
1198
1199
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
1200
          description: >
1201
1202
1203
            Attribute-based filtering expression according to clause 4.3.2.
            The NFVO shall support receiving this filtering parameter as part of the URI query
            string. The OSS/BSS may supply this filtering parameter.
1204
            All attribute names that appear in the PkgmSubscription and in data types
1205
            referenced from it shall be supported by the NFVO in the filtering expression.
1206
1207
1208
1209
1210
1211
1212
        - name: nextpage_opaque_marker
          in: query
          description: >
            Marker to obtain the next page of a paged response. Shall be supported by the NFVO
            if the NFVO supports alternative 2 (paging) according to clause 4.7.2.1 for this resource.
          required: false
          type: string
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1227
1228
1229
1230
1231
1232
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1233
1234
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1235
          description: >
1236
            200 OK
1237

rameshnaraya's avatar
rameshnaraya committed
1238
            Active subscriptions of the functional block that invokes the method.
1239
1240
1241
1242
1243
1244
1245
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1246
              type: "string"
1247
1248
              description: >
                Challenge if the corresponding HTTP request has not provided
1249
1250
1251
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1252
              minimum: 0
1253
1254
1255
1256
1257
1258
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1259
1260
1261
1262
1263
1264
            Link:
              description: >
                Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
              type: string
              maximum: 1
              minimum: 0
1265
1266
1267
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1268
1269
              properties:
                PkgmSubscription:
1270
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
1289
1290
1291
1292

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
1293
  '/subscriptions/{subscriptionId}':
1294
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.9
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
    parameters:
      - name: subscriptionId
        description: >
          Identifier of this subscription.
          This identifier can be retrieved from the resource referenced by
          the "Location" HTTP header in the response to a POST request
          creating a new subscription resource. It can also be retrieved from
          the "id" attribute in the payload body of that response.
        in: path
        type: string
        required: true
    get:
1307
      summary: Read an individual subscription resource.
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
      description: >
        Query Subscription Information
        The GET method reads an individual subscription.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1326
1327
1328
1329
1330
1331
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1332
1333
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1334
          description: >
1335
            200 OK
1336

1337
1338
1339
1340
1341
1342
1343
1344
            Representation of the subscription resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1345
              type: "string"
1346
1347
              description: >
                Challenge if the corresponding HTTP request has not provided
1348
1349
1350
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1351
              minimum: 0
1352
1353
1354
1355
1356
1357
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1358
          schema:
rameshnaraya's avatar
rameshnaraya committed
1359
            properties:
1360
              PkgmSubscription:
1361
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
    delete:
1381
      summary: Terminate a subscription.
1382
      description: >
1383
1384
1385
1386
1387
1388
1389
1390
1391
        The DELETE method terminates an individual subscription.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1392
1393
1394
1395
1396
1397
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1398
1399
      responses:
        204:
1400
          description: >
1401
            No Content
1402
1403
1404
1405

            The subscription resource was deleted successfully.
          headers:
            WWW-Authenticate:
1406
              type: "string"
1407
1408
              description: >
                Challenge if the corresponding HTTP request has not provided
1409
1410
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
1411
1412
              maximum: 1
              minimum: 0
1413
1414
1415
1416
1417
1418
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
rameshnaraya's avatar
rameshnaraya committed
1435
1436
1437
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1438
1439
1440
1441
1442
  ##################################################################################
  # Notification endpoint                                                          #
  # Dummy URI is used for testing.                                                 #
  # In real, resource URI is provided by the client when creating the subscription.#
  ##################################################################################
1443
1444
  '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10
rameshnaraya's avatar
rameshnaraya committed
1445
    post:
1446
      summary: Notify about VNF package onboarding or change
rameshnaraya's avatar
rameshnaraya committed
1447
1448
1449
1450
      description: >
        The POST method delivers a notification from the server to the client.
        This method shall follow the provisions specified in the 
        Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters,
1451
        request and response data structures, and response codes.        
rameshnaraya's avatar
rameshnaraya committed
1452
1453
1454
      parameters:
        - name: VnfPackageOnboardingNotification
          description: >
1455
            A notification about on-boarding of a VNF package.
rameshnaraya's avatar
rameshnaraya committed
1456
1457
1458
1459
1460
          in: body
          required: true
          schema:
            properties:
              VnfPackageOnboardingNotification:
1461
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageOnboardingNotification"
rameshnaraya's avatar
rameshnaraya committed
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
1483
1484
1485
1486
1487
1488
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
rameshnaraya's avatar
rameshnaraya committed
1489
1490
1491
      responses:
        204:
          description: >
1492
            204 No Content
1493

1494
1495
1496
1497
1498
1499
1500
1501
1502
            The notification was delivered successfully.  
          headers:
            WWW-Authenticate:
              type: "string"
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1503
              minimum: 0
1504
1505
1506
1507
1508
1509
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
rameshnaraya's avatar
rameshnaraya committed
1510
1511
1512
1513
1514
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1515
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1516
1517
1518
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1519
1520
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1521
1522
1523
1524
1525
1526
1527
1528
1529
  '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageChangeNotification':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.10  
    post:
      summary: Notify about VNF package onboarding or change
      description: >
        The POST method delivers a notification from the server to the client.
        This method shall follow the provisions specified in the 
        Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters,
        request and response data structures, and response codes.        
1530
      parameters:
1531
1532
1533
1534
1535
1536
1537
1538
        - name: VnfPackageChangeNotification
          description: >
            A notification about changes of status in a VNF package.
          in: body
          required: true
          schema:
            properties:
              VnfPackageChangeNotification:
1539
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageChangeNotification"
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
1561
1562
1563
1564
1565
1566
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1567
1568
1569
1570
      responses:
        204:
          description: >
            204 No Content
1571

1572
1573
1574
1575
1576
1577
1578
1579
1580
            The notification was delivered successfully.
          headers:
            WWW-Authenticate:
              type: "string"
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1581
              minimum: 0
1582
1583
1584
1585
1586
1587
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1588
1589
1590
1591
1592
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1593
          $ref: "responses/SOL005_resp.yaml#/responses/403"
1594
1595
1596
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1597
1598
          $ref: "responses/SOL005_resp.yaml#/responses/503"

rameshnaraya's avatar
rameshnaraya committed
1599
    get:
1600
      summary: Test the notification endpoint
rameshnaraya's avatar
rameshnaraya committed
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
      description: >
        The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during
        subscription.
        This method shall follow the provisions specified in the Tables 9.4.10.3.2-1 and 9.4.10.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
1621
1622
1623
1624
1625
1626
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
rameshnaraya's avatar
rameshnaraya committed
1627
1628
1629
      responses:
        204:
          description: >
1630
            204 No Content
1631

rameshnaraya's avatar
rameshnaraya committed
1632
1633
1634
1635
1636
1637
1638
            The notification endpoint was tested successfully.
            The response body shall be empty. 
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1639
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1640
1641
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
1642
1643
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
For faster browsing, not all history is shown. View entire blame