Commit d69ec6c2 authored by piscione's avatar piscione
Browse files

Updated specifications: fix on examples, callback and minor.

parent 748727db
Loading
Loading
Loading
Loading
Loading
+16 −29
Original line number Diff line number Diff line
@@ -2,26 +2,35 @@ openapi: 3.1.0
info:
  title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management'
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.'
  version: '2.1.1'
  license:
    name: BSD-3-Clause
    url: https://forge.etsi.org/legal-matters
  contact:
    name: ETSI Forge
    url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
    email: cti_support@etsi.org
  version: '2.1.1'
externalDocs:
  description: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1"
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers:
- url: https://localhost/granting/v1
  variables: {}
tags:
  - name: granting
    description: Grant operations
paths:
  /grants:
    post:
      tags:
      - granting
      summary: grantPOST
      summary: 'requests a grant for a particular application lifecycle operation'
      description: requests a grant for a particular application lifecycle operation
      operationId: grantPOST
      parameters: []
      requestBody:
        description: ''

        content:
          application/json:
            schema:
@@ -87,7 +96,7 @@ paths:
    get:
      tags:
      - granting
      summary: GrantGET
      summary: 'read the grant'
      description: read the grant
      operationId: GrantGET
      parameters:
@@ -100,7 +109,7 @@ paths:
          type: string
      responses:
        '200':
          description: IA representation of the "individual grant" resource
          description: A representation of the "individual grant" resource
          headers: {}
          content:
            application/json:
@@ -322,25 +331,9 @@ components:
        softwareImages:
          type: array
          items:
            $ref: '#/components/schemas/SoftwareImages'
            $ref: '#/components/schemas/VimSoftwareImage'
          description: ''
      description: Information about assets for the application that are managed by the MEO in the VIM, such as software images.
    SoftwareImages:
      title: SoftwareImages
      required:
      - appDSoftwareImageId
      - vimSoftwareImageId
      type: object
      properties:
        appDSoftwareImageId:
          type: string
          description: Identifier which references the software image descriptor in the AppD.
        vimConnectionId:
          type: string
          description: Identifier of the VIM connection to access the software image referenced in this structure.
        vimSoftwareImageId:
          type: string
          description: Identifier of the software image in the resource management layer (i.e. VIM).
    Grant.links:
      title: Grant.links
      required:
@@ -649,9 +642,3 @@ components:
          description: The identifier of the resource zone, as managed by the resource management layer (typically, the VIM).
security:
- {}
 No newline at end of file
tags:
- name: granting
  description: Grant operations
externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf
+61 −40
Original line number Diff line number Diff line
@@ -2,12 +2,24 @@ openapi: 3.1.0
info:
  title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management'
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.'
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'
  contact:
    name: ETSI Forge
    url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
    email: cti_support@etsi.org
  version: '2.1.1'

externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
tags:
- name: app-lcm
  description: App lifecycle management
- name: app-lcm-notifications
  description: App lifecycle management notifications
servers:
- url: https://localhost/app_lcm/v1
  variables: {}
@@ -15,8 +27,8 @@ paths:
  /app_instances:
    post:
      tags:
      - ''
      summary: appInstancePOST
      - 'app-lcm'
      summary:  'Create an application instance resource'
      description: Create an application instance resource
      operationId: appInstancePOST
      parameters: []
@@ -32,11 +44,9 @@ paths:
          description: An application instance identifier and the related resource has been created successfully.
          headers: {}
          content:
            application/zip:
            application/json:
              schema:
                type: object
                description: "'The data type of AppInstanceInfo represents the parameters of instantiated application instance resources.'"
                contentMediaType: application/zip
                $ref: '#/components/schemas/AppInstanceInfo'
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -82,8 +92,8 @@ paths:
      deprecated: false
    get:
      tags:
      - ''
      summary: appInstanceGET
      - 'app-lcm'
      summary: 'Queries information relating to on-boarded application packages in the MEO'
      description: queries information relating to on-boarded application packages in the MEO
      operationId: appInstanceGET
      parameters:
