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.0.1'
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/03.00.01_60/gs_MEC01002v030001p.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'
- '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'
description: ''
contentMediaType: application/json
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'
contentMediaType: application/json
required: true
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'
contentMediaType: application/json
required: true
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
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
482
483
484
485
486
## 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
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
523
524
525
526
527
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
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
591
592
593
594
595
596
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: ''
contentMediaType: application/json
'400':
piscione
committed
'401':
piscione
committed
'403':
piscione
committed
'404':
piscione
committed
'406':
piscione
committed
'429':
piscione
committed
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
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
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
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
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
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
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
type: object
properties:
id:
type: string
description: "'Identifier of the subscription to application LCM operation occurrence notification'"
operationState:
$ref: '#/components/schemas/OperationState'
stateEnteredTime:
$ref: '#/components/schemas/TimeStamp'
startTime:
$ref: '#/components/schemas/TimeStamp'
lcmOperation:
$ref: '#/components/schemas/LcmOperation'
operationParams:
$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:
$ref: '#/components/schemas/CancelMode'
_links:
$ref: '#/components/schemas/AppInstanceLcmOpOcc.links'
description: "'This data type represents an application lifecycle management operation occurrence'"
AppInstanceSubscriptionLinkList:
required:
- _links
properties:
_links:
$ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links'
AppInstanceSubscriptionLinkList._links:
required:
- self
type: object
properties:
self:
type: string
description: URI referring to a resource
subscriptions:
type: array
items:
$ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links.subscriptions'
AppInstanceSubscriptionLinkList._links.subscriptions:
type: object
required:
- href
- subscriptionType
properties:
href:
subscriptionType:
$ref: '#/components/schemas/AppInstanceSubscriptionType'
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
callbackUri:
appInstanceSubscriptionFilter:
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
AppInstIdDeletionSubscriptionRequest:
type: object
required:
- subscriptionType
- callbackUri
properties:
subscriptionType:
type: string
description: Shall be set to "AppIdentifierDeletionSubscription".
callbackUri:
appInstanceSubscriptionFilter:
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
AppInstIdCreationSubscriptionInfo:
type: object
required:
- id
- subscriptionType
- callbackUri
- _links
properties:
id:
type: string
subscriptionType:
type: string
callbackUri:
appInstanceSubscriptionFilter:
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
_links:
type: object
required:
- self
properties:
self:
$ref: '#/components/schemas/LinkType'
AppInstIdDeletionSubscriptionInfo:
type: object
required:
- id
- subscriptionType
- callbackUri
- _links
properties:
id:
type: string
subscriptionType:
type: string
description: Shall be set to "AppIdentifierDeletionSubscription".
callbackUri:
appInstanceSubscriptionFilter:
$ref: '#/components/schemas/AppInstanceSubscriptionFilter'
_links:
type: object
required:
- self
properties:
self:
$ref: '#/components/schemas/LinkType'
AppInstanceLcmOpOcc.links:
title: AppInstanceLcmOpOcc.links
required:
type: object
properties:
self:
$ref: '#/components/schemas/LinkType'
appInstance:
$ref: '#/components/schemas/LinkType'
description: Links to resources related to this resource.
AppLcmOpOccSubscriptionInfo:
title: AppLcmOpOccSubscriptionInfo
required:
- id
- subscriptionType
- callbackUri
- _links