NSDManagement.yaml 52.2 KB
Newer Older
1
swagger: "2.0"
2

3
info:
4 5 6 7 8 9
  description: >
    "DRAFT - SOL005 - NSD Management Interface IMPORTANT: Please note that
    this file might be not aligned to the current version of the ETSI Group Specification
    it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies
    the published ETSI Group Specification takes precedence. Please report bugs
    to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis"
10
  version: "2.4.1"
11 12 13
  title: "DRAFT - SOL005 - NSD Management Interface"
  contact:
    name: "NFV-SOL WG"
14 15
  license:
    name: "ETSI Forge copyright notice"
16
    url: "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
17 18 19 20 21 22 23 24
externalDocs:
  description: "ETSI GS NFV-SOL 005 V2.4.1"
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf

basePath: "/nsd/v1"
schemes:
  - https
  
25
consumes:
26
- "application/json"
27
produces:
28
- "application/json"
29

30
paths:
31 32 33 34 35
###############################################################################
# NS Descriptors                                                              #
###############################################################################
  '/ns_descriptors':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 5.4.2.3.2
36
    get:
37 38 39 40 41 42
      summary: "Query information about multiple NS descriptor resources."
      description: > 
        "The GET method queries information about multiple NS descriptor resources.
        This method shall follow the provisions specified in the 
        Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 for URI query parameters,
        request and response data structures, and response codes."
43
      parameters:
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI query
            string. The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the NsdInfo and in data types referenced from
            it shall be supported in attribute-based filtering parameters."
        - name: "all_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Include all complex attributes in the response. See clause 4.3.3 for details.
             The NFVO shall support this parameter."
        - name: "fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be included into the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."          
        - name: "exclude_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be excluded from the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."
        - name: "exclude_default"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Indicates to exclude the following complex attributes from the response. See
            clause 4.3.3 for details. The VNFM shall support this parameter.
            The following attributes shall be excluded from the NsdInfo structure in the
            response body if this parameter is provided, or none of the parameters
            "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
            userDefinedData."
        - 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           
100 101
      responses:
        200:
102 103 104 105 106
          description: >
            "Information about zero or more NS descriptors.
            The response body shall contain a representation of
            zero or more NS descriptors, as defined in
            clause 5.5.2.2"
107
          schema:
108
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"            
109 110
          headers:
            Content-Type:
111 112
              type: string            
              description: The MIME type of the body of the response.
113
            WWW-Authenticate:
114 115 116 117 118
              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.            
119
        400:
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
          $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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"           
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"    
141
    post:
142 143 144 145 146 147
      summary: "Create a new NS descriptor resource."
      description: >  
        "The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor
        resource. This method shall follow the provisions specified in the 
        Tables 5.4.2.3.1-1 and 5.4.2.3.1-2 for URI query parameters,
        request and response data structures, and response codes."
148
      parameters:
149 150 151 152
      - name: "createNsdInfoRequest"
        description: >
          "The CreateNsdInfoRequest contains parameters for creating
          an NS descriptor resource, as defined in clause 5.5.2.4 of GS NFV-SOL 005."
153 154 155
        in: "body"
        required: true
        schema:
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
          $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreateNsdInfoRequest"            
      - 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                  
178 179
      responses:
        201:
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
          description: >  
            Status 201
            
            An NS descriptor resource was created
            successfully, as a new NS descriptor resource.
            The response body shall contain a representation of
            the new NS descriptor resource, as defined in
            clause 5.5.2.2.
            The HTTP response shall include a "Location"
            HTTP header that contains the resource URI of the
            new NS descriptor resource.
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"          
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"            
213 214
          schema:
            type: "object"
215 216 217 218 219
            description: >  
              "An NS descriptor resource was created successfully, as a
              new NS descriptor resource. The response body shall contain a representation
              of the new NS descriptor resource, as defined in clause 5.5.2.2 of
              GS NFV-SOL 005."
220 221
            properties:
              NsdInfo:
222
                $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
223 224 225
          headers:
            Location:
              type: "string"
226 227 228 229 230 231 232
              description: >  
                "The HTTP response shall include a "Location" HTTP header
                that contains the resource URI of the new NS descriptor resource."
###############################################################################
# Individual NS Descriptor                                                    #
###############################################################################                
  '/ns_descriptors/{nsdInfoId}':
233
    get:
234 235 236 237 238 239
      summary: "Read information about an individual NS descriptor resource."
      description: >  
        "The GET method reads information about an individual NS descriptor.
        This method shall follow the provisions specified in GS NFV-SOL 005 Tables
        5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters,
        request and response data structures, and response codes."
240
      parameters:
241 242 243 244 245 246 247 248 249 250 251 252 253 254
        - 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      
255 256
      responses:
        200:
257 258 259 260 261 262 263
          description: >  
            200 OK
            
            Information about the individual NS descriptor.
            The response body shall contain a representation of
            the individual NS descriptor, as defined in
            clause 5.5.2.2.
264
          schema:
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfo"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"        
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"              
288
    delete:
289 290 291 292 293 294 295 296 297
      summary: "Delete an individual NS descriptor resource."
      description: >  
        "The DELETE method deletes an individual NS descriptor resource.
        An individual NS descriptor resource can only be deleted when there is no
        NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled
        already (i.e. operationalState = DISABLED). Otherwise, the DELETE method
        shall fail. This method shall follow the provisions specified in the Tables
        5.4.3.3.5-1 and 5.4.3.3.5-2 of GS NFV-SOL 005 for URI query parameters,
        request and response data structures, and response codes."
298
      parameters:
299 300 301 302 303 304 305
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string          
306 307
      responses:
        204:
308 309 310 311 312
          description: >  
            204 No Content
            
            The operation has completed successfully.
            The response body shall be empty.
313 314
          headers:
            WWW-Authenticate:
315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
              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.
              type: string
              maximum: 1
              minimum: 0
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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"
334
        409:
335 336 337 338 339 340 341 342 343
          $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"              
344 345
    patch:
      summary: "Update NSD Info"
346 347 348 349 350 351 352 353 354 355 356 357 358
      description: >  
        "The PATCH method modifies the operational state and/or user defined
        data of an individual NS descriptor resource.  This method can be used to:
        1) Enable a previously disabled individual NS descriptor resource, allowing
        again its use for instantiation of new network service with this descriptor.
        The usage state (i.e. "IN_USE/NOT_IN_USE") shall not change as result.
        2) Disable a previously enabled individual NS descriptor resource, preventing
        any further use for instantiation of new network service(s) with this descriptor.
        The usage state (i.e. "IN_USE/NOT_IN_USE") shall not changes a result.
        3) Modify the user defined data of an individual NS descriptor resource.
        This method shall follow the provisions specified in the Tables 5.4.3.3.4-1
        and 5.4.3.3.4-2 for URI query parameters,request and response data structures,
        and response codes."
359
      parameters:
360
      - name: "NsdInfoModifications"
361 362 363 364 365 366 367 368
        in: "body"
        required: true
        schema:
          type: "object"
          required:
          - "NsdInfoModifications"
          properties:
            NsdInfoModifications:
369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications"
          description: >  
            "The operation was completed successfully. The response body
            shall contain attribute modifications for an 'Individual NS Descriptor'
            resource (see clause 5.5.2.6 of GS NFV SOL-005)."
      - 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                    
      responses:      
389
        200:
390 391 392 393 394
          description: >
            Information about the individual NS descriptor.
            The response body shall contain a representation of
            the individual NS descriptor, as defined in
            clause 5.5.2.2.
395 396
          headers:
            Content-Type:
397 398 399 400
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
401
            WWW-Authenticate:
402 403 404 405 406 407 408
              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.
              type: string
              maximum: 1
              minimum: 0
409
          schema:
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
            type: array
            items:
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" 
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
427
        412:
428 429 430 431 432 433 434 435
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"  
          
436 437
    parameters:
    - name: "nsdInfoId"
438 439
      description: >
        Identifier of the individual NS descriptor resource.
440 441 442
      in: "path"
      required: true
      type: "string"
443 444 445 446
###############################################################################
# NSD Content                                                                 #
###############################################################################         
  '/ns_descriptors/{nsdInfoId}/nsd_content':
447
    get:
