Newer
Older
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'
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
- url: https://localhost/app_lcm/v1
variables: {}
- 'app-lcm'
summary: 'Create an application instance resource'
description: Create an application instance resource
$ref: '#/components/schemas/CreateAppInstanceRequest'
required: true
description: An application instance identifier and the related resource has been created successfully.
headers: {}
application/json:
$ref: '#/components/schemas/AppInstanceInfo'
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
- '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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
- name: filter
in: query
description: Attribute-based filtering parameters according to ETSI GS MEC 009
style: form
explode: true
schema:
type: string
- name: all_fields
in: query
description: Include all complex attributes in the response.
style: form
explode: true
schema:
type: string
- name: fields
in: query
description: Complex attributes of AppPkgInfo to be included into the response
style: form
explode: true
schema:
type: string
- name: exclude_fields
in: query
description: Complex attributes of AppPkgInfo to be excluded from the response.
style: form
explode: true
schema:
type: string
- name: exclude_default
in: query
description: Indicates to exclude the following complex attributes of AppPkgInfo from the response.
style: form
explode: true
schema:
type: string
description: Array the representations of zero or more application instances
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppInstanceInfo'
description: ''
contentMediaType: application/json
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_instances/{appInstanceId}:
- '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.
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
required: true
style: simple
schema:
type: string
description: Contains a representation of the read resource.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AppInstanceInfo'
'400':
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
- 'app-lcm'
summary: 'Deletes an individual application instance resource.'
description: Deletes an individual application instance resource.
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
required: true
style: simple
schema:
type: string
description: No Content
headers: {}
content: {}
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/subscriptions:
- '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
- name: subscriptionType
in: query
description: >-
"Query parameter to filter on a specific subscription type. Permitted values:
• "AppInstanceStateChange"
• "AppLcmOpOccStateChange"
"
style: form
explode: true
schema:
oneOf:
- $ref: '#/components/schemas/AppInst.SubscriptionType'
- $ref: '#/components/schemas/AppLcmOpOcc.SubscriptionType'
requestBody:
description: ''
- $ref: '#/components/schemas/AppInstSubscriptionRequest'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionRequest'
contentMediaType: application/json
required: true
description: a representation of the created SubscriptionInfo.
headers: {}
oneOf:
- $ref: '#/components/schemas/AppInstSubscriptionInfo'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
contentMediaType: application/json
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
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"
- '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.
- name: subscriptionType
in: query
description: 'Permitted values: AppInstanceStateChange or AppLcmOpOccStateChange'
style: form
explode: true
schema:
type: string
description: List of all subscriptions is returned.
headers: {}
$ref: '#/components/schemas/SubscriptionLinkList'
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/subscriptions/{subscriptionId}:
- '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:
- name: subscriptionId
in: path
description: Represents an individual subscription to notification related to an application instance
required: true
style: simple
schema:
type: string
- name: subscriptionType
in: query
description: 'Permitted values: AppInstanceStateChange or AppLcmOpOccStateChange'
required: true
style: form
explode: true
schema:
type: string
description: Representation of the resource.
headers: {}
- $ref: '#/components/schemas/AppInstSubscriptionInfo'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
contentMediaType: application/json
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
- '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.
parameters:
- name: subscriptionId
in: path
description: Represents an individual subscription to notification related to an application instance
required: true
style: simple
schema:
type: string
description: No Content
headers: {}
content: {}
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/user_defined_notification:
- '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.
- $ref: '#/components/schemas/AppInstNotification'
- $ref: '#/components/schemas/AppLcmOpOccNotification'
contentMediaType: application/json
required: true
description: No Content
headers: {}
content: {}
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_instances/{appInstanceId}/instantiate:
post:
tags:
- 'app-lcm'
summary: 'Deletes the individual subscription to notifications about application package changes in MEO.'
description: task of instantiating an application instance.
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InstantiateAppRequest'
description: accepted for processing, but the processing has not yet been completed.
headers: {}
content: {}
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_instances/{appInstanceId}/terminate:
post:
tags:
- 'app-lcm'
summary: 'terminate an application instance.'
description: terminate an application instance.
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateAppRequest'
description: accepted for processing, but the processing has not yet been completed.
headers: {}
content: {}
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/app_instances/{appInstanceId}/operate:
post:
tags:
- '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
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OperateAppRequest'
description: accepted for processing, but the processing has not yet been completed.
headers: {}
content: {}
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
- '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
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
- name: filter
in: query
description: Attribute-based filtering parameters according to ETSI GS MEC 009
style: form
explode: true
schema:
type: string
- name: all_fields
in: query
description: Include all complex attributes in the response.
style: form
explode: true
schema:
type: string
- name: fields
in: query
description: Complex attributes of AppPkgInfo to be included into the response
style: form
explode: true
schema:
type: string
- name: exclude_fields
in: query
description: Complex attributes of AppPkgInfo to be excluded from the response.
style: form
explode: true
schema:
type: string
- name: exclude_default
in: query
description: Indicates to exclude the following complex attributes of AppPkgInfo from the response.
style: form
explode: true
schema:
type: string
description: Status information for zero or more application instance lifecycle management operation occurrences was queried successfully
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppInstanceLcmOpOcc'
description: ''
contentMediaType: application/json
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'