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
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v3.0.1'
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/03.00.01_60/gs_MEC01002v030001p.pdf'
tags:
- name: app-pkgm
description: App Package management
- name: app-pkgm-notifications
description: App Package management notifications
- url: https://localhost/app_pkgm/v1
variables: {}
summary: 'Create a resource for on-boarding an application package to a MEO/MEAO'
description: Create a resource for on-boarding an application package to a MEO/MEAO
requestBody:
description: Resource to be created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppPkg'
responses:
'201':
description: Successful response for resource creation
$ref: '#/components/schemas/AppPkgInfo'
description: The response body shall contain a representation of the application package resource
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
summary: Queries information relating to on-boarded application packages in the MEO/MEAO'
description: queries information relating to on-boarded application packages in the MEO/MEAO
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
- 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: Contains a representation of the application package resource
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppPkgInfo'
description: 'Indicate the success of request. The response message content shall contain a list of representations of the "individual application package" resources that match the attribute filter'
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/onboarded_app_packages:
post:
tags:
- app-pkgm
summary: 'Create a resource for on-boarding an application package to a MEO/MEAO'
description: Create a resource for on-boarding an application package to a MEO/MEAO
operationId: onboarded_app_packagesPOST
parameters: []
requestBody:
description: Resource to be created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppPkg'
required: true
responses:
'201':
description: Successful response for resource creation
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AppPkgInfo'
description: The response body shall contain a representation of the application package resource
contentMediaType: application/json
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
deprecated: false
get:
tags:
- app-pkgm
summary: Queries information relating to on-boarded application packages in the MEO/MEAO'
description: queries information relating to on-boarded application packages in the MEO/MEAO
operationId: onboarded_app_packagesGET
parameters:
- 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
responses:
'200':
description: Contains a representation of the application package resource
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppPkgInfo'
description: Indicate the success of request. The response body message content shall contain a list of representations of the "individual application package" resources that match the attribute filter.
contentMediaType: application/json
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
summary: 'Queries the information related to individual application package resources'
description: Queries the information related to individual application package resources
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
description: Contains a representation of the application package resource
headers: {}
items:
$ref: '#/components/schemas/AppPkgInfo'
description: Indicates the success of request. The response message content shall contain a representation of the resource
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
summary: 'Deletes an individual application package resources in MEO/MEAO'
description: Deletes an individual application package resources in MEO/MEAO
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
description: No Content
headers: {}
content: {}
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
summary: 'Updates the operational state of an individual application package resource'
description: Updates the operational state of an individual application package resources
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
description: Parameters for application package information modification.
content:
application/json:
schema:
$ref: '#/components/schemas/AppPkgInfoModifications'
description: Shows that the operation has been completed successfully
headers: {}
items:
$ref: '#/components/schemas/AppPkgInfoModifications'
description: Shall be returned when the operation has been completed successfully.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
/onboarded_app_packages/{appPkgId}:
get:
tags:
- app-pkgm
summary: 'Queries the information related to individual application package resources'
description: Queries the information related to individual application package resources
operationId: onboarded_app_packageGET
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
responses:
'200':
description: Contains a representation of the application package resource
headers: {}
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AppPkgInfo'
description: Indicates the success of request. The response message content shall contain arepresentation of the resource.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
delete:
tags:
- app-pkgm
summary: 'Deletes an individual application package resources in MEO/MEAO'
description: Deletes an individual application package resources in MEO/MEAO
operationId: onboarded_app_packageDELETE
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
responses:
'204':
description: No Content
headers: {}
content: {}
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
patch:
tags:
- app-pkgm
summary: 'Updates the operational state of an individual application package resource'
description: Updates the operational state of an individual application package resources
operationId: onboarded_app_packagePATCH
parameters:
- name: appPkgId
in: path
description: Identifier of an individual application package resource
required: true
style: simple
schema:
type: string
requestBody:
description: Parameters for application package information modification.
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AppPkgInfoModifications'
description: Shall be returned when the operation has been completed successfully.
required: true
responses:
'200':
description: Shows that the operation has been completed successfully
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AppPkgInfoModifications'
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
summary: 'Subscribe to notifications about on-boarding an application package'
description: Subscribe to notifications about on-boarding an application package
description: The input parameters of subscribe operation to notifications
content:
application/json:
schema:
$ref: '#/components/schemas/AppPkgSubscription'
responses:
'201':
description: Successful response for created subscription
$ref: '#/components/schemas/AppPkgSubscriptionInfo'
descriprion: Upon success, a response message contentrepresenting the created subscription shall bereturned.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
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"
'404':
description: "Not found"
summary: 'used to retrieve the information of subscriptions to individual application package resource in MEO or MEAO'
description: used to retrieve the information of subscriptions to individual application package resource in MEO or MEAO package
description: List of zero or more subscriptions
headers: {}
$ref: '#/components/schemas/AppPkgSubscriptionLinkList'
description: Upon success, a response message content containing a list of zero or more subscriptions shallbe returned.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
/subscriptions/{subscriptionId}:
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.
parameters:
- name: subscriptionId
in: path
description: Identifier of an individual subscription to notifications about application package changes
required: true
style: simple
schema:
type: string
description: a response body containing a representation of the resource shall be returned.
$ref: '#/components/schemas/AppPkgSubscriptionInfo'
descriprion: Upon success, a response message content containing a representation of the resource shall be returned.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
summary: 'Deletes the individual subscription to notifications about application package changes in MEO or MEAO.'
description: Deletes the individual subscription to notifications about application package changes in MEO or MEAO.
parameters:
- name: subscriptionId
in: path
description: Identifier of an individual subscription to notifications about application package changes
style: simple
schema:
type: string
description: No Content
headers: {}
content: {}
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
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.
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
- name: appPkgId
in: path
description: Identifier of an on-boarded individual application package
required: true
style: simple
schema:
type: string
- 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: Content of the AppD is returned.
headers: {}
descriprion: Indicates the success of request, and the content of the AppD is returned.The response message content shall contain a copy of the file representing the AppD or a
ZIP file that contains the file or multiple files representing the AppD.The "Content-Type" HTTP header shall be set according to the format of the returned file, which is
selected according to "Accept" HTTP header options passed in the request.
application/zip: {}
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
/onboarded_app_packages/{appDId}/appd:
get:
tags:
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.
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
- name: appDId
in: path
description: Identifier of an application descriptor
required: true
style: simple
schema:
type: string
- 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: Content of the AppD is returned.
headers: {}
descriprion: Indicates the success of request, and the content of the AppD is returned.The response message content shall contain a copy of the file representing the AppD or a
ZIP file that contains the file or multiple files representing the AppD.The "Content-Type" HTTP header shall be set according to the format of the returned file, which is
selected according to "Accept" HTTP header options passed in the request.
application/zip: {}
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
/app_packages/{appPkgId}/package_content:
get:
tags:
summary: 'Fetch the onboarded application package content identified by appPkgId or appDId.'
description: Fetch the onboarded application package content identified by appPkgId or appDId.
parameters:
- name: appPkgId
in: path
description: Identifier of an on-boarded individual application package
required: true
style: simple
schema:
type: string
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:
application/zip: {}
description: On success, if the MEO or MEAO supports range requests, a single consecutive byte range from the content of the application package file shall be returned.
content:
application/zip: {}
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
summary: 'Uploads the content of application package.'
description: Uploads the content of application package.
parameters:
- name: appPkgId
in: path
description: Identifier of an on-boarded individual application package
required: true
style: simple
schema:
type: string
application/zip: {}
description: The application package has been accepted for uploading, but the processing has not been completed.
headers: {}
content: {}
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
/onboarded_app_packages/{appDId}/package_content:
get:
tags:
summary: 'Fetch the onboarded application package content identified by appPkgId or appDId.'
description: Fetch the onboarded application package content identified by appPkgId or appDId.
parameters:
- name: appDId
in: path
description: Identifier of an application descriptor
required: true
style: simple
schema:
type: string
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: {}
description: On success, if the MEO or MEAO supports range requests, a single consecutive byte range from the content of the application package file shall be returned.
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
put:
tags:
- app-pkgm
summary: 'Fetch the onboarded application package content identified by appPkgId or appDId.'
description: Uploads the content of application package.
operationId: appDIdPUT
parameters:
- name: appDId
in: path
description: Identifier of an application descriptor
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/zip: {}
required: false
responses:
'202':
description: The application package has been accepted for uploading, but the processing has not been completed.
headers: {}
content: {}
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
###############################################################################
# Notification endpoint AppPkgNotification #
###############################################################################
/user_defined_notification:
post:
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: []
description: Notification endpoint to be created
$ref: '#/components/schemas/AppPkgNotification'
required: true
'204':
description: No Content
headers: {}
content: {}
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/401'
$ref: '#/components/responses/403'
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
$ref: '#/components/responses/429'
deprecated: false
parameters: []
title: AppD
required:
- appDId
- appDVersion
- appDescription
- appName
- appProvider
- appSoftVersion
- mecVersion
- swImageDescriptor
description: Identifier of this MEC application descriptor. This attribute shall be globally unique. See note 1.
$ref: './definitions/MEC010p2_definitions.yaml#/definitions/DNSRuleDescriptor'
description: Describes DNS rules the MEC application requires.
logicalNode:
type: array
items:
$ref: '#/components/schemas/LogicalNodeRequirements'
description: The logical node requirements. See note 6 and note 7.
requestAdditionalCapabilities:
type: array