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
description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v3.1.1'
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/03.01.01_60/gs_MEC01002v030101p.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
description: The POST method is used to 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'
- '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
70
71
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
- 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'
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':
- '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: {}
deprecated: false
parameters: []
/subscriptions:
- 'app-lcm-notifications'
summary: 'subscribe to the notification of application instance related change'
description: subscribe to the notification of application instance related change
- $ref: '#/components/schemas/AppInstSubscriptionRequest'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionRequest'
- $ref: '#/components/schemas/AppInstIdCreationSubscriptionRequest'
- $ref: '#/components/schemas/AppInstIdDeletionSubscriptionRequest'
description: a representation of the created SubscriptionInfo.
headers: {}
- $ref: '#/components/schemas/AppInstSubscriptionInfo'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
- $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo'
- $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo'
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: Query parameter to filter on a specific subscription type.
style: form
explode: true
schema:
$ref: '#/components/schemas/AppInstanceSubscriptionType'
description: List of all subscriptions is returned.
headers: {}
$ref: '#/components/schemas/AppInstanceSubscriptionLinkList'
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
description: Representation of the resource.
headers: {}
- $ref: '#/components/schemas/AppInstSubscriptionInfo'
- $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
- $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo'
- $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo'
- '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: {}
'400':
$ref: '#/components/responses/400'
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
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'
- $ref: '#/components/schemas/AppInstanceIdentifierCreationNotification'
- $ref: '#/components/schemas/AppInstanceIdentifierDeletionNotification'
description: No Content
headers: {}
content: {}
'400':
$ref: '#/components/responses/400'
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: {}
deprecated: false
parameters: []
piscione
committed
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
## Resources of application lifecycle management on Mm1
/app_instances/{appInstanceId}/terminate:
post:
tags:
- 'app-lcm'
summary: 'terminate an application instance.'
description: terminate an application instance.
operationId: appLcmTerminatePOST
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateAppRequest'
required: true
responses:
'202':
description: accepted for processing, but the processing has not yet been completed.
headers: {}
content: {}
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
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
operationId: appLcmOperatePOST
parameters:
- name: appInstanceId
in: path
description: Identifier of an individual application instance
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OperateAppRequest'
required: true
responses:
'202':
description: accepted for processing, but the processing has not yet been completed.
headers: {}
content: {}
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
deprecated: false
parameters: []
/app_lcm_op_occs:
get:
tags:
- '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:
- 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 AppLcmOpOcc to be excluded from the response.
style: form
explode: true
schema:
type: string
- name: exclude_fields
in: query
description: Complex attributes of AppLcmOpOcc 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 AppLcmOpOcc from the response.
style: form
explode: true
schema:
type: string
responses:
'200':
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/AppLcmOpOcc'
description: ''
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
deprecated: false
parameters: []
/app_lcm_op_occs/{appLcmOpOccId}:
get:
tags:
- '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:
- name: appLcmOpOccId
in: path
description: Identifies an individual application LCM operation occurrence
required: true
style: simple
schema:
type: string
responses:
'200':
description: Information about an application LCM operation occurrence was read successfully
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AppLcmOpOcc'
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
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
deprecated: false
parameters: []
/app_lcm_op_occs/{appLcmOpOccId}/cancel:
post:
tags:
- 'app-lcm'
summary: 'cancel an ongoing application lifecycle operation whose related "Individual application LCM operation occurrence" resource is in "PROCESSING" state.'
description: cancel an ongoing application lifecycle operation whose related "Individual application LCM operation occurrence" resource is in "PROCESSING" state.
operationId: appLcmCancelPOST
parameters:
- name: appLcmOpOccId
in: path
description: Identifies an individual application LCM operation occurrence
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CancelMode'
required: true
responses:
'202':
description: The request was accepted for processing, but it is possible that the processing is not yet completed.
headers: {}
content: {}
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
deprecated: false
parameters: []
/app_lcm_op_occs/{appLcmOpOccId}/fail:
post:
tags:
- 'app-lcm'
summary: marks an application lifecycle management operation occurrence as "finally failed"
description: marks an application lifecycle management operation occurrence as "finally failed"
operationId: appLcmFailPOST
parameters:
- name: appLcmOpOccId
in: path
description: Identifies an individual application LCM operation occurrence
required: true
style: simple
schema:
type: string
responses:
'202':
description: Shall be returned when the state of the application lifecycle management operation occurrence has been changed successfully
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AppLcmOpOcc'
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
deprecated: false
parameters: []
/app_lcm_op_occs/{appLcmOpOccId}/retry:
post:
tags:
- 'app-lcm'
summary: initiate retrying an application lifecycle operation that has experience a temporary failure
description: initiate retrying an application lifecycle operation that has experience a temporary failure
operationId: appLcmRetryPOST
parameters:
- name: appLcmOpOccId
in: path
description: Identifies an individual application LCM operation occurrence
required: true
style: simple
schema:
type: string
responses:
'202':
description: The request was accepted for processing, but it is possible that the processing is not yet completed
headers: {}
content: {}
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
deprecated: false
parameters: []
## Resources of MEPM's application lifecycle management on Mm3
/app_instances/{appInstanceId}/configure_platform_for_app:
post:
tags:
- 'app-lcm'
summary: provide configuration information in AppD to the MEPM-V, intended to configure the MEP to run the application instance.
description: provide configuration information in AppD to the MEPM-V, intended to configure the MEP to run the application instance.
operationId: appInstancesConfigPlatformPOST
parameters:
- name: appInstanceId
in: path
description: The identifier of the application instance.
required: true
style: simple
schema:
type: string
requestBody:
description: The message content in the request contains the information necessary to provide configuration information in AppD
piscione
committed
content:
application/json:
schema:
$ref: './definitions/MEC010p2_definitions.yaml#/definitions/ConfigPlatformForAppRequest'
piscione
committed
responses:
'202':
description: The request was accepted for processing, but it is possible that the processing is not yet completed
headers: {}
content: {}
'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'
piscione
committed
'429':
piscione
committed
deprecated: false
parameters: []
components:
schemas:
AppLcmOpOcc:
title: AppLcmOpOcc
required:
- id
- operationState
- stateEnteredTime
- startTime
- lcmOperation
- _links
type: object
properties:
id:
type: string
description: "'Identifier of the subscription to application LCM operation occurrence notification'"
operationState:
type: object
description: Operation state
$ref: '#/components/schemas/OperationState'
stateEnteredTime:
type: object
description: Date and time when the current state was entered.
$ref: '#/components/schemas/TimeStamp'
startTime:
type: object
description: Date and time of the start of the operation.
$ref: '#/components/schemas/TimeStamp'
lcmOperation:
type: object
description: Date and time of the start of the operation.
$ref: '#/components/schemas/LcmOperation'
operationParams:
type: object
description: Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. See note 2.
$ref: '#/components/schemas/OperationParams'
isCancelPending:
type: boolean
description: If the application LCM operation occurrence operationState is in "PROCESSING" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.
cancelMode:
type: object
description: The mode of a cancellation.
$ref: '#/components/schemas/CancelMode'
_links:
type: object
description: Links to resources related to this resource.
$ref: '#/components/schemas/AppInstanceLcmOpOcc.links'
description: |
This data type represents an application lifecycle management operation occurrence
NOTE 1: Void.
NOTE 2: This object contains structured data, and shall comply with the provisions of clause 4 of IETF RFC 8259
AppInstanceSubscriptionLinkList:
required:
- _links
properties:
_links:
type: object
description: List of hyperlinks related to the resource.
$ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links'
AppInstanceSubscriptionLinkList._links:
required:
- self
type: object
properties:
self:
type: string
description: URI referring to a resource
subscriptions:
type: array
description: A link list to the subscriptions.
items:
$ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links.subscriptions'
AppInstanceSubscriptionLinkList._links.subscriptions:
type: object
required:
- href
- subscriptionType
properties:
href:
description: The URI referring to the subscription.
type: object
description: Type of the subscription.
$ref: '#/components/schemas/AppInstanceSubscriptionType'
description: String representing the type of a subscription.
enum:
- AppInstanceStateChangeSubscription
- AppLcmOpOccStateChangeSubscription
- AppIdentifierCreationSubscription
- AppIdentifierDeletionSubscription
OperationParams:
oneOf:
- $ref: '#/components/schemas/InstantiateAppRequest'
- $ref: '#/components/schemas/OperateAppRequest'
- $ref: '#/components/schemas/TerminateAppRequest'
CancelMode:
description: Indicates the intervention action to be taken. GRACEFUL Indicates ongoing resource management operations in the underlying system are allowed to complete execution or time out. FORCED Indicates ongoing resource management operations in the underlying system are to be cancelled without allowing them to complete execution or time out.
type: string
enum:
- GRACEFUL
- FORCED
AppInstIdCreationSubscriptionRequest:
type: object
required:
- subscriptionType
- callbackUri
properties:
subscriptionType:
type: string
description: Shall be set to "AppIdentifierCreationSubscription".
description: The URI of the endpoint for the subscription related notification to be sent to.
type: object
description: Criteria used to filter application instances for which to send notifications related to this subscription. See note.
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
description: |
NOTE: If present, the value of attribute "appInstSelectorType" in appInstanceSubscriptionFilter can only be set as "APP_D_ID" or "APP_FROM_PROVIDER".
AppInstIdDeletionSubscriptionRequest:
type: object
required:
- subscriptionType
- callbackUri
properties:
subscriptionType:
type: string
description: Shall be set to "AppIdentifierDeletionSubscription".
callbackUri:
description: The URI of the endpoint for the subscription related notification to be sent to.
type: object
description: Criteria used to filter application instances for which to send notifications related to this subscription.
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
AppInstIdCreationSubscriptionInfo:
type: object
required:
- id
- subscriptionType
- callbackUri
- _links
properties:
id:
type: string
description: Identifier of the subscription to application instance operational state change notification.
subscriptionType:
type: string
description: Shall be set to "AppIdentifierCreationSubscription".
description: The URI of the endpoint for the subscription related notification to be sent to.
type: object
description: Criteria used to select application instances on which to send notifications related to this subscription.
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
_links:
type: object
description: Links to resources related to this resource.
required:
- self
properties:
self:
type: object
description: URI of this resource.
$ref: '#/components/schemas/LinkType'
AppInstIdDeletionSubscriptionInfo:
type: object
required:
- id
- subscriptionType
- callbackUri
- _links
properties:
id:
type: string
description: Identifier of the subscription to application instance operational state change notification.
subscriptionType:
type: string
description: Shall be set to "AppIdentifierDeletionSubscription".
callbackUri:
description: The URI of the endpoint for the subscription related notification to be sent to.
appInstanceSubscriptionFilter:
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
_links: