Skip to content
MEC010-2_AppLcm.json 68.8 KiB
Newer Older
Elian Kraja's avatar
Elian Kraja committed
    "info": {
      "title": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management",
      "version": "2.1.1",
      "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": {
        "url": "https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api"
      }
Elian Kraja's avatar
Elian Kraja committed
    "externalDocs": {
      "description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1",
      "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf"
    },
    "servers": [
      {
        "url": "https://localhost/app_lcm/v1"
      }
    ],
    "openapi": "3.0.0",
    "tags": [
      {
        "name": "app-lcm",
        "description": "App lifecycle management"
      },
      {
        "name": "app-lcm-notifications",
        "description": "App lifecycle management notifications"
      }
    ],
    "paths": {
      "/app_instances": {
        "post": {
          "tags": [
            ""
          ],
          "summary": "Create an application instance resource",
          "description": "Create an application instance resource",
          "operationId": "appInstancePOST",
          "requestBody": {
            "required": true,
            "content": {
Elian Kraja's avatar
Elian Kraja committed
              "application/json": {
Elian Kraja's avatar
Elian Kraja committed
                  "$ref": "#/components/schemas/CreateAppInstanceRequest"
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "201": {
              "description": "An application instance identifier and the related resource has been created successfully.",
              "content": {
                "application/zip": {
                  "schema": {
                    "$ref": "#/components/schemas/AppInstanceInfo"
                  }
                }
              }
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
        },
        "get": {
          "tags": [
            ""
          ],
          "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": [
            {
              "in": "query",
              "name": "filter",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Attribute-based filtering parameters according to ETSI GS MEC 009"
Elian Kraja's avatar
Elian Kraja committed
            {
              "in": "query",
              "name": "all_fields",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Include all complex attributes in the response."
Elian Kraja's avatar
Elian Kraja committed
            {
              "in": "query",
              "name": "fields",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Complex attributes of AppPkgInfo to be included into the response"
Elian Kraja's avatar
Elian Kraja committed
            {
              "in": "query",
              "name": "exclude_fields",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Complex attributes of AppPkgInfo to be excluded from the response."
Elian Kraja's avatar
Elian Kraja committed
            {
              "in": "query",
              "name": "exclude_default",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Indicates to exclude the following complex attributes of AppPkgInfo from the response."
            }
          ],
          "responses": {
            "200": {
              "description": "Array the representations of zero or more application instances",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AppInstanceInfo"
                    }
                  }
                }
              }
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
          }
        }
      },
      "/app_instances/{appInstanceId}": {
        "parameters": [
Elian Kraja's avatar
Elian Kraja committed
            "in": "path",
            "name": "appInstanceId",
            "description": "Identifier of an individual application instance",
            "schema": {
              "type": "string"
            },
Elian Kraja's avatar
Elian Kraja committed
            "required": true
Elian Kraja's avatar
Elian Kraja committed
        "get": {
          "tags": [
            ""
          ],
          "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",
          "responses": {
            "200": {
              "description": "Contains a representation of the read resource.",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/AppInstanceInfo"
                  }
                }
              }
Elian Kraja's avatar
Elian Kraja committed
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
          }
        },
        "delete": {
          "tags": [
            ""
          ],
          "summary": "Deletes an  individual application instance resource.",
          "description": "Deletes an  individual application instance resource.",
          "operationId": "appInstanceIdDELETE",
          "responses": {
            "204": {
              "$ref": "#/components/responses/204"
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "409": {
              "$ref": "#/components/responses/409"
            },
            "429": {
              "$ref": "#/components/responses/429"
Elian Kraja's avatar
Elian Kraja committed
      },
      "/subscriptions": {
        "post": {
          "tags": [
            ""
          ],
          "summary": "subscribe to the notification of application instance operational state change",
          "description": "subscribe to the notification of application instance operational state change",
          "operationId": "appLcmSubscriptionsPOST",
          "parameters": [
            {
              "in": "query",
              "name": "subscriptionType",
              "description": "\"Query parameter to filter on a specific subscription type. Permitted values:\n\"AppInstanceStateChange\"\n\"AppLcmOpOccStateChange\"\n\"",
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AppInst.SubscriptionType"
                  },
                  {
                    "$ref": "#/components/schemas/AppLcmOpOcc.SubscriptionType"
                  }
                ]
              },
              "required": true
            }
          ],
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
Elian Kraja's avatar
Elian Kraja committed
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AppInstSubscriptionRequest"
                    },
                    {
                      "$ref": "#/components/schemas/AppLcmOpOccSubscriptionRequest"
                    }
                  ]
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "201": {
              "description": "a representation of the created SubscriptionInfo.",
              "content": {
                "application/json": {
                  "schema": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/AppInstSubscriptionInfo"
                      },
                      {
                        "$ref": "#/components/schemas/AppLcmOpOccSubscriptionInfo"
                      }
                    ]
                  }
                }
              }
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
        },
        "get": {
          "tags": [
            ""
          ],
          "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": [
            {
              "in": "query",
              "name": "subscriptionType",
              "description": "Permitted values: AppInstanceStateChange or  AppLcmOpOccStateChange",
              "schema": {
                "type": "string"
              },
              "required": false
            }
          ],
          "responses": {
            "200": {
              "description": " List of all subscriptions is returned.",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/SubscriptionLinkList"
                  }
                }
              }
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
      },
      "/subscriptions/{subscriptionId}": {
        "parameters": [
          {
Elian Kraja's avatar
Elian Kraja committed
            "in": "path",
            "name": "subscriptionId",
            "description": "Represents an individual subscription to notification related to an application instance",
Elian Kraja's avatar
Elian Kraja committed
              "type": "string"
Elian Kraja's avatar
Elian Kraja committed
        "get": {
          "tags": [
            ""
          ],
          "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": [
            {
              "in": "query",
              "name": "subscriptionType",
              "description": "Permitted values: AppInstanceStateChange or  AppLcmOpOccStateChange",
Elian Kraja's avatar
Elian Kraja committed
                "type": "string"
              },
              "required": true
            }
          ],
          "responses": {
            "200": {
              "description": "Representation of the resource.",
              "content": {
                "application/json": {
                  "schema": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/AppInstSubscriptionInfo"
                      },
                      {
                        "$ref": "#/components/schemas/AppLcmOpOccSubscriptionInfo"
                      }
                    ]
Elian Kraja's avatar
Elian Kraja committed
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
Elian Kraja's avatar
Elian Kraja committed
        "delete": {
          "tags": [
            ""
          ],
          "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",
          "responses": {
            "204": {
              "$ref": "#/components/responses/204"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
          }
        }
      },
      "/URI_is_provided_by_the_client_when_creating_the_subscription_AppInstNotification_AppLcmOpOccNotification": {
        "post": {
          "tags": [
            ""
          ],
          "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",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
Elian Kraja's avatar
Elian Kraja committed
                      "$ref": "#/components/schemas/AppInstNotification"
Elian Kraja's avatar
Elian Kraja committed
                      "$ref": "#/components/schemas/AppLcmOpOccNotification"
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "204": {
              "$ref": "#/components/responses/204"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
      "/app_instances/{appInstanceId}/instantiate": {
        "parameters": [
          {
Elian Kraja's avatar
Elian Kraja committed
            "in": "path",
            "name": "appInstanceId",
            "description": "Identifier of an individual application instance",
            "schema": {
              "type": "string"
            },
Elian Kraja's avatar
Elian Kraja committed
            "required": true
Elian Kraja's avatar
Elian Kraja committed
        "post": {
          "tags": [
            ""
          ],
          "summary": "task of instantiating an application instance.",
          "description": "task of instantiating an application instance.",
          "operationId": "appLcmInstanciatePOST",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
Elian Kraja's avatar
Elian Kraja committed
                  "$ref": "#/components/schemas/InstantiateAppRequest"
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "202": {
              "description": "accepted for processing, but the processing has not yet been completed."
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "409": {
              "$ref": "#/components/responses/409"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
      },
      "/app_instances/{appInstanceId}/terminate": {
        "parameters": [
          {
Elian Kraja's avatar
Elian Kraja committed
            "in": "path",
            "name": "appInstanceId",
            "description": "Identifier of an individual application instance",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
Elian Kraja's avatar
Elian Kraja committed
        "post": {
          "tags": [
            ""
          ],
          "summary": "terminate an application instance.",
          "description": "terminate an application instance.",
          "operationId": "appLcmTerminatePOST",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
Elian Kraja's avatar
Elian Kraja committed
                  "$ref": "#/components/schemas/TerminateAppRequest"
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "202": {
              "description": "accepted for processing, but the processing has not yet been completed."
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "409": {
              "$ref": "#/components/responses/409"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
Elian Kraja's avatar
Elian Kraja committed
      "/app_instances/{appInstanceId}/operate": {
        "parameters": [
          {
            "in": "path",
            "name": "appInstanceId",
            "description": "Identifier of an individual application instance",
            "schema": {
              "type": "string"
            },
            "required": true
Elian Kraja's avatar
Elian Kraja committed
        "post": {
          "tags": [
            ""
          ],
          "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",
          "requestBody": {
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperateAppRequest"
                }
Elian Kraja's avatar
Elian Kraja committed
          "responses": {
            "202": {
              "description": "accepted for processing, but the processing has not yet been completed."
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "409": {
              "$ref": "#/components/responses/409"
            },
            "429": {
              "$ref": "#/components/responses/429"
Elian Kraja's avatar
Elian Kraja committed
      },
      "/app_lcm_op_occs": {
        "get": {
          "tags": [
            ""
          ],
          "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": [
            {
              "in": "query",
              "name": "filter",
Elian Kraja's avatar
Elian Kraja committed
                "type": "string"
              },
              "required": false,
              "description": "Attribute-based filtering parameters according to ETSI GS MEC 009"
            },
            {
              "in": "query",
              "name": "all_fields",
Elian Kraja's avatar
Elian Kraja committed
                "type": "string"
              },
              "required": false,
              "description": "Include all complex attributes in the response."
            },
            {
              "in": "query",
              "name": "fields",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Complex attributes of AppPkgInfo to be included into the response"
            },
            {
              "in": "query",
              "name": "exclude_fields",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Complex attributes of AppPkgInfo to be excluded from the response."
            },
            {
              "in": "query",
              "name": "exclude_default",
              "schema": {
                "type": "string"
              },
              "required": false,
              "description": "Indicates to exclude the following complex attributes of AppPkgInfo from the response."
Elian Kraja's avatar
Elian Kraja committed
          ],
          "responses": {
            "200": {
              "description": "Status information for zero or more application instance lifecycle management operation occurrences was queried successfully",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AppInstanceLcmOpOcc"
                    }
                  }
                }
              }
Elian Kraja's avatar
Elian Kraja committed
            "400": {
              "$ref": "#/components/responses/400"
Elian Kraja's avatar
Elian Kraja committed
            "401": {
              "$ref": "#/components/responses/401"
Elian Kraja's avatar
Elian Kraja committed
            "403": {
              "$ref": "#/components/responses/403"
Elian Kraja's avatar
Elian Kraja committed
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
            }
          }
        }
      },
      "/app_lcm_op_occs/{appLcmOpOccId}": {
        "parameters": [
Elian Kraja's avatar
Elian Kraja committed
            "in": "path",
            "name": "appLcmOpOccId",
            "description": "Identifies an individual application LCM operation occurrence",
            "schema": {
              "type": "string"
            },
Elian Kraja's avatar
Elian Kraja committed
            "required": true
Elian Kraja's avatar
Elian Kraja committed
        "get": {
          "tags": [
            ""
          ],
          "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",
          "responses": {
            "200": {
              "description": "Information about an application LCM operation occurrence was read successfully",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/AppInstanceLcmOpOcc"
                  }
                }
              }
Elian Kraja's avatar
Elian Kraja committed
            },
            "400": {
              "$ref": "#/components/responses/400"
            },
            "401": {
              "$ref": "#/components/responses/401"
            },
            "403": {
              "$ref": "#/components/responses/403"
            },
            "404": {
              "$ref": "#/components/responses/404"
            },
            "406": {
              "$ref": "#/components/responses/406"
            },
            "429": {
              "$ref": "#/components/responses/429"
Elian Kraja's avatar
Elian Kraja committed
    "components": {
      "schemas": {
        "AppInstanceLcmOpOcc": {
          "description": "'This data type represents an application lifecycle management operation occurrence'",
          "type": "object",
          "required": [
            "id",
            "operationState",
            "stateEnteredTime",
            "startTime",
            "lcmOperation",
            "_links"
          ],
          "properties": {
            "id": {
              "$ref": "#/components/schemas/AppInstanceLcmOpOcc.Id"
            },
            "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"
Elian Kraja's avatar
Elian Kraja committed
        },
        "AppInstanceLcmOpOcc.Id": {
          "description": "'Identifier of the subscription to application LCM operation occurrence notification'",
          "type": "string"
        },
        "OperationParams": {
          "description": "'Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation.'",
          "type": "string",
          "enum": [
            "INSTANTIATE",
            "OPERATE",
            "TERMINATE"
          ]
        },
        "AppInstanceLcmOpOcc.links": {
          "description": "Links to resources related to this resource.",
          "type": "object",
          "required": [
            "self",
            "appInstance"
          ],
          "properties": {
            "self": {
              "$ref": "#/components/schemas/LinkType"
            },
            "appInstance": {
              "$ref": "#/components/schemas/LinkType"
Elian Kraja's avatar
Elian Kraja committed
        },
        "SubscriptionLinkList": {
          "description": "'The data type represents a subscription link list of notification on application lifecycle management. '",
          "type": "object",
          "required": [
            "_links"
          ],
          "properties": {
            "_links": {
              "$ref": "#/components/schemas/SubscriptionLinkList.links"
            }
Elian Kraja's avatar
Elian Kraja committed
        },
        "SubscriptionLinkList.links": {
          "description": "Links to resources related to this resource.",
          "type": "object",
          "required": [
            "self"
          ],
          "properties": {
            "self": {
              "$ref": "#/components/schemas/LinkType"
            },
            "subscriptions": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SubscriptionLinkList.links.subscriptions"
              }
            }
Elian Kraja's avatar
Elian Kraja committed
        "SubscriptionLinkList.links.subscriptions": {
          "description": "A link list to the subscriptions",
          "type": "object",
          "required": [
            "href",
            "subscriptionType"
          ],
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "subscriptionType": {
              "type": "string",
              "format": "enum",
              "enum": [
                "AppInstanceStateChange",
                "AppLcmOpOccStateChange"
              ]
            }
Elian Kraja's avatar
Elian Kraja committed
        "AppLcmOpOccSubscriptionInfo": {
          "description": "'This data type represents a subscription to notifications of application life cycle management operation occurrence'",
          "type": "object",
          "required": [
            "id",
            "subscriptionType",
            "callbackUri",
            "_links"
          ],
          "properties": {
            "id": {
              "$ref": "#/components/schemas/AppLcmOpOccSubscriptionInfo.Id"
            },
            "subscriptionType": {
              "$ref": "#/components/schemas/AppLcmOpOcc.SubscriptionType"
            },
            "callbackUri": {
              "$ref": "#/components/schemas/CallbackUri"
            },
            "_links": {
              "$ref": "#/components/schemas/AppLcmOpOccSubscriptionInfo.links"
            }
Elian Kraja's avatar
Elian Kraja committed
        },
        "AppLcmOpOccSubscriptionInfo.Id": {
          "description": "''",
          "type": "string"
        },
        "AppLcmOpOcc.SubscriptionType": {
          "description": "Shall be set to AppLcmOpOccStateChange.",
          "type": "string",
          "enum": [
            "AppLcmOpOccStateChange"
          ]
        },
        "AppLcmOpOccSubscriptionInfo.links": {
          "description": "Links to resources related to this resource.",
          "type": "object",
          "required": [
            "self"