Skip to content
MEC010-2_AppLcm.yaml 54.1 KiB
Newer Older
Elian Kraja's avatar
Elian Kraja committed
info:
  title: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management"
  version: 2.1.1
  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'
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'
servers:
  - url: 'https://{apiRoot}/app_lcm/v1/'
openapi: 3.0.0
tags:
  - name: app-lcm
    description: App lifecycle management
  - name: app-lcm-notifications
    description: App lifecycle management notifications
paths:
  /app_instances:   
    post:
      tags:
      - ''
      summary: 'Create an application instance resource'
      description: 'Create an application instance resource'
      operationId: appInstancePOST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAppInstanceRequest'  
      responses:
        '201':
          description: 'An application instance identifier and the related resource has been created successfully.'
          content:
            application/zip:
              schema:
                  $ref: '#/components/schemas/AppInstanceInfo'          
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'   
    get:
      tags:
      - ''
      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:
        - in: query
          name: filter
          schema:
            type: string
          required: false
          description: 'Attribute-based filtering parameters according to ETSI GS MEC 009'
        - in: query
          name: all_fields
          schema:
            type: string
          required: false
          description: 'Include all complex attributes in the response.'
        - in: query
          name: fields
          schema:
            type: string
          required: false
          description: 'Complex attributes of AppPkgInfo to be included into the response'
        - in: query
          name: exclude_fields
          schema:
            type: string
          required: false
          description: 'Complex attributes of AppPkgInfo to be excluded from the response.'
        - in: query
          name: exclude_default
          schema:
            type: string
          required: false
          description: 'Indicates to exclude the following complex attributes of AppPkgInfo from the response.' 
      responses:
        '200':
          description: 'Array the representations of zero or more application instances'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AppInstanceInfo'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'  
  /app_instances/{appInstanceId}:  
    parameters:
    - in: path
      name: appInstanceId
      schema:
        type: string
      required: true      
    get:
      tags:
      - ''
      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

      responses:
        '200':
          description: 'Contains a representation of the read resource.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppInstanceInfo'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'      
    delete:
      tags:
      - ''
      summary: 'Deletes an  individual application instance resource.'
      description: 'Deletes an  individual application instance resource.'
      operationId: appInstanceIdDELETE
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '409':
          $ref: '#/components/responses/409'      
        '429':
          $ref: '#/components/responses/429'
  /subscriptions:   
    post:
      tags:
      - ''
      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:
        - in: query
          name: subscriptionType 
          schema:
            oneOf:
               - $ref: '#/components/schemas/AppInst.SubscriptionType'
               - $ref: '#/components/schemas/AppLcmOpOcc.SubscriptionType'
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
               - $ref: '#/components/schemas/AppInstSubscriptionRequest'
               - $ref: '#/components/schemas/AppLcmOpOccSubscriptionRequest'
      responses:
        '201':
          description: 'a representation of the created SubscriptionInfo.'
          content:
            application/json:
              schema:
               oneOf:
               - $ref: '#/components/schemas/AppInstSubscriptionInfo'
               - $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'        
        '400':
          $ref: '#/components/responses/400'
        '401':
Loading full blame...