@@ -181,8 +191,8 @@ paths:
  /app_instances/{appInstanceId}:
    get:
      tags:
      - ''
      summary: appInstanceIdGET
      - 'app-lcm'
      summary:  'Retrieves the information of an individual application instance via reading an individual application instance.'
      description: Retrieves the information of an individual application instance via reading an individual application instance.
      operationId: appInstanceIdGET
      parameters:
@@ -246,8 +256,8 @@ paths:
      deprecated: false
    delete:
      tags:
      - ''
      summary: appInstanceIdDELETE
      - 'app-lcm'
      summary: 'Deletes an  individual application instance resource.'
      description: Deletes an  individual application instance resource.
      operationId: appInstanceIdDELETE
      parameters:
@@ -317,8 +327,8 @@ paths:
  /subscriptions:
    post:
      tags:
      - ''
      summary: appLcmSubscriptionsPOST
      - 'app-lcm-notifications'
      summary:  'subscribe to the notification of application instance operational state change'
      description: subscribe to the notification of application instance operational state change
      operationId: appLcmSubscriptionsPOST
      parameters:
@@ -399,11 +409,30 @@ paths:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      callbacks:
        notification:
          '{$request.body#/callbackUri}':
            post:
              summary: 'Callback POST used to send a notification'
              description: 'Notification for informing the subscribers about operational state of application instance resources or state changes of an application LCM operation occurrence. It depends on subscription type.'
              operationId: notificationPOST
              requestBody:
                description: Subscription notification
                required: true
                content:
                  application/json:
                    schema:
                      oneOf:
                      - $ref: '#/components/schemas/AppInstNotification'
                      - $ref: '#/components/schemas/AppLcmOpOccNotification'        
              responses:
                '204':
                  description: "No content"
      deprecated: false
    get:
      tags:
      - ''
      summary: appLcmSubscriptionsGET
      - 'app-lcm-notifications'
      summary: 'Retrieves the information of multiple subscriptions to notifications related to an application instance.'
      description: Retrieves the information of multiple subscriptions to notifications related to an application instance.
      operationId: appLcmSubscriptionsGET
      parameters:
@@ -469,8 +498,8 @@ paths:
  /subscriptions/{subscriptionId}:
    get:
      tags:
      - ''
      summary: individualSubscriptionGET
      - 'app-lcm-notifications'
      summary: 'Used to represent an individual subscription to notifications about application package changes.'
      description: Used to represent an individual subscription to notifications about application package changes.
      operationId: individualSubscriptionGET
      parameters:
@@ -545,8 +574,8 @@ paths:
      deprecated: false
    delete:
      tags:
      - ''
      summary: individualSubscriptionDELETE
      - 'app-lcm-notifications'
      summary: 'Deletes the individual subscription to notifications about application package changes in MEO.'
      description: Deletes the individual subscription to notifications about application package changes in MEO.
      operationId: individualSubscriptionDELETE
      parameters:
@@ -595,8 +624,8 @@ paths:
  /user_defined_notification:
    post:
      tags:
      - ''
      summary: appInstNotificationPOST
      - 'app-lcm-notifications'
      summary:  'Delivers a notification from the application lifecycle management resource to the subscriber.'
      description: Delivers a notification from the application lifecycle management resource to the subscriber.
      operationId: appInstNotificationPOST
      parameters: []
@@ -655,8 +684,8 @@ paths:
  /app_instances/{appInstanceId}/instantiate:
    post:
      tags:
      - ''
      summary: appLcmInstanciatePOST
      - 'app-lcm'
      summary: 'Deletes the individual subscription to notifications about application package changes in MEO.'
      description: task of instantiating an application instance.
      operationId: appLcmInstanciatePOST
      parameters:
@@ -733,8 +762,8 @@ paths:
  /app_instances/{appInstanceId}/terminate:
    post:
      tags:
      - ''
      summary: appLcmTerminatePOST
      - 'app-lcm'
      summary: 'terminate an application instance.'
      description: terminate an application instance.
      operationId: appLcmTerminatePOST
      parameters:
@@ -811,8 +840,8 @@ paths:
  /app_instances/{appInstanceId}/operate:
    post:
      tags:
      - ''
      summary: appLcmOperatePOST
      - 'app-lcm'
      summary: 'change the operational state, i.e. start or stop, of the application instance'
      description: change the operational state, i.e. start or stop, of the application instance
      operationId: appLcmOperatePOST
      parameters:
@@ -889,8 +918,8 @@ paths:
  /app_lcm_op_occs:
    get:
      tags:
      - ''
      summary: appLcmOpOccsGET
      - 'app-lcm'
      summary: 'retrieves information of operation status about multiple application instance lifecycle management operation occurrences'
      description: retrieves information of operation status about multiple application instance lifecycle management operation occurrences
      operationId: appLcmOpOccsGET
      parameters:
@@ -988,8 +1017,8 @@ paths:
  /app_lcm_op_occs/{appLcmOpOccId}:
    get:
      tags:
      - ''
      summary: appLcmOpOccsbyIdGET
      - 'app-lcm'
      summary:  'reads the status information of an individual application LCM operation occurrence'
      description: reads the status information of an individual application LCM operation occurrence
      operationId: appLcmOpOccsbyIdGET
      parameters:
@@ -1822,11 +1851,3 @@ components:
      - AppInstanceStateChange
security:
- {}
tags:
- name: app-lcm
  description: App lifecycle management
- name: app-lcm-notifications
  description: App lifecycle management notifications
externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf
+57 −43
Original line number Diff line number Diff line
@@ -2,12 +2,24 @@ openapi: 3.1.0
info:
  title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management'
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.'
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'
  contact:
    name: ETSI Forge
    url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
    email: cti_support@etsi.org
  version: '2.1.1'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema

externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf
tags:
- name: app-pkgm
  description: App Package management
- name: app-pkgm-notifications
  description: App Package management notifications
servers:
- url: https://localhost/app_pkgm/v1
  variables: {}
@@ -16,7 +28,7 @@ paths:
    post:
      tags:
      - app-pkgm
      summary: app_packagesPOST
      summary:  'Create a resource for on-boarding an application package to a MEO'
      description: Create a resource for on-boarding an application package to a MEO
      operationId: app_packagesPOST
      parameters: []
@@ -85,7 +97,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: app_packagesGET
      summary: Queries information relating to on-boarded application packages in the MEO'
      description: queries information relating to on-boarded application packages in the MEO
      operationId: app_packagesGET
      parameters:
@@ -184,7 +196,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: app_packageGET
      summary: 'Queries the information related to individual application package resources'
      description: Queries the information related to individual application package resources
      operationId: app_packageGET
      parameters:
@@ -249,7 +261,7 @@ paths:
    delete:
      tags:
      - app-pkgm
      summary: app_packageDELETE
      summary: 'Deletes an individual application package resources'
      description: Deletes an individual application package resources
      operationId: app_packageDELETE
      parameters:
@@ -311,7 +323,7 @@ paths:
    patch:
      tags:
      - app-pkgm
      summary: app_packagePATCH
      summary: 'Updates the operational state of an individual application package resource'
      description: Updates the operational state of an individual application package resources
      operationId: app_packagePATCH
      parameters:
@@ -392,7 +404,7 @@ paths:
    post:
      tags:
      - app-pkgm
      summary: subscriptionsPOST
      summary: 'Subscribe to notifications about on-boarding an application package'
      description: Subscribe to notifications about on-boarding an application package
      operationId: subscriptionsPOST
      parameters: []
@@ -453,11 +465,27 @@ paths:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
      callbacks: 
        notification:
          '{$request.body#/subscription.href}':
            post:
              summary: 'Callback POST used to send a notification'
              description: ' The notification is triggered when a new application package is onboarded'
              operationId: notificationPOST
              requestBody:
                description: Subscription notification
                required: true
                content:
                  application/json:
                    schema:
                     $ref: '#/components/schemas/AppPkgNotification'
              responses:
                '204':
                 description: "No content"
    get:
      tags:
      - app-pkgm
      summary: subscriptionsGET
      summary:  'used to retrieve the information of subscriptions to individual application package resource in MEO'
      description: used to retrieve the information of subscriptions to individual application package resource in MEO package
      operationId: subscriptionsGET
      parameters: []
@@ -517,7 +545,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: individualSubscriptionGET
      summary:  'Used to represent an individual subscription to notifications about application package changes.'
      description: Used to represent an individual subscription to notifications about application package changes.
      operationId: individualSubscriptionGET
      parameters:
@@ -582,7 +610,7 @@ paths:
    delete:
      tags:
      - app-pkgm
      summary: individualSubscriptionDELETE
      summary:  'Deletes the individual subscription to notifications about application package changes in MEO.'
      description: Deletes the individual subscription to notifications about application package changes in MEO.
      operationId: individualSubscriptionDELETE
      parameters:
@@ -632,7 +660,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: appPkgIdGET
      summary:  'Reads the content of the AppD of on-boarded individual application package resources.'
      description: Reads the content of the AppD of on-boarded individual application package resources.
      operationId: appPkgIdGET
      parameters:
@@ -686,10 +714,7 @@ paths:
            text/plain:
              schema:
                $ref: '#/components/schemas/AppD'
            application/zip:
              schema:
                type: object
                contentMediaType: application/zip
            application/zip: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -738,7 +763,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: appDGET
      summary:  'Reads the content of the AppD of on-boarded individual application package resources.'
      description: Reads the content of the AppD of on-boarded individual application package resources.
      operationId: appDGET
      parameters:
@@ -792,10 +817,7 @@ paths:
            text/plain:
              schema:
                $ref: '#/components/schemas/AppD'
            application/zip:
              schema:
                type: object
                contentMediaType: application/zip
            application/zip: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -844,7 +866,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: appPkgGET
      summary:  'Fetch the onboarded application package content identified by appPkgId or appDId.'
      description: Fetch the onboarded application package content identified by appPkgId or appDId.
      operationId: appPkgGET
      parameters:
@@ -859,11 +881,13 @@ paths:
        '200':
          description: The payload body shall contain a copy of the file representing the AppD or a ZIP file that contains the file or multiple files representing the AppD.
          headers: {}
          content: {}
          content:
              application/zip: {}
        '206':
          description: Partial content
          headers: {}
          content: {}
          content:
              application/zip: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -914,7 +938,7 @@ paths:
    put:
      tags:
      - app-pkgm
      summary: appPkgPUT
      summary:  'Uploads the content of application package.'
      description: Uploads the content of application package.
      operationId: appPkgPUT
      parameters:
@@ -928,10 +952,7 @@ paths:
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: object
              contentMediaType: text/plain
          application/zip: {}
        required: false
      responses:
        '202':
@@ -993,7 +1014,7 @@ paths:
    get:
      tags:
      - app-pkgm
      summary: appDIdGET
      summary:  'Fetch the onboarded application package content identified by appPkgId or appDId.'
      description: Fetch the onboarded application package content identified by appPkgId or appDId.
      operationId: appDIdGET
      parameters:
@@ -1063,7 +1084,7 @@ paths:
    put:
      tags:
      - app-pkgm
      summary: appDIdPUT
      summary:  'Fetch the onboarded application package content identified by appPkgId or appDId.'
      description: Uploads the content of application package.
      operationId: appDIdPUT
      parameters:
@@ -1077,10 +1098,7 @@ paths:
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: object
              contentMediaType: text/plain
          application/zip: {}
        required: false
      responses:
        '202':
@@ -1138,11 +1156,14 @@ paths:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
###############################################################################
# Notification endpoint AppPkgNotification                                    #
###############################################################################
  /user_defined_notification:
    post:
      tags:
      - app-pkgm-notifications
      summary: app_pkg_notificationPOST
      summary: 'Registers a notification endpoint to notify application package operations'
      description: Registers a notification endpoint to notify application package operations
      operationId: app_pkg_notificationPOST
      parameters: []
@@ -2036,11 +2057,4 @@ components:
      - DISABLED
security:
- {}
tags:
- name: app-pkgm
  description: App Package management
- name: app-pkgm-notifications
  description: App Package management notifications
externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf