Commit 2a2a21f6 authored by Muhammad Hamza's avatar Muhammad Hamza
Browse files

add new interfaces and methods in CertificateManagement.yaml

parent 1dd0f95c
Loading
Loading
Loading
Loading
+417 −12
Original line number Diff line number Diff line
@@ -65,15 +65,50 @@ paths:
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504

    get:
      description: |
        The GET method queries information about multiple subject instances. See clause 5.5.3.3.2.
      parameters:
        - $ref: '#/components/parameters/filter_subject_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_subject_instances'
        - $ref: ../components/SOL023_params.yaml#/components/parameters/nextpage_opaque_marker_cmf
      responses:
        "200": 
          $ref: "#/components/responses/SubjectInstances.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

  /subject/{subjectId}:
    parameters:
      - $ref: "#/components/parameters/subjectId"
      - $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 Subject instance by reading an "Individual Subject instance" resource.
        See clause 5.5.4.3.2.
        The GET method retrieves information about a Subject instance by reading an "Individual Subject instance"
        resource. See clause 5.5.4.3.2.
      parameters:
        - $ref: ../components/SOL023_params.yaml#/components/parameters/Accept
      responses:
@@ -99,6 +134,7 @@ paths:
          $ref: ../responses/SOL023_resp.yaml#/responses/503
        "504":
          $ref: ../responses/SOL023_resp.yaml#/responses/504

    delete:
      description: |
        This method deletes an "Individual Subject instance" resource. See clause 5.5.4.3.5. 
@@ -124,8 +160,12 @@ paths:
        "503":
          $ref: ../responses/SOL023_resp.yaml#/responses/503


  /subject/{subjectId}/certificate:
    parameters:
      - $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.
@@ -157,10 +197,108 @@ paths:
        "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
        
  /subject/{subjectId}/certificate/{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.x.1
      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.x.2.
      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
        
  /subject/{subjectId}/certificate/{certificateId}/certificate_content:
    parameters:
      - $ref: "#/components/parameters/subjectId"
      - $ref: "#/components/parameters/certificateId"

    get:
      description: |
        The GET method fetches the content of an individual certificate. See clause 5.5.x.3.2.
@@ -196,13 +334,69 @@ paths:

components:
  parameters:
    filter_subject_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_subject_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 [8] 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
      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 [8] 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
      required: false
      schema:
        type: string
    
    subjectId:
      name: subjectId
      in: path
      description: |
        Identifier of the Subject instance. See note 1.

        NOTE 1:	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 Subject instance" resource. It can also be retrieved from the "id" attribute in the message content of that response.
        NOTE 1:	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 Subject instance" resource.
        It can also be retrieved from the "id" attribute in the message content of that response.
      required: true
      style: simple
      explode: false
@@ -215,7 +409,9 @@ components:
      description: |
        certificateId	Identifier of the Certificate instance. See note 2.

        NOTE 2:	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.
        NOTE 2:	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
@@ -227,11 +423,14 @@ components:
      description: >
        201 CREATED

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

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

        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created Subject instance.
        The HTTP response shall include a "Location" HTTP header that contains the resource URI of the
        created Subject instance.
      headers:
        Location:
          description: |
@@ -269,9 +468,61 @@ components:
      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.
        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.
        The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
        convey more information about the error.
      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/SOL023_def.yaml#/definitions/ProblemDetails"

    SubjectInstances.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.x.

        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 [8], respectively.

        If the CMF supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 [8] 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 [8].
      headers:
        Location:
          description: |
@@ -293,6 +544,13 @@ components:
            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
@@ -300,6 +558,12 @@ components:
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: "./definitions/SOL023CertificateManagement_def.yaml#/definitions/SubjectInstance"
    
    IndividualSubjectInstance.Get.200:
      description: |
@@ -330,7 +594,7 @@ components:
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"  
            $ref: "./definitions/SOL023CertificateManagement_def.yaml#/definitions/SubjectInstance"

    IndividualSubjectInstance.Delete.204:
      description: |
@@ -461,6 +725,147 @@ components:
          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.x.

        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 [8], respectively.

        If the CMF supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV SOL 013 [8] 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 [8].
      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.x.
      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 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "../definitions/SOL023_def.yaml#/definitions/ProblemDetails"
    
    IndividualCertificateContentInstance.Get.200:
      description: >
        200 OK