Commit 49717561 authored by Yuya Kuno's avatar Yuya Kuno
Browse files

MR to align SOL023 v0.0.12

parent 20bffcea
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ info:
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

paths:
  /cert/api_versions:
  /nfv-cert/api_versions:
    $ref: ../endpoints/SOL023_endpoints.yaml#/endpoints/api-versions
  /vnflcm/api_versions:
    $ref: ../endpoints/SOL023_endpoints.yaml#/endpoints/api-versions
+8 −542
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ info:
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 023 V5.2.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/023/05.02.01_60/gs_nfv-sol023v050201p.pdf
  description: ETSI GS NFV-SOL 023 V5.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/023/05.03.01_60/gs_nfv-sol023v050301p.pdf

servers:
  - url: http://127.0.0.1/cm/v2
@@ -38,9 +38,9 @@ paths:
    
    post:
      description: |
         The POST method creates a new subject resource. See clause 5.5.3.3.1. 
         The POST method creates a new subject resource. See clause 5.6.3.3.3.1. 
      requestBody:
        $ref: "#/components/requestBodies/CreateSubjectRequest"   
        $ref: "#/components/requestBodies/RegistrationRequest"   
      responses:
        "201": 
          $ref: "#/components/responses/SubjectInstance.Post.201"
@@ -67,7 +67,7 @@ paths:

    get:
      description: |
        The GET method queries information about multiple subject instances. See clause 5.5.3.3.2.
        The GET method queries information about multiple subject instances. See clause 5.6.3.3.3.2.
      parameters:
        - $ref: '#/components/parameters/filter_subject_instances'
        - $ref: ../components/SOL023_params.yaml#/components/parameters/all_fields_cmf
@@ -108,7 +108,7 @@ paths:
    get:
      description: |
        The GET method retrieves information about a Subject instance by reading an "Individual Subject instance"
        resource. See clause 5.5.4.3.2.
        resource. See clause 5.6.3.4.3.2.
      parameters:
        - $ref: ../components/SOL023_params.yaml#/components/parameters/Accept
      responses:
@@ -137,7 +137,7 @@ paths:

    delete:
      description: |
        This method deletes an "Individual Subject instance" resource. See clause 5.5.4.3.5. 
        This method deletes an "Individual Subject instance" resource. See clause 5.6.3.4.3.5. 
      responses:
        "204": 
          $ref: "#/components/responses/IndividualSubjectInstance.Delete.204"