448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464
      summary: "Fetch the content of a NSD."
      description: >  
        "The GET method fetches the content of the NSD.The NSD can
        be implemented as a single file or as a collection of multiple files. If
        the NSD is implemented in the form of multiple files, a ZIP file embedding
        these files shall be returned. If the NSD is implemented as a single file,
        either that file or a ZIP file embedding that file shall be returned.
        The selection of the format is controlled by the "Accept" HTTP header passed
        in the GET request:• If the "Accept" header contains only "text/plain"
        and the NSD is implemented as a single file, the file shall be returned;
        otherwise, an error message shall be returned.• If the "Accept" header
        contains only "application/zip", the single file or the multiple files
        that make up the NSD shall be returned embedded in a ZIP file.• If the
        "Accept" header contains both "text/plain" and "application/zip",
        it is up to the NFVO to choose the format to return for a single-file NSD;
        for a multi-file NSD, a ZIP file shall be returned.NOTE: The structure
        of the NSD zip file is outside the scope of the present document."
465
      parameters:
466 467 468 469
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
        in: header
470
        required: true
471 472 473 474 475 476 477 478 479
        type: string
        enum: 
          - text/plain
          - application/zip
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
480
        required: false
481 482
        type: string
      - name: "Range"
483 484 485
        in: "header"
        required: false
        type: "string"
486 487 488 489 490 491 492
        description: >  
          "The request may contain a "Range" HTTP header to obtain single
          range of bytes from the NSD file. This can be used to continue an aborted
          transmission.If the NFVO does not support range requests, the NFVO
          shall ignore the 'Range" header, process the GET request, and return
          the whole NSD file with a 200 OK response (rather than returning a 4xx
          error status code)."
493 494
      responses:
        200:
495 496 497 498 499 500 501
          description: >  
            "On success, the content of the NSD is returned. The payload
            body shall contain a copy of the file representing the NSD or a ZIP
            file that contains the file or multiple files representing the NSD,
            as specified above. The "Content-Type" HTTP header shall be set according
            to the format of the returned file, i.e. to "text/plain" for a YAML
            file or to "application/zip" for a ZIP file."
502 503
          headers:
            Content-Type:
504 505 506 507
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
508
            WWW-Authenticate:
509 510 511 512 513 514 515 516
              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.
              type: string
              maximum: 1
              minimum: 0

517
        206:
518 519 520 521 522 523 524 525 526 527 528
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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"
529
        406:
530
          $ref: "responses/SOL005_resp.yaml#/responses/406"
531
        409:
532 533 534
          $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
535
        416:
536 537 538 539 540 541
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"           
              
542
    put:
543 544 545 546 547 548 549 550 551 552 553 554 555 556 557
      summary: "Upload the content of a NSD."
      description: >  
        "The PUT method is used to upload the content of a NSD. The NSD
        to be uploaded can be implemented as a single file or as a collection of
        multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. If the
        NSD is implemented in the form of multiple files, a ZIP file embedding these
        files shall be uploaded. If the NSD is implemented as a single file, either
        that file or a ZIP file embedding that file shall be uploaded. The "Content-Type"
        HTTP header in the PUT request shall be set accordingly based on the format
        selection of the NSD. If the NSD to be uploaded is a text file, the "Content-Type"
        header is set to "text/plain". If the NSD to be uploaded is a zip file,
        the "Content-Type" header is set to "application/zip". This method shall
        follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2
        of GS-NFV-SOL 005 for URI query parameters, request and response data structures,
        and response codes."
558
      parameters:
559 560 561 562
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
        in: header
563
        required: true
564 565 566 567 568 569 570 571 572 573 574
        type: string
        enum: 
          - text/plain
          - application/zip
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
575 576
      responses:
        202:
577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592
          description: >  
            "Status 202"
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              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.
              type: string
              maximum: 1
              minimum: 0
593
        204:
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610
          description: >  
            "The NSD content was successfully uploaded and validated (synchronous
            mode). The response body shall be empty."
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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"
611
        409:
612 613 614 615 616 617 618 619 620 621
          $ref: "responses/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503" 
          
622 623 624 625 626
    parameters:
    - name: "nsdInfoId"
      in: "path"
      required: true
      type: "string"
627 628 629 630
###############################################################################
# PNF Descriptors                                                             #
###############################################################################      
  '/pnf_descriptors':
631
    get:
632 633 634 635
      summary: "Query information about multiple PNF descriptor resources."
      description: >  
        "The GET method queries information about multiple PNF descriptor
        resources."
636
      parameters:
637
      - name: "filter"
638 639 640
        in: "query"
        required: false
        type: "string"
641 642 643 644 645 646
        description: >  
          Attribute-based filtering parameters according to clause 4.3.2.
          The NFVO shall support receiving filtering parameters as part of the URI
          query string. The OSS/BSS may supply filtering parameters.
          All attribute names that appear in the PnfdInfo and in data types referenced
          from it shall be supported in attribute-based filtering parameters.
647 648 649 650
      - name: "all_fields"
        in: "query"
        required: false
        type: "string"
651 652 653 654 655
        description: >  
          Include all complex attributes in the response. See clause 4.3.3 for details.
          The NFVO shall support this parameter.    
      - name: "fields"
        in: "query"
656 657
        required: false
        type: "string"
658 659 660 661 662 663 664 665 666 667 668 669
        description: >  
          Complex attributes to be included into the response. See clause 4.3.3 for
          details. The NFVO should support this parameter.          
      - name: "exclude_fields"
        in: "query"
        required: false
        type: "string"
        description: >  
          Complex attributes to be excluded from the response. See clause 4.3.3 for
          details. The NFVO should support this parameter.
      - name: "exclude_default"
        in: "query"
670 671
        required: false
        type: "string"
672 673 674 675 676 677 678
        description: >  
          Indicates to exclude the following complex attributes from the response. See
          clause 4.3.3 for details. The NFVO shall support this parameter.
          The following attributes shall be excluded from the PnfdInfo structure in the
          response body if this parameter is provided, or none of the parameters
          "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
          userDefinedData.
679 680
      responses:
        200:
681 682 683 684 685 686 687
          description: >  
            200 OK
            
            Information about zero or more PNF descriptors.
            The response body shall contain a representation of
            zero or more PNF descriptors, as defined in
            clause 5.5.2.2
688 689
          headers:
            Content-Type:
690 691 692 693
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
694
            WWW-Authenticate:
695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727
              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.
              type: string
              maximum: 1
              minimum: 0
          schema:
            type: array
            items:
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"                
728
    post:
729 730 731
      summary: "Create a new PNF descriptor resource."
      description: >  
        "The POST method is used to create a new PNF descriptor resource."
732
      parameters:
733 734 735
      - name: "CreatePnfdInfoRequest"
        description: >
          "Parameters of creating a PNF descriptor resource, as defined in clause 5.5.2.6."
736 737 738
        in: "body"
        required: true
        schema:
739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
          $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/CreatePnfdInfoRequest"            
      - 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
761 762
      responses:
        201:
763 764 765 766 767 768 769 770
          description: >  
            Status 201

            A PNF descriptor resource was created successfully, as a
            new PNF descriptor resource. The response body shall contain a representation
            of the new PNF descriptor resource, as defined in clause 5.5.2.5.
            The HTTP response shall include a "Location" HTTP header that contains
            the resource URI of the new PNF descriptor resource.
771 772
          headers:
            Content-Type:
773 774 775 776
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
777
            WWW-Authenticate:
778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814
              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.
              type: string
              maximum: 1
              minimum: 0  
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"              
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"               
###############################################################################
# Individual PNF Descriptor                                                   #
###############################################################################               
  '/pnf_descriptors/{pnfdInfoId}':
815
    get:
816 817 818 819 820 821
      summary: "Read an individual PNFD resource."
      description: >  
        "The GET method reads information about an individual PNF descriptor.
        This method shall follow the provisions specified in the Tables 5.4.6.3.2-1
        and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and
        response data structures, and response codes."
822 823
      responses:
        200:
824 825 826 827 828 829
          description: >  
            Information about the individual PNFD descriptor.
            
            The response body shall contain a representation of
            the individual PNF descriptor, as defined in
            clause 5.5.2.5.
830 831
          headers:
            Content-Type:
832 833 834 835
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
836
            WWW-Authenticate:
