VNFPackageManagement.yaml 61.7 KB
Newer Older
1001
1002
              maximum: 1
              minimum: 0
1003
1004
1005
1006
1007
1008
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1009
1010
1011
1012
1013
1014
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

        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
1040
1041
1042
1043
1044
1045
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
        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                                                               #
  ###############################################################################
1070
  '/subscriptions':
1071
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.8
1072
    post:
rameshnaraya's avatar
rameshnaraya committed
1073
      summary: Subscribe to notifications related to on-boarding and/or changes of VNF packages.
1074
      description: >
1075
        The POST method creates a new subscription.
rameshnaraya's avatar
rameshnaraya committed
1076
1077
1078
1079
1080
1081
1082
1083
        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).
1084
      parameters:
1085
        - name: Accept
1086
          description: >
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
            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
1106
1107
1108
1109
1110
1111
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
        - 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.

1127
1128
      responses:
        201:
rameshnaraya's avatar
rameshnaraya committed
1129
          description: >
1130
            201 Created
1131

1132
            Representation of the created subscription resource.
rameshnaraya's avatar
rameshnaraya committed
1133
1134
            The HTTP response shall include a "Location"
            HTTP header that points to the created subscription resource.
1135
1136
1137
1138
1139
1140
1141
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1142
              type: "string"
1143
1144
              description: >
                Challenge if the corresponding HTTP request has not provided
1145
1146
1147
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1148
              minimum: 0
1149
1150
1151
1152
1153
1154
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1155
1156
1157
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1158
1159
              properties:
                PkgmSubscription:
1160
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
        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"
1181
    get:
1182
      summary: Query multiple subscriptions.
1183
      description: >
rameshnaraya's avatar
rameshnaraya committed
1184
1185
1186
1187
1188
        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.
1189
1190
1191
1192
1193
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
1194
          description: >
1195
1196
1197
            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.
1198
            All attribute names that appear in the PkgmSubscription and in data types
1199
            referenced from it shall be supported by the NFVO in the filtering expression.
1200
1201
1202
1203
1204
1205
1206
        - 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
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
        - 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
1221
1222
1223
1224
1225
1226
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1227
1228
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1229
          description: >
1230
            200 OK
1231

rameshnaraya's avatar
rameshnaraya committed
1232
            Active subscriptions of the functional block that invokes the method.
1233
1234
1235
1236
1237
1238
1239
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1240
              type: "string"
1241
1242
              description: >
                Challenge if the corresponding HTTP request has not provided
1243
1244
1245
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1246
              minimum: 0
1247
1248
1249
1250
1251
1252
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1253
1254
1255
1256
1257
1258
            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
1259
1260
1261
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1262
1263
              properties:
                PkgmSubscription:
1264
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
        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"
1283
1284
1285
1286

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
1287
  '/subscriptions/{subscriptionId}':
1288
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.9
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
    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:
1301
      summary: Read an individual subscription resource.
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
      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
1320
1321
1322
1323
1324
1325
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1326
1327
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1328
          description: >
1329
            200 OK
1330

1331
1332
1333
1334
1335
1336
1337
1338
            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:
1339
              type: "string"
1340
1341
              description: >
                Challenge if the corresponding HTTP request has not provided
1342
1343
1344
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1345
              minimum: 0
1346
1347
1348
1349
1350
1351
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1352
          schema:
rameshnaraya's avatar
rameshnaraya committed
1353
            properties:
1354
              PkgmSubscription:
1355
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
        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:
1375
      summary: Terminate a subscription.
1376
      description: >
1377
1378
1379
1380
1381
1382
1383
1384
1385
        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
1386
1387
1388
1389
1390
1391
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1392
1393
      responses:
        204:
1394
          description: >
1395
            No Content
1396
1397
1398
1399

            The subscription resource was deleted successfully.
          headers:
            WWW-Authenticate:
1400
              type: "string"
1401
1402
              description: >
                Challenge if the corresponding HTTP request has not provided
1403
1404
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
1405
1406
              maximum: 1
              minimum: 0
1407
1408
1409
1410
1411
1412
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
        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
1429
1430
1431
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1432
1433
1434
1435
1436
  ##################################################################################
  # Notification endpoint                                                          #
  # Dummy URI is used for testing.                                                 #
  # In real, resource URI is provided by the client when creating the subscription.#
  ##################################################################################
1437
1438
  '/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
1439
    post:
1440
      summary: Notify about VNF package onboarding or change
rameshnaraya's avatar
rameshnaraya committed
1441
1442
1443
1444
      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,
1445
        request and response data structures, and response codes.        
rameshnaraya's avatar
rameshnaraya committed
1446
1447
1448
      parameters:
        - name: VnfPackageOnboardingNotification
          description: >
1449
            A notification about on-boarding of a VNF package.
rameshnaraya's avatar
rameshnaraya committed
1450
1451
1452
1453
1454
          in: body
          required: true
          schema:
            properties:
              VnfPackageOnboardingNotification:
1455
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageOnboardingNotification"
rameshnaraya's avatar
rameshnaraya committed
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
        - 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
1477
1478
1479
1480
1481
1482
        - 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
1483
1484
1485
      responses:
        204:
          description: >
1486
            204 No Content
1487

1488
1489
1490
1491
1492
1493
1494
1495
1496
            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
1497
              minimum: 0
1498
1499
1500
1501
1502
1503
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
rameshnaraya's avatar
rameshnaraya committed
1504
1505
1506
1507
1508
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1509
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1510
1511
1512
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1513
1514
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1515
1516
1517
1518
1519
1520
1521
1522
1523
  '/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.        
1524
      parameters:
1525
1526
1527
1528
1529
1530
1531
1532
        - name: VnfPackageChangeNotification
          description: >
            A notification about changes of status in a VNF package.
          in: body
          required: true
          schema:
            properties:
              VnfPackageChangeNotification:
1533
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageChangeNotification"
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
        - 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
1555
1556
1557
1558
1559
1560
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1561
1562
1563
1564
      responses:
        204:
          description: >
            204 No Content
1565

1566
1567
1568
1569
1570
1571
1572
1573
1574
            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
1575
              minimum: 0
1576
1577
1578
1579
1580
1581
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1582
1583
1584
1585
1586
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1587
          $ref: "responses/SOL005_resp.yaml#/responses/403"
1588
1589
1590
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1591
1592
          $ref: "responses/SOL005_resp.yaml#/responses/503"

rameshnaraya's avatar
rameshnaraya committed
1593
    get:
1594
      summary: Test the notification endpoint
rameshnaraya's avatar
rameshnaraya committed
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
      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
1615
1616
1617
1618
1619
1620
        - 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
1621
1622
1623
      responses:
        204:
          description: >
1624
            204 No Content
1625

rameshnaraya's avatar
rameshnaraya committed
1626
1627
1628
1629
1630
1631
1632
            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:
1633
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1634
1635
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
1636
1637
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
For faster browsing, not all history is shown. View entire blame