MecServiceMgmtApi.json 77.6 KB
Newer Older
        },
        "description": "This type represents the service availability information."
kharimza's avatar
kharimza committed
      "ServiceAvailabilityNotification.ServiceReferences": {
        "title": "ServiceAvailabilityNotification.ServiceReferences",
kharimza's avatar
kharimza committed
        "required": [
          "serName",
          "serInstanceId",
          "state",
          "changeType"
        ],
        "type": "object",
kharimza's avatar
kharimza committed
        "properties": {
          "link": {
            "$ref": "#/components/schemas/LinkType"
          },
          "serName": {
            "type": "string",
            "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.",
            "examples": [
              "ExampleService"
            ]
kharimza's avatar
kharimza committed
          },
          "serInstanceId": {
            "type": "string",
            "description": "Identifier of the service instance assigned by the MEC platform.",
            "examples": [
              "ServiceInstance123"
            ]
kharimza's avatar
kharimza committed
          },
          "state": {
            "$ref": "#/components/schemas/ServiceState"
          },
          "changeType": {
            "$ref": "#/components/schemas/ServiceAvailabilityNotification.ChangeType"
          }
        },
        "description": "List of links to services whose availability has changed."
kharimza's avatar
kharimza committed
      },
      "ServiceAvailabilityNotification.ChangeType": {
        "title": "ServiceAvailabilityNotification.ChangeType",
kharimza's avatar
kharimza committed
        "enum": [
          "ADDED",
          "REMOVED",
          "STATE_CHANGED",
          "ATTRIBUTES_CHANGED"
        ],
        "type": "string",
        "description": "Type of the change. Valid values:\n  ADDED: The service was newly added.\n  REMOVED: The service was removed.\n  STATE_CHANGED: Only the state of the service was changed. \n  ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state.",
        "examples": [
          "ADDED"
kharimza's avatar
kharimza committed
        ]
      },
      "SerializerType": {
        "title": "SerializerType",
        "enum": [
          "JSON",
          "XML",
          "PROTOBUF3"
        ],
        "type": "string",
        "description": "The enumeration  represents types of serializers",
        "examples": [
          "JSON"
        ]
kharimza's avatar
kharimza committed
      "LocalityType": {
        "title": "LocalityType",
        "enum": [
          "MEC_SYSTEM",
          "MEC_HOST",
          "NFVI_POP",
          "ZONE",
          "ZONE_GROUP",
          "NFVI_NODE"
        ],
        "type": "string",
        "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST",
        "examples": [
          "MEC_SYSTEM"
        ]
kharimza's avatar
kharimza committed
      "ServiceState": {
        "title": "ServiceState",
kharimza's avatar
kharimza committed
        "enum": [
          "ACTIVE",
          "INACTIVE"
        ],
        "type": "string",
        "description": "This enumeration defines the possible states of a service.",
        "examples": [
          "ACTIVE"
        ]
        "title": "ServiceInfo",
        "required": [
          "serName",
          "version",
          "state",
          "transportInfo",
          "serializer"
        ],
        "type": "object",
        "properties": {
          "serInstanceId": {
            "type": "string",
            "description": "Identifier of the service instance assigned by the MEC platform.",
            "examples": [
              "ServiceInstance123"
            ]
            "type": "string",
            "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.",
            "examples": [
              "ExampleService"
            ]
          },
          "serCategory": {
            "$ref": "#/components/schemas/CategoryRef"
          },
          "version": {
            "type": "string",
            "description": "Service version",
            "examples": [
              "ServiceVersion1"
            ]
kharimza's avatar
kharimza committed
            "$ref": "#/components/schemas/ServiceState"
          },
          "transportInfo": {
            "$ref": "#/components/schemas/TransportInfo"
          },
          "serializer": {
kharimza's avatar
kharimza committed
            "$ref": "#/components/schemas/SerializerType"
          },
          "scopeOfLocality": {
kharimza's avatar
kharimza committed
            "$ref": "#/components/schemas/LocalityType"
          },
          "consumedLocalOnly": {
            "type": "boolean",
            "description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this  service instance.",
            "examples": [
              false
            ]
            "type": "boolean",
            "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.",
            "examples": [
              true
            ]
        },
        "description": "This type represents the general information of a MEC service."
        "title": "Subscription",
        "required": [
          "subscription"
        ],
        "type": "object",
        "properties": {
          "subscription": {
            "$ref": "#/components/schemas/LinkType"
          }
        },
        "description": "A link to the related subscription"
        "title": "TransportInfo",
        "required": [
          "id",
          "name",
          "type",
          "protocol",
          "version",
          "endpoint",
          "security"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The identifier of this transport",
            "examples": [
              "TransId12345"
            ]
            "type": "string",
            "description": "The name of this transport",
            "examples": [
              "REST"
            ]
            "type": "string",
            "description": "Human-readable description of this transport",
            "examples": [
              "REST API"
            ]
kharimza's avatar
kharimza committed
            "$ref": "#/components/schemas/TransportType"
            "type": "string",
            "description": "The name of the protocol used. Shall be set to HTTP for a REST API.",
            "examples": [
              "HTTP"
            ]
            "type": "string",
            "description": "The version of the protocol used",
            "examples": [
              "2.0"
            ]
          },
          "endpoint": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EndPointInfo.Uris"
              },
              {
                "$ref": "#/components/schemas/EndPointInfo.Addresses"
              },
              {
                "$ref": "#/components/schemas/EndPointInfo.Alternative"
              }
            ],
            "description": "This type represents information about a transport endpoint"
          },
          "security": {
            "$ref": "#/components/schemas/SecurityInfo"
          },
          "implSpecificInfo": {
            "type": "object",
            "description": "Additional implementation specific details of the transport"
        },
        "description": "This type represents the general information of a MEC service."
kharimza's avatar
kharimza committed
      "TransportType": {
        "title": "TransportType",
        "enum": [
          "REST_HTTP",
          "MB_TOPIC_BASED",
          "MB_ROUTING",
          "MB_PUBSUB",
          "RPC",
          "RPC_STREAMING",
          "WEBSOCKET"
        ],
        "type": "string",
        "description": "The enumeration TransportType represents types of transports",
        "examples": [
          "REST_HTTP"
        ]
      }
    },
    "requestBodies": {
      "ServiceAvailabilityNotification": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ServiceAvailabilityNotification"
            }
          }
        },
        "required": true
      }
    }