@@ -160,179 +160,6 @@ paths:
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503

  /subjects/{subjectId}/certificates:
    parameters:
      - $ref: "#/components/parameters/subjectId"
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Accept
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Version
    
    post:
      description: |
        The POST method creates a new Certificate resource with certificate for VNFCI and VNF OAM. See clause 5.5.5.3.1.
      requestBody:
        $ref: "#/components/requestBodies/CSRRequest"
      responses:
        "201": 
          $ref: "#/components/responses/CertificateInstance.Post.201"
        "409":
          $ref: "#/components/responses/CertificateInstance.Post.409"
        "400":
          $ref: ../responses/SOL023_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL023_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL023_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL023_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL023_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL023_resp.yaml#/responses/406
        "422":
          $ref: ../responses/SOL023_resp.yaml#/responses/422
        "500":
          $ref: ../responses/SOL023_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504

    get:
      description: |
        The GET method queries information about multiple subject instances. See clause 5.5.5.3.2.
      parameters:
        - $ref: '#/components/parameters/filter_certificate_instances'
        - $ref: ../components/SOL023_params.yaml#/components/parameters/all_fields_cmf
        - $ref: ../components/SOL023_params.yaml#/components/parameters/fields_cmf
        - $ref: ../components/SOL023_params.yaml#/components/parameters/exclude_fields_cmf
        - $ref: '#/components/parameters/exclude_default_certificate_instances'
        - $ref: ../components/SOL023_params.yaml#/components/parameters/nextpage_opaque_marker_cmf 
      responses:
        "200": 
          $ref: "#/components/responses/CertificateInstances.Get.200"
        "400":
          $ref: ../responses/SOL023_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL023_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL023_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL023_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL023_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL023_resp.yaml#/responses/406
        "416":
          $ref: ../responses/SOL023_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL023_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504
        
  /subjects/{subjectId}/certificates/{certificateId}:
    parameters:
      - $ref: "#/components/parameters/subjectId"
      - $ref: "#/components/parameters/certificateId"
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL023_params.yaml#/components/parameters/Version
    
    get:
      description: |
        The GET method retrieves information about a Certificate instance by reading an
        "Individual Certificate instance" resource. See clause 5.5.6.3.2.
      parameters:
        - $ref: ../components/SOL023_params.yaml#/components/parameters/Accept
      
      responses:
        "200": 
           $ref: "#/components/responses/IndividualCertificateInstance.Get.200"
        "400":
          $ref: ../responses/SOL023_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL023_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL023_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL023_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL023_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL023_resp.yaml#/responses/406
        "416":
          $ref: ../responses/SOL023_resp.yaml#/responses/416
        "500":
          $ref: ../responses/SOL023_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504
  
    delete:
      description: |
        This method deletes an "Individual Certificate instance" resource. See clause 5.5.6.3.5.
      responses:
        "204": 
          $ref: "#/components/responses/IndividualCertificateInstance.Delete.204"
        "409":
          $ref: "#/components/responses/IndividualCertificateInstance.Delete.409"
        "400":
          $ref: ../responses/SOL023_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL023_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL023_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL023_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL023_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL023_resp.yaml#/responses/406
        "500":
          $ref: ../responses/SOL023_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        
  /subjects/{subjectId}/certificates/{certificateId}/certificate_content:
    parameters:
      - $ref: "#/components/parameters/subjectId"
      - $ref: "#/components/parameters/certificateId"

    get:
      description: |
        The GET method fetches the content of a certificate content identified by the certificate
        identifier allocated by the CMF. See clause 5.5.7.3.2.
      responses:
        "200": 
          $ref: "#/components/responses/IndividualCertificateContentInstance.Get.200"
        "206":
          $ref: "#/components/responses/IndividualCertificateContentInstance.Get.206"
        "409":
          $ref: "#/components/responses/IndividualCertificateContentInstance.Get.409"
        "416":
          $ref: "#/components/responses/IndividualCertificateContentInstance.Get.416"
        "400":
          $ref: ../responses/SOL023_resp.yaml#/responses/400
        "401":
          $ref: ../responses/SOL023_resp.yaml#/responses/401
        "403":
          $ref: ../responses/SOL023_resp.yaml#/responses/403
        "404":
          $ref: ../responses/SOL023_resp.yaml#/responses/404
        "405":
          $ref: ../responses/SOL023_resp.yaml#/responses/405
        "406":
          $ref: ../responses/SOL023_resp.yaml#/responses/406
        "422":
          $ref: ../responses/SOL023_resp.yaml#/responses/422
        "500":
          $ref: ../responses/SOL023_resp.yaml#/responses/500
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504

####################################################################### 
###################### Subscription Endpoints ########################
@@ -488,34 +315,7 @@ components:
        The following attributes shall be excluded from the SubjectInstance structure in the response
        body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields",
        "exclude_default" are provided:
        -	pkiBody
      required: false
      schema:
        type: string

    filter_certificate_instances:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013 [4]. 
        The CMF shall support receiving this parameter as part of the URI query string. The VNFM may
        supply this parameter. 
        All attribute names that appear in the SubjectInstance and in data types referenced from it
        shall be supported by the CMF in the filter expression. 
      in: query
      required: false
      schema:
        type: string

    exclude_default_certificate_instances:
      name: exclude_default
      in: query
      description: >-
        Indicates to exclude the following complex attributes from the response. See clause 5.3 of
        ETSI GS NFV-SOL 013 for details. The CMF shall support this parameter.
        The following attributes shall be excluded from the SubjectInstance structure in the response
        body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields",
        "exclude_default" are provided:
        -	pkiBody
        -	subjectId
      required: false
      schema:
        type: string
@@ -535,20 +335,6 @@ components:
      schema:
        type: string
      
    certificateId:
      name: certificateId
      in: path
      description: |
        certificateId	Identifier of the Certificate instance. See note.

        NOTE:	This identifier can be retrieved from the resource referenced by the "Location" HTTP
        header in the response to a POST request creating a new "Individual Certificate instance" resource.
        It can also be retrieved from the "id" attribute in the message content of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

############################# For Subscriptions Resources #############################
    
@@ -820,326 +606,6 @@ components:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"

    CertificateInstance.Post.201:
      description: >
        201 CREATED

        Shall be returned when a new "Individual Certificate instance" resource and the associated Certificate instance identifier has been created successfully. 

        The response body shall contain a representation of the created Certificate instance, as defined in clause 5.6.2.3.

        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created Certificate instance.
      headers:
        Location:
          description: |
            The resource URI of the created subject resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 9110
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "./definitions/SOL023CertificateManagement_def.yaml#/definitions/CertificateInstance"
    
    CertificateInstance.Post.409:
      description: >
        409 CONFLICT

        Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource.

        The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error.
      headers:
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"
    
    CertificateInstances.Get.200:
      description: >
        201 OK

        Shall be returned when information about zero or more subject instances has been queried successfully.

        The response body shall contain in an array the representations of zero or more subject instances, as
        defined in clause 5.6.2.3.

        If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields"
        (if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response
        body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of
        ETSI GS NFV SOL 013, respectively.

        If the CMF supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 for
        this resource, inclusion of the Link HTTP header in this response shall follow the provisions in
        clause 5.4.2.3 of ETSI GS NFV SOL 013.
      headers:
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Link:
          description: |
            Reference to other resources. Used for paging in the present document.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 9110
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: "./definitions/SOL023CertificateManagement_def.yaml#/definitions/CertificateInstance"

    IndividualCertificateInstance.Get.200:
      description: >
        200 OK
      
        Shall be returned when information about an individual Certificate instance has been read successfully.
        The response body shall contain a representation of the Certificate instance, as defined in clause 5.6.2.3.
      headers:
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 9110
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "./definitions/SOL023CertificateManagement_def.yaml#/definitions/CertificateInstance"

    IndividualCertificateInstance.Delete.204:
      description: |
        204 NO CONTENT

        Shall be returned when the "Individual Certificate instance" resource and the associated
        Certificate identifier were deleted successfully.
        The response body shall be empty.
      headers:
        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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    IndividualCertificateInstance.Delete.409:
      description: |
        409 CONFLICT

        Shall be returned upon the following 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 "Individual VNF instance" resource is in INSTANTIATED state.
        The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 9110
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"
    
    IndividualCertificateContentInstance.Get.200:
      description: >
        200 OK

        Shall be returned when the whole content of the certificate file has been read successfully.

        The response body shall include a copy of the certificate file.

        The "Content-Type HTTP" header shall be set according to the type of the file, i.e. to "application/text" for a certificate content according to IETF RFC 7468[a].
      headers:
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string

    IndividualCertificateContentInstance.Get.206:
      description: |
        206 PARTIAL CONTENT

        If the CMF supports range requests, this response shall be returned when a single consecutive byte range from the content of the certificate file has been read successfully according to the request.

        The response body shall contain the requested part of the certificate file.

        The "Content-Range" HTTP header shall be provided according to IETF RFC 9110 [c].

        The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response.
      headers:
        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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Range:
          required : true
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/*:
          schema:
            type: string
            format: binary

    IndividualCertificateContentInstance.Get.409:
      description: >
        409 CONFLICT

        Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource.

        The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error.
      headers:
        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.
          schema:
            type: string
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"

    IndividualCertificateContentInstance.Get.416:
      description: |
        416 RANGE NOT SATISFIABLE

        Shall be returned upon the following error: The byte range passed in the "Range" header did not match any available byte range in the certificate file (e.g. "access after end of file"). 

        The response body may contain a ProblemDetails structure.
      headers:
        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.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"

    ####################################################################### 
    ################# Subscription Endpoints Response Bodies ##############
+164 −234

File changed.

Preview size limit exceeded, changes collapsed.