openapi: 3.1.0 info: 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' contact: name: ETSI Forge url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api email: cti_support@etsi.org version: '2.2.1' externalDocs: description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1' url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.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 servers: - url: https://localhost/app_lcm/v1 variables: {} paths: /app_instances: post: tags: - 'app-lcm' summary: 'Create an application instance resource' description: Create an application instance resource operationId: appInstancePOST parameters: [] requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/CreateAppInstanceRequest' required: true responses: '201': description: An application instance identifier and the related resource has been created successfully. 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' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' deprecated: false get: tags: - '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 operationId: appInstanceGET 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: 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 '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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}: get: tags: - '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. operationId: appInstanceIdGET parameters: - name: appInstanceId in: path description: Identifier of an individual application instance required: true style: simple schema: type: string responses: '200': 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' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' deprecated: false delete: tags: - 'app-lcm' summary: 'Deletes an individual application instance resource.' description: Deletes an individual application instance resource. operationId: appInstanceIdDELETE parameters: - name: appInstanceId in: path description: Identifier of an individual application instance required: true style: simple schema: type: string responses: '204': description: No Content headers: {} content: {} '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' deprecated: false parameters: [] /subscriptions: post: tags: - 'app-lcm-notifications' summary: 'subscribe to the notification of application instance related change' description: subscribe to the notification of application instance related change operationId: appLcmSubscriptionsPOST requestBody: description: '' content: application/json: schema: oneOf: - $ref: '#/components/schemas/AppInstSubscriptionRequest' - $ref: '#/components/schemas/AppLcmOpOccSubscriptionRequest' - $ref: '#/components/schemas/AppInstIdCreationSubscriptionRequest' - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionRequest' contentMediaType: application/json required: true responses: '201': description: a representation of the created SubscriptionInfo. headers: {} content: application/json: schema: oneOf: - $ref: '#/components/schemas/AppInstSubscriptionInfo' - $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo' - $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo' - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo' contentMediaType: application/json '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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" deprecated: false get: tags: - '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. operationId: appLcmSubscriptionsGET parameters: - name: subscriptionType in: query description: Query parameter to filter on a specific subscription type. style: form explode: true schema: $ref: '#/components/schemas/AppInstanceSubscriptionType' responses: '200': description: List of all subscriptions is returned. headers: {} content: application/json: schema: $ref: '#/components/schemas/AppInstanceSubscriptionLinkList' '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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}: get: tags: - '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 responses: '200': description: Representation of the resource. headers: {} content: application/json: schema: oneOf: - $ref: '#/components/schemas/AppInstSubscriptionInfo' - $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo' - $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo' - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo' contentMediaType: application/json '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' deprecated: false delete: tags: - '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. operationId: individualSubscriptionDELETE parameters: - name: subscriptionId in: path description: Represents an individual subscription to notification related to an application instance required: true style: simple schema: type: string responses: '204': description: No Content headers: {} content: {} '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '429': 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: post: tags: - '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. operationId: appInstNotificationPOST parameters: [] requestBody: description: '' content: application/json: schema: oneOf: - $ref: '#/components/schemas/AppInstNotification' - $ref: '#/components/schemas/AppLcmOpOccNotification' - $ref: '#/components/schemas/AppInstanceIdentifierCreationNotification' - $ref: '#/components/schemas/AppInstanceIdentifierDeletionNotification' contentMediaType: application/json required: true responses: '204': description: No Content headers: {} content: {} '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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. operationId: appLcmInstanciatePOST 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/InstantiateAppRequest' required: true responses: '202': description: accepted for processing, but the processing has not yet been completed. headers: {} content: {} '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' deprecated: false parameters: [] ## 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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': 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 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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': 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_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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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_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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '429': 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_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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': 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_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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': 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_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': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 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 payload body in the request contains the information necessary to provide configuration information in AppD content: application/json: schema: $ref: './MEC010p2_v221_definitions.yaml#/definitions/ConfigPlatformForAppRequest' responses: '202': description: The request was accepted for processing, but it is possible that the processing is not yet completed headers: {} content: {} '400': description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: 'Unauthorized : used when the client did not submit credentials.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: 'Forbidden : operation is not allowed given the current status of the resource.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': 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' '406': 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' '409': 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' '429': description: 'Too Many Requests : used when a rate limiter has triggered.' headers: {} content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 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: $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: type: uri subscriptionType: $ref: '#/components/schemas/AppInstanceSubscriptionType' AppInstanceSubscriptionType: type: string 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: type: uri appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' AppInstIdDeletionSubscriptionRequest: type: object required: - subscriptionType - callbackUri properties: subscriptionType: type: string description: Shall be set to "AppIdentifierDeletionSubscription". callbackUri: type: uri appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' AppInstIdCreationSubscriptionInfo: type: object required: - id - subscriptionType - callbackUri - _links properties: id: type: string subscriptionType: type: string callbackUri: type: uri 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: type: uri appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' _links: type: object required: - self properties: self: $ref: '#/components/schemas/LinkType' AppInstanceLcmOpOcc.links: title: AppInstanceLcmOpOcc.links required: - self - appInstance 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 type: object properties: id: type: string description: Identifier of this subscription resource. subscriptionType: const: AppLcmOpOccStateChange type: string description: Shall be set to "AppLcmOpOccStateChangeSubscription". examples: - AppLcmOpOccStateChange callbackUri: type: string description: The URI of the endpoint for the notification to be sent to. appLcmOpOccSubscriptionFilter: $ref: '#/components/schemas/AppLcmOpOccSubscriptionFilter' description: Criteria used to select application LCM operation occurrences on which to send notifications related to this subscription. _links: $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo.links' description: "'This data type represents a subscription to notifications of application life cycle management operation occurrence'" AppLcmOpOccSubscriptionInfo.links: title: AppLcmOpOccSubscriptionInfo.links required: - self type: object properties: self: $ref: '#/components/schemas/LinkType' description: Links to resources related to this resource. AppInstSubscriptionInfo: title: AppInstSubscriptionInfo required: - id - subscriptionType - callbackUri - _links type: object properties: id: type: string description: "'Identifier of the subscription to application instance operational state change notification.'" subscriptionType: const: AppInstanceStateChange type: string description: Shall be set to "AppInstanceStateChangeSubscription". examples: - AppInstanceStateChangeSubscription appInstanceState: type: string enum: - NOT_INSTANTIATED - STARTED - STOPPED appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' callbackUri: type: string description: The URI of the endpoint for the subscription related notification to be sent to. _links: $ref: '#/components/schemas/AppInstSubscriptionInfo.links' description: "'The data type represents a subscription to notification of application instance operational state change.'" AppInstSubscriptionInfo.links: title: AppInstSubscriptionInfo.links required: - self type: object properties: self: $ref: '#/components/schemas/LinkType' description: Links to resources related to this resource. AppLcmOpOccSubscriptionRequest: title: AppLcmOpOccSubscriptionRequest required: - callbackUri - subscriptionType type: object properties: appLcmOpOccSubscriptionFilter: $ref: '#/components/schemas/AppLcmOpOccSubscriptionFilter' callbackUri: type: string subscriptionType: type: string description: Shall be set to "AppLcmOpOccStateChangeSubscription". AppLcmOpOccSubscriptionFilter: title: AppLcmOpOccSubscriptionFilter type: object properties: appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' notificationTypes: description: Match particular notification types. Permitted values AppLcmOpOccNotification. $ref: '#/components/schemas/NotificationTypes' operationStates: $ref: '#/components/schemas/OperationStates' operationTypes: $ref: '#/components/schemas/OperationTypes' NotificationTypes: title: NotificationTypes const: AppLcmOperationOccurrenceNotification type: string description: Match particular notification types. examples: - AppLcmOperationOccurrenceNotification OperationStates: title: OperationStates enum: - STARTING - PROCESSING - COMPLETED - FAILED - FAILED_TEMP type: string description: "'Type of the LCM operation state represented by this application instance LCM operation occurrence.'" examples: - STARTING OperationTypes: title: OperationTypes enum: - INSTANTIATE - OPERATE - TERMINATE type: string description: "'Type of the LCM operation represented by this application instance LCM operation occurrence.'" examples: - INSTANTIATE MepInformation: type: object required: - mepId properties: mepId: type: string description: Deployment-specific identifier of MEC platform. mepName: type: string description: Human-readable name of MEC platform CreateAppInstanceRequest: title: CreateAppInstanceRequest required: - appDId type: object properties: appDId: type: string description: The application descriptor identifier. It is managed by the application provider to identify the application descriptor in a globally unique way. appInstanceDescription: type: string description: Human-readable description of the application instance to be created. appInstanceName: type: string description: Human-readable name of the application instance to be created. appPlacementInfo: description: Describes the information of selected MEC platform for the application instance to associate $ref: '#/components/schemas/MepInformation' AppInstSubscriptionRequest: title: AppInstSubscriptionRequest required: - subscriptionType - callbackUri type: object properties: subscriptionType: const: AppInstanceStateChange type: string description: Shall be set to "AppInstanceStateChangeSubscription". examples: - AppInstanceStateChange callbackUri: type: string description: The URI of the endpoint for the notification to be sent to. appInstanceState: $ref: '#/components/schemas/AppInstanceState' appInstanceSubscriptionFilter: $ref: '#/components/schemas/AppInstanceSubscriptionFilter' AppInstanceSubscriptionFilter: title: AppInstanceSubscriptionFilter required: - appInstSelectorType type: object properties: appInstSelectorType: $ref: '#/components/schemas/AppInstSelectorType' appInstances: type: array items: type: string description: '' appsFromProviders: type: array items: $ref: '#/components/schemas/AppsFromProviders' description: '' description: "'This data type represents subscription filter criteria to match application instances. '" AppsFromProviders: title: AppsFromProviders required: - appProvider type: object properties: appProvider: type: string description: Provider of the application and of the AppD. appProducts: $ref: '#/components/schemas/AppProducts' description: "'Present only if appInstIdSelector = APP_FROM_PROVIDER. Match existing application instances, or those created in the future whilst the subscription is active, that belong to applications from certain providers.'" AppProducts: title: AppProducts required: - appName type: object properties: appName: type: string description: Name to identify the MEC application. versions: $ref: '#/components/schemas/AppProducts.Versions' description: "'If present, match application instances that belong to application products with certain product names, from one particular provider.'" AppProducts.Versions: title: AppProducts.Versions required: - appSoftVersion type: object properties: appSoftVersion: type: string description: Identifies the version of software of the MEC application. appDVersion: type: array items: type: string description: '' description: "'If present, match application instances that belong to application products with certain versions and a certain product name, from one particular provider.'" AppInstSelectorType: title: AppInstSelectorType enum: - VOID - APP_IDENTITY - APP_NAME - APP_D_ID - APP_FROM_PROVIDER type: string description: 0 = void examples: - VOID AppInstanceState: title: AppInstanceState enum: - NOT_INSTANTIATED - STARTED - STOPPED type: string description: Only send notifications for application instances that are in one of the states listed in this attribute. If this attribute is absent, match all states. examples: - NOT_INSTANTIATED AppInstNotification: title: AppInstNotification required: - _links - appDId - appInstanceId - appPkgId - id - notificationType - subscriptionId - timeStamp type: object properties: _links: $ref: '#/components/schemas/Links' appDId: type: string description: The application descriptor identifier identifies the application package and the application descriptor in a globally unique way. appInstanceId: type: string description: Identifier of application instance. appPkgId: type: string description: Identifier of the onboarded application package. id: type: string description: Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "notificationId" attribute of all these notifications shall have the same value. notificationType: type: string description: Discriminator for the different notification types. Shall be set to "AppInstanceStateChangeSubscription" for this notification type. subscriptionId: type: string description: Identifier of the subscription related to this notification. timeStamp: $ref: '#/components/schemas/TimeStamp' appInstLocation: $ref: '#/components/schemas/LocationInformation' appInstanceState: type: string enum: - NOT_INSTANTIATED - STARTED - STOPPED LocationInformation: type: object required: - countryCode properties: countryCode: type: string civicAddress: $ref: '#/components/schemas/LocationInformation.civicAddress' geographicalPosition: type: string LocationInformation.civicAddress: type: object required: - civicAddressElement properties: civicAddressElement: type: array items: $ref: '#/components/schemas/CivicAddressElement' AppInstanceInfo: title: AppInstanceInfo required: - id - appDId - appProvider - appName - appSoftVersion - appDVersion - appPkgId - instantiationState - _links type: object properties: id: type: string description: Identifier of application instance. appInstanceName: type: string description: Name of the application instance. appInstanceDescription: type: string description: Human-readable description of the application instance to be created. appDId: type: string description: Identifier of this MEC application descriptor. This attribute shall be globally unique. appProvider: type: string description: Provider of the application and of the AppD. appName: type: string description: Name to identify the MEC application. appSoftVersion: type: string description: Identifies the version of software of the MEC application. appDVersion: type: string description: Identifies the version of the application descriptor. appPkgId: type: string description: Identifier of the onboarded application package. vimConnectionInfo: type: array items: $ref: '#/components/schemas/VimConnectionInfo' description: '' instantiationState: $ref: '#/components/schemas/InstantiationState' instantiatedAppState: $ref: '#/components/schemas/InstantiatedAppState' _links: $ref: '#/components/schemas/AppInstanceInfo.links' description: "'The data type of AppInstanceInfo represents the parameters of instantiated application instance resources.'" OperationState: title: OperationState enum: - STARTING - PROCESSING - COMPLETED - FAILED - FAILED_TEMP type: string description: Operation state examples: - STARTING InstantiationState: title: InstantiationState enum: - NOT_INSTANTIATED - INSTANTIATED type: string description: Instantiation state of the application instance examples: - NOT_INSTANTIATED InstantiatedAppState: title: InstantiatedAppState required: - operationalState type: object properties: operationalState: $ref: '#/components/schemas/OperationalState' description: "'Information specific to an instantiated application. This attribute shall be present if the instantiationState attribute value is INSTANTIATED.'" OperationalState: title: OperationalState enum: - STARTED - STOPPED type: string description: Operational state is applicable in the instantiation state INSTANTIATED examples: - STARTED AppInstanceInfo.links: title: AppInstanceInfo.links required: - self type: object properties: self: $ref: '#/components/schemas/LinkType' instantiate: $ref: '#/components/schemas/LinkType' terminate: $ref: '#/components/schemas/LinkType' operate: $ref: '#/components/schemas/LinkType' description: Links to resources related to this resource. LcmOperation: title: LcmOperation enum: - INSTATIATE - OPERATE - TERMINATE type: string description: Type of the actual LCM operation represented by this application instance LCM operation occurrence examples: - INSTATIATE AppLcmOpOccNotification: title: AppLcmOpOccNotification required: - id - notificationType - operationType - operationState - subscriptionId - timeStamp - appLcmOpOccId - appInstanceId - _links type: object properties: id: type: string description: "''" notificationType: type: string description: Discriminator for the different notification types. Shall be set to "AppLcmOpOccStateChangeSubscription" for this notification type. operationType: type: string description: Type of the LCM operation represented by this application instance LCM operation occurrence. enum: - INSTANTIATE - OPERATE - TERMINATE operationState: type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED - FAILED_TEMP subscriptionId: type: string description: Identifier of the subscription related to this notification. timeStamp: $ref: '#/components/schemas/TimeStamp' appLcmOpOccId: type: string description: Identifier of application lifecycle management operation occurrence. appInstanceId: type: string description: Identifier of application instance. _links: $ref: '#/components/schemas/AppLcmOpOccNotification.links' description: "'This data type represents a notification related to state changes of an application LCM operation occurrence which informs the subscribers'" AppInstanceIdentifierCreationNotification: title: AppInstanceIdentifierCreationNotification required: - id - notificationType - subscriptionId - timeStamp - appInstanceId - _links type: object properties: id: type: string notificationType: type: string description: Discriminator for the different notification types. Shall be set to "AppIdentifierCreationSubscription" for this notification type. subscriptionId: type: string timeStamp: $ref: '#/components/schemas/TimeStamp' appInstanceId: type: string _links: $ref: '#/components/schemas/Notification._links' Notification._links: type: object required: - subscription - appInstance properties: subscription: $ref: '#/components/schemas/LinkType' appInstance: $ref: '#/components/schemas/LinkType' AppInstanceIdentifierDeletionNotification: title: AppInstanceIdentifierDeletionNotification required: - id - notificationType - subscriptionId - timeStamp - appInstanceId - _links type: object properties: id: type: string notificationType: type: string description: Discriminator for the different notification types. Shall be set to "AppIdentifierDeletionSubscription" for this notification type. subscriptionId: type: string timeStamp: $ref: '#/components/schemas/TimeStamp' appInstanceId: type: string _links: $ref: '#/components/schemas/Notification._links' AppLcmOpOccNotification.links: title: AppLcmOpOccNotification.links required: - appInstance - subscription - appLcmOpOcc type: object properties: appInstance: $ref: '#/components/schemas/LinkType' subscription: $ref: '#/components/schemas/LinkType' appLcmOpOcc: $ref: '#/components/schemas/LinkType' description: Links to resources related to this resource. InstantiateAppRequest: title: InstantiateAppRequest required: - selectedMECHostInfo type: object properties: locationConstraints: $ref: '#/components/schemas/LocationConstraints' selectedMECHostInfo: type: array items: $ref: '#/components/schemas/MECHostInformation' description: Describes the information of selected host for the application instance. See note 2. vimConnectionInfo: type: array items: $ref: '#/components/schemas/VimConnectionInfo' description: >- Information about VIM connections to be used for managing the resources for the application instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if application-related resource management in direct mode is applicable. See note 2. virtualComputeDescriptor: type: string description: Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisation container used to realize the application instance to be created. This attribute may be provided in the InstantiateAppRequest structure to override the same attribute in the AppD. virtualStorageDescriptor: type: array items: type: string description: Defines descriptors of virtual storage resources to be used by the application instance to be created. See note 1. appTermCandsForCoord: $ref: '#/components/schemas/AppTermCandsForCoord' AppTermCandsForCoord: type: object required: - terminationOptions properties: terminationOptions: type: array items: $ref: '#/components/schemas/AppTermCandsForCoord.terminationOptions' AppTermCandsForCoord.terminationOptions: type: object required: - appInstIdTerminationCands properties: appInstIdTerminationCands: type: array items: type: string LinkType: title: LinkType required: - href type: object properties: href: type: string description: URI referring to a resource LocationConstraints: title: LocationConstraints type: object properties: countryCode: type: string description: The two-letter ISO 3166 country code in capital letters. civicAddressElement: type: array items: $ref: '#/components/schemas/CivicAddressElement' area: type: object description: Geographic area. Shall be absent if the "civicAddressElement" attribute is present. The content of this attribute shall follow the provisions for the "Polygon" geometry object as defined in IETF RFC 7946 [8], for which description: "'The LocationConstraints data type supports the specification of MEC application requirements related to MEC application deployment location constraints. The location constraints shall be presented as a country code, optionally followed by a civic address based on the format defined by IETF RFC 4776'" CivicAddressElement: title: CivicAddressElement required: - caType - caValue type: object properties: caType: type: integer description: "'Describe the content type of caValue. The value of caType shall comply with section 3.4 of IETF RFC 4776.'" contentEncoding: int32 caValue: type: string description: "'Content of civic address element corresponding to the caType. The format caValue shall comply with section 3.4 of IETF RFC 4776.'" description: "'The civic address.'" MECHostInformation: title: MECHostInformation required: - hostId type: object properties: hostId: type: object description: Deployment-specific information to identify a MEC host. This information can be structured to cater for host identification schemes that are more complex than a simple identifier, e.g. when referring to the structure of an NFVI. hostName: type: string description: Human-readable name of MEC host. OperateAppRequest: title: OperateAppRequest required: - changeStateTo type: object properties: changeStateTo: $ref: '#/components/schemas/ChangeStateTo' gracefulStopTimeout: type: integer description: The time interval (in seconds) to wait for the application instance to be taken out of service during graceful stop, before stopping the application. See note 1 and note 2. contentEncoding: int32 stopType: $ref: '#/components/schemas/StopType' StopType: title: StopType enum: - FORCEFUL - GRACEFUL type: string description: Signals forceful or graceful stop examples: - FORCEFUL ChangeStateTo: title: ChangeStateTo enum: - STARTED - STOPPED type: string description: The desired operational state examples: - STARTED ProblemDetails: title: ProblemDetails type: object properties: detail: type: string description: A human-readable explanation specific to this occurrence of the problem instance: type: string description: A URI reference that identifies the specific occurrence of the problem status: type: integer description: The HTTP status code for this occurrence of the problem contentEncoding: int32 title: type: string description: A short, human-readable summary of the problem type type: type: string description: A URI reference according to IETF RFC 3986 that identifies the problem type TerminateAppRequest: title: TerminateAppRequest required: - terminationType type: object properties: gracefulTerminationTimeout: type: integer description: "This attribute is only applicable in case of graceful termination. It defines the time to wait for the application instance to be taken out of service before shutting down the application and releasing the resources. \nThe unit is seconds.\nIf not given and the \"terminationType\" attribute is set to \"GRACEFUL\", it is expected to wait for the successful taking out of service of the application, no matter how long it takes, before shutting down the application and releasing the resources." contentEncoding: int32 terminationType: $ref: '#/components/schemas/TerminationType' TimeStamp: title: TimeStamp required: - nanoSeconds - seconds type: object properties: nanoSeconds: type: integer description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC. contentEncoding: int32 seconds: type: integer description: The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC. contentEncoding: int32 TerminationType: title: TerminationType enum: - FORCEFUL - GRACEFUL type: string description: "'Indicates whether forceful or graceful termination is requested.'" examples: - FORCEFUL VimConnectionInfo: title: VimConnectionInfo required: - id - vimType type: object properties: accessInfo: type: object description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'" extra: type: object description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'" id: type: string description: The identifier of the VIM Connection. This identifier is managed by the MEO. interfaceInfo: type: object description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'" vimId: type: string description: The identifier of the VIM instance. This identifier is managed by the MEO.Shall be present to address additional information about the VIM if such information has been configured into the MEPM by means outside the scope of the present document, and should be absent otherwise. vimType: type: string description: Discriminator for the different types of the VIM information.The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM.The set of permitted values is expected to change over time as new types or versions of VIMs become available. Links: title: Links required: - subscription type: object properties: subscription: $ref: '#/components/schemas/LinkType' description: Links to resources related to this notification. security: - {}