Commit 8a5b2fb0 authored by Yuya Kuno's avatar Yuya Kuno
Browse files

Merge branch 'SOL021_V541_OpenAPI' into 'Release-5'

SOL021_V541_OpenAPI_CR_(26)116r1

See merge request !3
parents e2661e44 283ebc3a
Loading
Loading
Loading
Loading
Loading

src/SOL021/.gitkeep

deleted100644 → 0
+0 −0

Empty file deleted.

src/SOL021/APIVersion/.gitkeep

deleted100644 → 0
+0 −0

Empty file deleted.

+27 −0
Original line number Diff line number Diff line
openapi: 3.0.2

info:
  title: SOL021 - API version interface
  description: |
    SOL021 - API version Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to Please report bugs to https://forge.etsi.org/rep/nfv/SOL021/issues

  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

servers:
  - url: http://127.0.0.1/
  - url: https://127.0.0.1/

paths:
  /nfvintent/api_versions:
    $ref: ../endpoints/SOL021_endpoints.yaml#/endpoints/api_versions
+0 −0

Empty file deleted.

+237 −0
Original line number Diff line number Diff line
openapi: 3.0.2
info:
  version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
  title: ETSI GS NFV-SOL 021 Intent Management Service API
  description: |
    SOL021 - Intent management service API
    
    IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification
        it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.
    
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL021/issues
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
servers:
  - url: http://127.0.0.1/nfvintent/v1
  - url: https://127.0.0.1/nfvintent/v1
paths:
  "/intents":
    post:
      description: The POST method creates an NFV intent object instance.
      requestBody:
        description: The description of the intent to be created.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Intent'
        required: true
      responses:
        "201":
          description: Successful creation of the NFV intent object instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Intent'
        "400":
          $ref: "../responses/SOL021_resp.yaml#/responses/400"
        "404":
          $ref: "../responses/SOL021_resp.yaml#/responses/404"
    get:
      description: The GET method queries information about multiple NFV intents.
      parameters:
        - $ref: "../components/SOL021_params.yaml#/components/parameters/Filter"
        - $ref: "../components/SOL021_params.yaml#/components/parameters/AllFields"
        - $ref: "../components/SOL021_params.yaml#/components/parameters/Fields"
        - $ref: "../components/SOL021_params.yaml#/components/parameters/ExcludeFields"
        - $ref: "../components/SOL021_params.yaml#/components/parameters/NextPage"
      responses:
        "200":
          description: Successful query of the intents.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Intent'
        "400":
          $ref: "../responses/SOL021_resp.yaml#/responses/400"
        "404":
          $ref: "../responses/SOL021_resp.yaml#/responses/404"
  "/intents/{intentId}":
    parameters:
      - $ref: "../components/SOL021_params.yaml#/components/parameters/IntentId"
    get:
      description: The GET method queries information about an NFV intent.
      responses:
        "200":
          description: Successful query of the individual intent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Intent'
        "400":
          $ref: "../responses/SOL021_resp.yaml#/responses/400"
        "404":
          $ref: "../responses/SOL021_resp.yaml#/responses/404"
    patch:
      description: The PATCH method modifies an intent.
      requestBody:
        description: The modifications for the intent object instance.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentModifications'
        required: true
      responses:
        "200":
          description: Successful modifications of the individual intent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Intent'
        "400":
          $ref: "../responses/SOL021_resp.yaml#/responses/400"
        "404":
          $ref: "../responses/SOL021_resp.yaml#/responses/404"
        "412":
          $ref: "../responses/SOL021_resp.yaml#/responses/412"
        "422":
          $ref: "../responses/SOL021_resp.yaml#/responses/422"
    delete:
      description: The DELETE method deletes an individual intent.
      responses:
        "204":
          description: Successful deletion of the intent.
        "404":
          $ref: "../responses/SOL021_resp.yaml#/responses/404"
components:
  schemas:
    Intent:
      type: object
      properties:
        intentId:
          description: Identifier of the intent. Assigned by the Intent Owner.
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        intentName:
          description: Name of the intent.
          type: string
          example: NetworkServiceDeployment001
        intentExpectations:
          $ref: "#/components/schemas/IntentExpectation"
        intentContexts:
          $ref: "#/components/schemas/IntentContext"
    IntentModifications:
      type: object
      properties:
        intentName:
          description: Name of the intent.
          type: string
          example: NetworkServiceDeployment001
        intentExpectations:
          $ref: "#/components/schemas/IntentExpectation"
        intentContexts:
          $ref: "#/components/schemas/IntentContext"
    IntentExpectation:
      type: object
      properties:
        expectationId:
          description: Identifier of the intent expectation.
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440001
        expectationName:
          description: Human readable name of the intent expectation.
          type: string
          example: tbd
        expectationType:
          description: Type of the intent expectation.
          type: string
          example: tbd
        expectationObject:
          $ref: "#/components/schemas/ExpectationObject"
        expectationTarget:
          $ref: "#/components/schemas/ExpectationTarget"
        expectationContexts:
          $ref: "#/components/schemas/Context"
    IntentContext:
      type: object
      properties:
        contextId:
          description: The identifier of this context.
          type: string
          format: uuid
          example: tbd
        contextName:
          description: Name of the context.
          type: string
          example: tbd
        contextConditions:
          $ref: "#/components/schemas/Condition"
    ExpectationObject:
      type: object
      properties:
        objectType:
          description: Type of the object of the intent expectation that are expected to be applied on.
          type: string
          example: tbd
        objectInstanceId:
          description: Identifier of a specific object instance managed by NFV-MANO to which the intent expectation applies.
          type: string
          format: uuid
          example: tbd
        objectFilter:
          description: The constraints and conditions to be used as filter information to identify the managed objects to which a given intent expectation applies.
          type: string
          example: tbd
    ExpectationTarget:
      type: object
      properties:
        targetId:
          description: The identifier of this expectation target.
          type: string
          format: uuid
          example: tbd
        targetName:
          description: Name of the expectation target.
          type: string
        targetConditions:
          $ref: "#/components/schemas/Condition"
        targetContexts:
          $ref: "#/components/schemas/Context"
    Context:
      type: object
      properties:
        contextId:
          description: The identifier of the context.
          type: string
          format: uuid
          example: tbd
        contextName:
          description: Name of the context.
          type: string
        contextConditions:
          $ref: "#/components/schemas/Condition"
    Condition:
      type: object
      properties:
        conditionId:
          description: The identifier of the condition.
          type: string
          format: uuid
          example: tbd
        conditionName:
          description: Name of the condition.
          type: string
        operator:
          description: If conditionValue exists, represents the specific operator for condition. If conditionList exists, represents the relationship between all conditions.
          type: string
          example: tbd
        conditionValue:
          description: For a simple condition, represents the specific value that composes the condition. Either conditionValue or conditionList, but not both, shall be present.
          type: string
          example: tbd
        conditionList:
          $ref: "#/components/schemas/Condition"
 No newline at end of file
Loading