837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867
              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.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfo"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"            
868
    delete:
869 870 871 872 873 874 875 876 877 878 879 880
      summary: "Delete an individual PNF descriptor resource."
      description: >  
        "The DELETE method deletes an individual PNF descriptor resource.
        An individual PNF descriptor resource can only be deleted when there is
        no NS instance using it or there is NSD referencing it. To delete all PNFD
        versions identified by a particular value of the "pnfdInvariantId" attribute,
        the procedure is to first use the GET method with filter "pnfdInvariantId"
        towards the PNF descriptors resource to find all versions of the PNFD. Then,
        the client uses the DELETE method described in this clause to delete each
        PNFD version individually. This method shall follow the provisions specified
        in the Tables 5.4.6.3.5-1 and 5.4.6.3.5-2 of GS NFV-SOL 005 for URI query
        parameters, request and response data structures, and response codes."
881 882
      responses:
        204:
883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911
          description: >  
            204 No Content
            
            The operation has completed successfully.
            The response body shall be empty.                   
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
912
    patch:
913 914 915 916 917 918
      summary: "Modify the user defined data of an individual PNF descriptor resource."
      description: >  
        "The PATCH method modifies the user defined data of an individual
        PNF descriptor resource. This method shall follow the provisions specified
        in the Tables 5.4.6.3.4-1 and 5.4.6.3.4-2 for URI query parameters, request
        and response data structures, and response codes."
919 920 921 922 923
      parameters:
      - name: "body"
        in: "body"
        required: true
        schema:
924
          $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications"
925 926
      responses:
        200:
927 928 929 930 931 932 933 934
          description: >  
            200 OK
            
            The operation was completed successfully.
            
            The response body shall contain attribute
            modifications for an 'Individual PNF Descriptor'
            resource (see clause 5.5.2.4).    
935 936
          headers:
            Content-Type:
937 938 939 940
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
941
            WWW-Authenticate:
942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966
              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.
              type: string
              maximum: 1
              minimum: 0
          schema:            
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/PnfdInfoModifications"
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
967
        412:
968 969 970 971 972 973 974
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"                   
975 976
    parameters:
    - name: "pnfdInfoId"
977 978
      description: >
        Identifier of the individual PNF descriptor resource.
979 980 981
      in: "path"
      required: true
      type: "string"
982 983 984 985
###############################################################################
# PNFD Content                                                                #
###############################################################################       
  '/pnf_descriptors/{pnfdInfoId}/pnfd_content':
986
    get:
987 988 989
      summary: "Fetch the content of a PNFD."
      description: >  
        "The GET method fetches the content of the PNFD."
990
      parameters:
991 992 993 994
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
        in: header
995
        required: true
996 997 998 999 1000 1001 1002 1003
        type: string
        enum: 
          - text/plain
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
1004
        required: false
1005
        type: string        
1006 1007
      responses:
        200:
1008 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 1040 1041 1042 1043 1044
          description: >  
            200 OK
            
            On success, the content of the PNFD is returned. The payload
            body shall contain a copy of the file representing the PNFD. 
            The Content-Type" HTTP header shall be set to "text/plain".
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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:
          description: >
            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact pnfdOnboardingState
            has a value different from ONBOARDED.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error.
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"            
1045
    put:
1046 1047 1048 1049 1050 1051
      summary: "Upload the content of a PNFD."
      description: >  
        "The PUT method is used to upload the content of a PNFD. This method
        shall follow the provisions specified in the Tables 5.4.7.3.3-1 and 5.4.7.3.3-2
        of GS NFV-SOL 005for URI query parameters, request and response data structures,
        and response codes."
1052
      parameters:
1053 1054 1055 1056
      - name: Accept
        description: >
          Content-Types that are acceptable for the response.
        in: header
1057
        required: true
1058 1059 1060 1061 1062 1063 1064 1065 1066 1067
        type: string
        enum: 
          - text/plain
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
1068 1069
      responses:
        204:
1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088
          description: >  
            204 No Content
            
            The PNFD content was successfully uploaded and validated. 
            The response body shall be empty.
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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"
1089
        409:
1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108
          description: >
            409 Conflict
            
            Error: The operation cannot be executed currently,
            due to a conflict with the state of the resource.
            Typically, this is due to the fact that the
            PnfdOnboardingState has a value other than
            CREATED.
            The response body shall contain a ProblemDetails
            structure, in which the "detail" attribute shall convey
            more information about the error..
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
1109 1110
    parameters:
    - name: "pnfdInfoId"
1111 1112
      description: >
        Identifier of the individual PNF descriptor.
1113 1114 1115
      in: "path"
      required: true
      type: "string"
1116 1117 1118 1119
###############################################################################
# Subscriptions                                                               #
###############################################################################       
  '/subscriptions':
1120
    get:
1121 1122 1123 1124 1125 1126 1127
      summary: "Query multiple subscriptions."
      description: >  
        "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 support the URI query parameters,
        request and response data structures, and response codes, as specified in
        the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2 of GS NFV-SOL 005."
1128
      parameters:
1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI query string. The
            OSS/BSS may supply filtering parameters.
            All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall
            be supported in attribute-based filtering 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            
1153 1154
      responses:
        200:
1155 1156 1157 1158 1159
          description: >
            The list of subscriptions was queried successfully.
            The response body shall contain the representations of
            all active subscriptions of the functional block that
            invokes the method.
1160 1161
          headers:
            Content-Type:
1162 1163 1164 1165 1166 1167 1168 1169
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Location:
              description: The resource URI of the created NS instance
              type: string
              format: url
1170
            WWW-Authenticate:
1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185
              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.
              type: string
              maximum: 1
              minimum: 0            
          schema:
            type: "array"
            description: >  
              "The list of subscriptions was queried successfully. The
              response body shall contain the representations of all active subscriptions
              of the functional block that invokes the method."
            items:
              $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
1186
        303:
1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219
          description: >  
            A subscription with the same callbackURI and the
            same filter already exits and the policy of the NFVO is
            to not create redundant subscriptions.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the existing
            subscription resource.
            The response body shall be empty.
        206:
          $ref: "responses/SOL005_resp.yaml#/responses/206"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        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/NSDescriptorManagement_resp.yaml#/responses/409"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"         
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
1220
    post:
1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235
      summary: "Subscribe to NSD and PNFD change notifications."
      description: >  
        "The POST method creates a new subscription. This method shall
        support the URI query parameters, request and response data structures,
        and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2
        of GS-NFV SOL 005. 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)."
1236 1237 1238 1239 1240
      parameters:
      - name: "body"
        in: "body"
        required: true
        schema:
1241
          $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscriptionRequest"
1242 1243
      responses:
        201:
1244 1245
          description: >  
            "Status 201"
1246
          schema:
1247
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
1248 1249 1250
          headers:
            Location:
              type: "string"
1251 1252 1253 1254 1255 1256 1257
              description: >  
                "The HTTP response shall include a "Location:"HTTP
                header that points to the created subscription resource."
###############################################################################
# Individual Subscription                                                     #
###############################################################################                 
  '/subscriptions/{subscriptionId}':
1258
    get:
1259 1260 1261 1262 1263 1264 1265
      summary: "Read an individual subscription resource."
      description: >  
        "The GET method retrieves information about a subscription by reading
        an individual subscription resource. This method shall support the URI query
        parameters, request and response data structures, and response codes, as
        specified in the Tables 5.4.9.3.2-1 and 5.4.9.3.2-2."
      parameters: []
1266 1267
      responses:
        200:
1268 1269
          description: >  
            "Status 200"
1270
          schema:
1271
            $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdmSubscription"
1272 1273
    delete:
      summary: "Terminate Subscription"
1274 1275 1276 1277 1278 1279
      description: >  
        "The DELETE method terminates an individual subscription. This
        method shall support the URI query parameters, request and response data
        structures, and response codes, as specified in the Tables 5.4.9.3.5-1 and
        5.4.9.3.3-2 of GS NFV-SOL 005."
      parameters: []
1280 1281
      responses:
        204:
1282 1283 1284
          description: >  
            "The subscription resource was deleted successfully. The response
            body shall be empty."
1285 1286 1287 1288
    parameters:
    - name: "subscriptionId"
      in: "path"
      required: true
1289
      type: "string"