MEC010-2_AppLcm.json 87.9 KB
Newer Older
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    },
    "/app_instances/{appInstanceId}/instantiate": {
      "post": {
        "tags": [
          "app-lcm"
        "summary": "Deletes the individual subscription to notifications about application package changes in MEO.",
        "description": "task of instantiating an application instance.",
        "operationId": "appLcmInstanciatePOST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Identifier of an individual application instance",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
          "description": "",
          "content": {
            "application/json": {
Elian Kraja's avatar
Elian Kraja committed
              "schema": {
                "$ref": "#/components/schemas/InstantiateAppRequest"
              }
            }
          },
          "required": true
            "description": "accepted for processing, but the processing has not yet been completed.",
            "headers": {},
            "content": {}
            "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Unauthorized :  used when the client did not submit credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    },
    "/app_instances/{appInstanceId}/terminate": {
      "post": {
        "tags": [
          "app-lcm"
        ],
        "summary": "terminate an application instance.",
        "description": "terminate an application instance.",
        "operationId": "appLcmTerminatePOST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Identifier of an individual application instance",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
          "description": "",
          "content": {
            "application/json": {
Elian Kraja's avatar
Elian Kraja committed
              "schema": {
                "$ref": "#/components/schemas/TerminateAppRequest"
              }
          },
          "required": true
            "description": "accepted for processing, but the processing has not yet been completed.",
            "headers": {},
            "content": {}
            "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Unauthorized :  used when the client did not submit credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    },
    "/app_instances/{appInstanceId}/operate": {
      "post": {
        "tags": [
          "app-lcm"
        ],
        "summary": "change the operational state, i.e. start or stop, of the application instance",
        "description": "change the operational state, i.e. start or stop, of the application instance",
        "operationId": "appLcmOperatePOST",
        "parameters": [
          {
            "name": "appInstanceId",
            "in": "path",
            "description": "Identifier of an individual application instance",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OperateAppRequest"
          },
          "required": true
            "description": "accepted for processing, but the processing has not yet been completed.",
            "headers": {},
            "content": {}
            "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Unauthorized :  used when the client did not submit credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    },
    "/app_lcm_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",
Elian Kraja's avatar
Elian Kraja committed
        "parameters": [
            "in": "query",
            "description": "Attribute-based filtering parameters according to ETSI GS MEC 009",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            "in": "query",
            "description": "Include all complex attributes in the response.",
            "style": "form",
            "explode": true,
            "in": "query",
            "description": "Complex attributes of AppPkgInfo to be included into the response",
            "style": "form",
            "explode": true,
            "in": "query",
            "description": "Complex attributes of AppPkgInfo to be excluded from the response.",
            "style": "form",
            "explode": true,
            "in": "query",
            "description": "Indicates to exclude the following complex attributes of AppPkgInfo from the response.",
            "style": "form",
            "explode": true,
        "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/AppInstanceLcmOpOcc"
                  },
                  "description": "",
                  "contentMediaType": "application/json"
            "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Unauthorized :  used when the client did not submit credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    "/app_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/AppInstanceLcmOpOcc"
                }
              }
            "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Unauthorized :  used when the client did not submit credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Forbidden :  operation is not allowed given the current status of the resource.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
            "description": "Too Many Requests : used when a rate limiter has triggered.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
        },
        "deprecated": false
      },
      "parameters": []
    }
  },
  "components": {
    "schemas": {
      "AppInstanceLcmOpOcc": {
        "title": "AppInstanceLcmOpOcc",
        "required": [
          "id",
          "operationState",
          "stateEnteredTime",
          "startTime",
          "lcmOperation",
          "_links"
        ],
        "type": "object",
            "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"
          },
          "_links": {
            "$ref": "#/components/schemas/AppInstanceLcmOpOcc.links"
        },
        "description": "'This data type represents an application lifecycle management operation occurrence'"
        "title": "OperationParams",
        "enum": [
          "INSTANTIATE",
          "OPERATE",
          "TERMINATE"
        ],
        "type": "string",
        "description": "'Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation.'",
        "examples": [
          "INSTANTIATE"
        ]
      },
      "AppInstanceLcmOpOcc.links": {
        "title": "AppInstanceLcmOpOcc.links",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          },
          "appInstance": {
            "$ref": "#/components/schemas/LinkType"
        },
        "description": "Links to resources related to this resource."
        "title": "SubscriptionLinkList",
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/SubscriptionLinkList.links"
        },
        "description": "'The data type represents a subscription link list of notification on application lifecycle management. '"
      },
      "SubscriptionLinkList.links": {
        "title": "SubscriptionLinkList.links",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionLinkList.links.subscriptions"
            },
            "description": ""
        },
        "description": "Links to resources related to this resource."
      },
      "SubscriptionLinkList.links.subscriptions": {
        "title": "SubscriptionLinkList.links.subscriptions",
        "required": [
          "href",
          "subscriptionType"
        ],
        "type": "object",
            "type": "string"
            "$ref": "#/components/schemas/SubscriptionType"
        },
        "description": "A link list to the subscriptions"
      },
      "AppLcmOpOccSubscriptionInfo": {
        "title": "AppLcmOpOccSubscriptionInfo",
        "required": [
          "id",
          "subscriptionType",
          "callbackUri",
          "_links"
        ],
        "type": "object",
            "type": "string",
            "description": "''"
            "const": "AppLcmOpOccStateChange",
            "type": "string",
            "description": "Shall be set to AppLcmOpOccStateChange.",
            "examples": [
              "AppLcmOpOccStateChange"
            ]
            "type": "string",
            "description": "The URI of the endpoint for the notification to be sent to."
          },
          "_links": {
            "$ref": "#/components/schemas/AppLcmOpOccSubscriptionInfo.links"
        },
        "description": "'This data type represents a subscription to notifications of application life cycle management operation occurrence'"
      },
      "AppLcmOpOcc.SubscriptionType": {
        "title": "AppLcmOpOcc.SubscriptionType",
        "const": "AppLcmOpOccStateChange",
        "description": "Shall be set to AppLcmOpOccStateChange.",
        "examples": [
          "AppLcmOpOccStateChange"
        ]
      },
      "AppLcmOpOccSubscriptionInfo.links": {
        "title": "AppLcmOpOccSubscriptionInfo.links",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          }
        },
        "description": "Links to resources related to this resource."
      },
      "AppInstSubscriptionInfo": {
        "title": "AppInstSubscriptionInfo",
        "required": [
          "id",
          "subscriptionType",
          "notificationType",
          "callbackUri",
          "_links"
        ],
        "type": "object",
            "type": "string",
            "description": "'Identifier of the subscription to application instance operational state change notification.'"
            "const": "AppInstanceStateChange",
            "type": "string",
            "description": "Shall be set to AppInstanceStateChange.",
            "examples": [
              "AppInstanceStateChange"
            ]
          },
          "notificationType": {
            "$ref": "#/components/schemas/AppInst.NotificationType"
          },
          "callbackUri": {
            "type": "string",
            "description": "The URI of the endpoint for the 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.'"
      },
      "AppInst.SubscriptionType": {
        "title": "AppInst.SubscriptionType",
        "const": "AppInstanceStateChange",
        "description": "Shall be set to AppInstanceStateChange.",
        "examples": [
          "AppInstanceStateChange"
        ]
      },
      "AppInst.NotificationType": {
        "title": "AppInst.NotificationType",
        "enum": [
          "NOT_INSTANTIATED",
          "STARTED",
          "STOPPED"
        "description": "Subscribed notification",
        "examples": [
          "NOT_INSTANTIATED"
        ]
      },
      "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 \"AppLcmOpOccStateChange\"."
      },
      "AppLcmOpOccSubscriptionFilter": {
        "title": "AppLcmOpOccSubscriptionFilter",
        "type": "object",
        "properties": {
          "appInstanceSubscriptionFilter": {
            "$ref": "#/components/schemas/AppInstanceSubscriptionFilter"
          },
          "notificationTypes": {
            "$ref": "#/components/schemas/NotificationTypes"
          },
          "operationStates": {
            "$ref": "#/components/schemas/OperationStates"
          "operationTypes": {
            "$ref": "#/components/schemas/OperationTypes"
          }
        }
      },
      "NotificationTypes": {
        "title": "NotificationTypes",
        "const": "AppLcmOperationOccurrenceNotification",
        "description": "Match particular notification types.",
        "examples": [
          "AppLcmOperationOccurrenceNotification"
        ]
      },
      "OperationStates": {
        "title": "OperationStates",
        "enum": [
          "STARTING",
          "PROCESSING",
          "COMPLETED",
          "FAILED"
        ],
        "type": "string",
        "description": "'Type of the LCM operation state represented by this application instance LCM operation occurrence.'",
        "examples": [
          "STARTING"
        "title": "OperationTypes",
        "enum": [
          "INSTANTIATE",
          "OPERATE",
          "TERMINATE"
        ],
        "type": "string",
        "description": "'Type of the LCM operation represented by this application instance LCM operation occurrence.'",
        "examples": [
          "INSTANTIATE"
        "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."