Commit d69ec6c2 authored by piscione's avatar piscione
Browse files

Updated specifications: fix on examples, callback and minor.

parent 748727db
Pipeline #9804 failed with stage
in 0 seconds
...@@ -2,26 +2,35 @@ openapi: 3.1.0 ...@@ -2,26 +2,35 @@ openapi: 3.1.0
info: info:
title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management' 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.' 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: contact:
name: ETSI Forge name: ETSI Forge
url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
email: cti_support@etsi.org 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 jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers: servers:
- url: https://localhost/granting/v1 - url: https://localhost/granting/v1
variables: {} variables: {}
tags:
- name: granting
description: Grant operations
paths: paths:
/grants: /grants:
post: post:
tags: tags:
- granting - granting
summary: grantPOST summary: 'requests a grant for a particular application lifecycle operation'
description: requests a grant for a particular application lifecycle operation description: requests a grant for a particular application lifecycle operation
operationId: grantPOST operationId: grantPOST
parameters: [] parameters: []
requestBody: requestBody:
description: ''
content: content:
application/json: application/json:
schema: schema:
...@@ -87,7 +96,7 @@ paths: ...@@ -87,7 +96,7 @@ paths:
get: get:
tags: tags:
- granting - granting
summary: GrantGET summary: 'read the grant'
description: read the grant description: read the grant
operationId: GrantGET operationId: GrantGET
parameters: parameters:
...@@ -100,7 +109,7 @@ paths: ...@@ -100,7 +109,7 @@ paths:
type: string type: string
responses: responses:
'200': '200':
description: IA representation of the "individual grant" resource description: A representation of the "individual grant" resource
headers: {} headers: {}
content: content:
application/json: application/json:
...@@ -322,25 +331,9 @@ components: ...@@ -322,25 +331,9 @@ components:
softwareImages: softwareImages:
type: array type: array
items: items:
$ref: '#/components/schemas/SoftwareImages' $ref: '#/components/schemas/VimSoftwareImage'
description: '' description: ''
description: Information about assets for the application that are managed by the MEO in the VIM, such as software images. 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: Grant.links:
title: Grant.links title: Grant.links
required: required:
...@@ -648,10 +641,4 @@ components: ...@@ -648,10 +641,4 @@ components:
type: string type: string
description: The identifier of the resource zone, as managed by the resource management layer (typically, the VIM). description: The identifier of the resource zone, as managed by the resource management layer (typically, the VIM).
security: security:
- {} - {}
tags: \ No newline at end of file
- 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
...@@ -2,12 +2,24 @@ openapi: 3.1.0 ...@@ -2,12 +2,24 @@ openapi: 3.1.0
info: info:
title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management' 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.' 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: contact:
name: ETSI Forge name: ETSI Forge
url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
email: cti_support@etsi.org email: cti_support@etsi.org
version: '2.1.1' 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 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: servers:
- url: https://localhost/app_lcm/v1 - url: https://localhost/app_lcm/v1
variables: {} variables: {}
...@@ -15,8 +27,8 @@ paths: ...@@ -15,8 +27,8 @@ paths:
/app_instances: /app_instances:
post: post:
tags: tags:
- '' - 'app-lcm'
summary: appInstancePOST summary: 'Create an application instance resource'
description: Create an application instance resource description: Create an application instance resource
operationId: appInstancePOST operationId: appInstancePOST
parameters: [] parameters: []
...@@ -32,11 +44,9 @@ paths: ...@@ -32,11 +44,9 @@ paths:
description: An application instance identifier and the related resource has been created successfully. description: An application instance identifier and the related resource has been created successfully.
headers: {} headers: {}
content: content:
application/zip: application/json:
schema: schema:
type: object $ref: '#/components/schemas/AppInstanceInfo'
description: "'The data type of AppInstanceInfo represents the parameters of instantiated application instance resources.'"
contentMediaType: application/zip
'400': '400':
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {} headers: {}
...@@ -82,8 +92,8 @@ paths: ...@@ -82,8 +92,8 @@ paths:
deprecated: false deprecated: false
get: get:
tags: tags:
- '' - 'app-lcm'
summary: appInstanceGET summary: 'Queries information relating to on-boarded application packages in the MEO'
description: 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 operationId: appInstanceGET
parameters: parameters:
...@@ -181,8 +191,8 @@ paths: ...@@ -181,8 +191,8 @@ paths:
/app_instances/{appInstanceId}: /app_instances/{appInstanceId}:
get: get:
tags: tags:
- '' - 'app-lcm'
summary: appInstanceIdGET 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. description: Retrieves the information of an individual application instance via reading an individual application instance.
operationId: appInstanceIdGET operationId: appInstanceIdGET
parameters: parameters:
...@@ -246,8 +256,8 @@ paths: ...@@ -246,8 +256,8 @@ paths:
deprecated: false deprecated: false
delete: delete:
tags: tags:
- '' - 'app-lcm'
summary: appInstanceIdDELETE summary: 'Deletes an individual application instance resource.'
description: Deletes an individual application instance resource. description: Deletes an individual application instance resource.
operationId: appInstanceIdDELETE operationId: appInstanceIdDELETE
parameters: parameters:
...@@ -317,8 +327,8 @@ paths: ...@@ -317,8 +327,8 @@ paths:
/subscriptions: /subscriptions:
post: post:
tags: tags:
- '' - 'app-lcm-notifications'
summary: appLcmSubscriptionsPOST summary: 'subscribe to the notification of application instance operational state change'
description: subscribe to the notification of application instance operational state change description: subscribe to the notification of application instance operational state change
operationId: appLcmSubscriptionsPOST operationId: appLcmSubscriptionsPOST
parameters: parameters:
...@@ -399,11 +409,30 @@ paths: ...@@ -399,11 +409,30 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ProblemDetails' $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 deprecated: false
get: get:
tags: tags:
- '' - 'app-lcm-notifications'
summary: appLcmSubscriptionsGET 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. description: Retrieves the information of multiple subscriptions to notifications related to an application instance.
operationId: appLcmSubscriptionsGET operationId: appLcmSubscriptionsGET
parameters: parameters:
...@@ -469,8 +498,8 @@ paths: ...@@ -469,8 +498,8 @@ paths:
/subscriptions/{subscriptionId}: /subscriptions/{subscriptionId}:
get: get:
tags: tags:
- '' - 'app-lcm-notifications'
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. description: Used to represent an individual subscription to notifications about application package changes.
operationId: individualSubscriptionGET operationId: individualSubscriptionGET
parameters: parameters:
...@@ -545,8 +574,8 @@ paths: ...@@ -545,8 +574,8 @@ paths:
deprecated: false deprecated: false
delete: delete:
tags: tags:
- '' - 'app-lcm-notifications'
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. description: Deletes the individual subscription to notifications about application package changes in MEO.
operationId: individualSubscriptionDELETE operationId: individualSubscriptionDELETE
parameters: parameters:
...@@ -595,8 +624,8 @@ paths: ...@@ -595,8 +624,8 @@ paths:
/user_defined_notification: /user_defined_notification:
post: post:
tags: tags:
- '' - 'app-lcm-notifications'
summary: appInstNotificationPOST 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. description: Delivers a notification from the application lifecycle management resource to the subscriber.
operationId: appInstNotificationPOST operationId: appInstNotificationPOST
parameters: [] parameters: []
...@@ -655,8 +684,8 @@ paths: ...@@ -655,8 +684,8 @@ paths:
/app_instances/{appInstanceId}/instantiate: /app_instances/{appInstanceId}/instantiate:
post: post:
tags: tags:
- '' - 'app-lcm'
summary: appLcmInstanciatePOST summary: 'Deletes the individual subscription to notifications about application package changes in MEO.'
description: task of instantiating an application instance. description: task of instantiating an application instance.
operationId: appLcmInstanciatePOST operationId: appLcmInstanciatePOST
parameters: parameters:
...@@ -733,8 +762,8 @@ paths: ...@@ -733,8 +762,8 @@ paths:
/app_instances/{appInstanceId}/terminate: /app_instances/{appInstanceId}/terminate:
post: post:
tags: tags:
- '' - 'app-lcm'
summary: appLcmTerminatePOST summary: 'terminate an application instance.'
description: terminate an application instance. description: terminate an application instance.
operationId: appLcmTerminatePOST operationId: appLcmTerminatePOST
parameters: parameters:
...@@ -811,8 +840,8 @@ paths: ...@@ -811,8 +840,8 @@ paths:
/app_instances/{appInstanceId}/operate: /app_instances/{appInstanceId}/operate:
post: post:
tags: tags:
- '' - 'app-lcm'
summary: appLcmOperatePOST 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 description: change the operational state, i.e. start or stop, of the application instance
operationId: appLcmOperatePOST operationId: appLcmOperatePOST
parameters: parameters:
...@@ -889,8 +918,8 @@ paths: ...@@ -889,8 +918,8 @@ paths:
/app_lcm_op_occs: /app_lcm_op_occs:
get: get:
tags: tags:
- '' - 'app-lcm'
summary: appLcmOpOccsGET 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 description: retrieves information of operation status about multiple application instance lifecycle management operation occurrences
operationId: appLcmOpOccsGET operationId: appLcmOpOccsGET
parameters: parameters:
...@@ -988,8 +1017,8 @@ paths: ...@@ -988,8 +1017,8 @@ paths:
/app_lcm_op_occs/{appLcmOpOccId}: /app_lcm_op_occs/{appLcmOpOccId}:
get: get:
tags: tags:
- '' - 'app-lcm'
summary: appLcmOpOccsbyIdGET summary: 'reads the status information of an individual application LCM operation occurrence'
description: 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 operationId: appLcmOpOccsbyIdGET
parameters: parameters:
...@@ -1822,11 +1851,3 @@ components: ...@@ -1822,11 +1851,3 @@ components:
- AppInstanceStateChange - AppInstanceStateChange
security: 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
...@@ -2,12 +2,24 @@ openapi: 3.1.0 ...@@ -2,12 +2,24 @@ openapi: 3.1.0
info: info:
title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management' 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.' 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: contact:
name: ETSI Forge name: ETSI Forge
url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
email: cti_support@etsi.org email: cti_support@etsi.org
version: '2.1.1' version: '2.1.1'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema 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: servers:
- url: https://localhost/app_pkgm/v1 - url: https://localhost/app_pkgm/v1
variables: {} variables: {}
...@@ -16,7 +28,7 @@ paths: ...@@ -16,7 +28,7 @@ paths:
post: post:
tags: tags:
- app-pkgm - 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 description: Create a resource for on-boarding an application package to a MEO
operationId: app_packagesPOST operationId: app_packagesPOST
parameters: [] parameters: []
...@@ -85,7 +97,7 @@ paths: ...@@ -85,7 +97,7 @@ paths:
get: get:
tags: tags:
- app-pkgm - 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 description: queries information relating to on-boarded application packages in the MEO
operationId: app_packagesGET operationId: app_packagesGET
parameters: parameters:
...@@ -184,7 +196,7 @@ paths: ...@@ -184,7 +196,7 @@ paths:
get: get:
tags: tags:
- app-pkgm - 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 description: Queries the information related to individual application package resources
operationId: app_packageGET operationId: app_packageGET
parameters: parameters:
...@@ -249,7 +261,7 @@ paths: ...@@ -249,7 +261,7 @@ paths:
delete: delete:
tags: tags:
- app-pkgm - app-pkgm
summary: app_packageDELETE summary: 'Deletes an individual application package resources'
description: Deletes an individual application package resources description: Deletes an individual application package resources
operationId: app_packageDELETE operationId: app_packageDELETE
parameters: parameters:
...@@ -311,7 +323,7 @@ paths: ...@@ -311,7 +323,7 @@ paths:
patch: patch:
tags: tags:
- app-pkgm - 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 description: Updates the operational state of an individual application package resources
operationId: app_packagePATCH operationId: app_packagePATCH
parameters: parameters:
...@@ -392,7 +404,7 @@ paths: ...@@ -392,7 +404,7 @@ paths:
post: post:
tags: tags:
- app-pkgm - app-pkgm
summary: subscriptionsPOST summary: 'Subscribe to notifications about on-boarding an application package'
description: Subscribe to notifications about on-boarding an application package description: Subscribe to notifications about on-boarding an application package
operationId: subscriptionsPOST operationId: subscriptionsPOST
parameters: [] parameters: []
...@@ -453,11 +465,27 @@ paths: ...@@ -453,11 +465,27 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ProblemDetails' $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: get:
tags: tags:
- app-pkgm - 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 description: used to retrieve the information of subscriptions to individual application package resource in MEO package
operationId: subscriptionsGET operationId: subscriptionsGET
parameters: [] parameters: []
...@@ -517,7 +545,7 @@ paths: ...@@ -517,7 +545,7 @@ paths:
get: get:
tags: tags:
- app-pkgm - 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. description: Used to represent an individual subscription to notifications about application package changes.
operationId: individualSubscriptionGET operationId: individualSubscriptionGET
parameters: parameters:
...@@ -582,7 +610,7 @@ paths: ...@@ -582,7 +610,7 @@ paths:
delete: delete:
tags: tags:
- app-pkgm - 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. description: Deletes the individual subscription to notifications about application package changes in MEO.
operationId: individualSubscriptionDELETE operationId: individualSubscriptionDELETE
parameters: parameters:
...@@ -632,7 +660,7 @@ paths: ...@@ -632,7 +660,7 @@ paths: