VNFPackageManagement.yaml 59.3 KB
Newer Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
        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                                                               #
  ###############################################################################
1019
  '/subscriptions':
1020
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.8
1021
    post:
rameshnaraya's avatar
rameshnaraya committed
1022
      summary: Subscribe to notifications related to on-boarding and/or changes of VNF packages.
1023
      description: >
1024
        The POST method creates a new subscription.
rameshnaraya's avatar
rameshnaraya committed
1025
1026
1027
1028
1029
1030
1031
1032
        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).
1033
      parameters:
1034
        - name: Accept
1035
          description: >
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
            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
1055
1056
1057
1058
1059
1060
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
        - 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.

1076
1077
      responses:
        201:
rameshnaraya's avatar
rameshnaraya committed
1078
          description: >
1079
            201 Created
1080

1081
            Representation of the created subscription resource.
rameshnaraya's avatar
rameshnaraya committed
1082
1083
            The HTTP response shall include a "Location"
            HTTP header that points to the created subscription resource.
1084
1085
1086
1087
1088
1089
1090
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1091
              type: "string"
1092
1093
              description: >
                Challenge if the corresponding HTTP request has not provided
1094
1095
1096
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1097
              minimum: 0
1098
1099
1100
1101
1102
1103
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1104
1105
1106
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1107
1108
              properties:
                PkgmSubscription:
1109
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
        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"
1130
    get:
1131
      summary: Query multiple subscriptions.
1132
      description: >
rameshnaraya's avatar
rameshnaraya committed
1133
1134
1135
1136
1137
        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.
1138
1139
1140
1141
1142
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
1143
          description: >
1144
1145
1146
            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.
1147
            All attribute names that appear in the PkgmSubscription and in data types
1148
            referenced from it shall be supported by the NFVO in the filtering expression.
1149
1150
1151
1152
1153
1154
1155
        - 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
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
        - 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
1170
1171
1172
1173
1174
1175
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1176
1177
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1178
          description: >
1179
            200 OK
1180

rameshnaraya's avatar
rameshnaraya committed
1181
            Active subscriptions of the functional block that invokes the method.
1182
1183
1184
1185
1186
1187
1188
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
1189
              type: "string"
1190
1191
              description: >
                Challenge if the corresponding HTTP request has not provided
1192
1193
1194
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1195
              minimum: 0
1196
1197
1198
1199
1200
1201
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1202
1203
1204
1205
1206
1207
            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
1208
1209
1210
          schema:
            type: array
            items:
rameshnaraya's avatar
rameshnaraya committed
1211
1212
              properties:
                PkgmSubscription:
1213
                  $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
        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"
1232
1233
1234
1235

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
1236
  '/subscriptions/{subscriptionId}':
1237
    #ETSI GS NFV-SOL 005 V2.4.1 location: 9.4.9
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
    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:
1250
      summary: Read an individual subscription resource.
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
      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
1269
1270
1271
1272
1273
1274
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1275
1276
      responses:
        200:
rameshnaraya's avatar
rameshnaraya committed
1277
          description: >
1278
            200 OK
1279

1280
1281
1282
1283
1284
1285
1286
1287
            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:
1288
              type: "string"
1289
1290
              description: >
                Challenge if the corresponding HTTP request has not provided
1291
1292
1293
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
              maximum: 1
1294
              minimum: 0
1295
1296
1297
1298
1299
1300
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1301
          schema:
rameshnaraya's avatar
rameshnaraya committed
1302
            properties:
1303
              PkgmSubscription:
1304
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/PkgmSubscription"
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
        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:
1324
      summary: Terminate a subscription.
1325
      description: >
1326
1327
1328
1329
1330
1331
1332
1333
1334
        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
1335
1336
1337
1338
1339
1340
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1341
1342
      responses:
        204:
1343
          description: >
1344
            No Content
1345
1346
1347
1348

            The subscription resource was deleted successfully.
          headers:
            WWW-Authenticate:
1349
              type: "string"
1350
1351
              description: >
                Challenge if the corresponding HTTP request has not provided
1352
1353
                authorization, or error details if the corresponding HTTP request
                has provided an invalid authorization token.
1354
1355
              maximum: 1
              minimum: 0
1356
1357
1358
1359
1360
1361
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
        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
1378
1379
1380
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1381
1382
1383
1384
1385
  ##################################################################################
  # Notification endpoint                                                          #
  # Dummy URI is used for testing.                                                 #
  # In real, resource URI is provided by the client when creating the subscription.#
  ##################################################################################
1386
1387
  '/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
1388
    post:
1389
      summary: Notify about VNF package onboarding or change
rameshnaraya's avatar
rameshnaraya committed
1390
1391
1392
1393
      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,
1394
        request and response data structures, and response codes.        
rameshnaraya's avatar
rameshnaraya committed
1395
1396
1397
      parameters:
        - name: VnfPackageOnboardingNotification
          description: >
1398
            A notification about on-boarding of a VNF package.
rameshnaraya's avatar
rameshnaraya committed
1399
1400
1401
1402
1403
          in: body
          required: true
          schema:
            properties:
              VnfPackageOnboardingNotification:
1404
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageOnboardingNotification"
rameshnaraya's avatar
rameshnaraya committed
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
        - 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
1426
1427
1428
1429
1430
1431
        - 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
1432
1433
1434
      responses:
        204:
          description: >
1435
            204 No Content
1436

1437
1438
1439
1440
1441
1442
1443
1444
1445
            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
1446
              minimum: 0
1447
1448
1449
1450
1451
1452
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
rameshnaraya's avatar
rameshnaraya committed
1453
1454
1455
1456
1457
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1458
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1459
1460
1461
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1462
1463
          $ref: "responses/SOL005_resp.yaml#/responses/503"

1464
1465
1466
1467
1468
1469
1470
1471
1472
  '/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.        
1473
      parameters:
1474
1475
1476
1477
1478
1479
1480
1481
        - name: VnfPackageChangeNotification
          description: >
            A notification about changes of status in a VNF package.
          in: body
          required: true
          schema:
            properties:
              VnfPackageChangeNotification:
1482
                $ref: "definitions/SOL005VNFPMManagement_def.yaml#/definitions/VnfPackageChangeNotification"
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
        - 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
1504
1505
1506
1507
1508
1509
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
1510
1511
1512
1513
      responses:
        204:
          description: >
            204 No Content
1514

1515
1516
1517
1518
1519
1520
1521
1522
1523
            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
1524
              minimum: 0
1525
1526
1527
1528
1529
1530
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
1531
1532
1533
1534
1535
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
1536
          $ref: "responses/SOL005_resp.yaml#/responses/403"
1537
1538
1539
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
1540
1541
          $ref: "responses/SOL005_resp.yaml#/responses/503"

rameshnaraya's avatar
rameshnaraya committed
1542
    get:
1543
      summary: Test the notification endpoint
rameshnaraya's avatar
rameshnaraya committed
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
      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
1564
1565
1566
1567
1568
1569
        - 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
1570
1571
1572
      responses:
        204:
          description: >
1573
            204 No Content
1574

rameshnaraya's avatar
rameshnaraya committed
1575
1576
1577
1578
1579
1580
1581
            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:
1582
          $ref: "responses/SOL005_resp.yaml#/responses/403"
rameshnaraya's avatar
rameshnaraya committed
1583
1584
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
1585
1586
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
For faster browsing, not all history is shown. View entire blame