Newer
Older
"description": "List of supported OAuth 2.0 grant types."
},
"tokenEndpoint": {
"type": "string",
"description": "The token endpoint",
"examples": [
"/mecSerMgmtApi/security/TokenEndPoint"
]
"description": "Parameters related to use of OAuth 2.0"
},
"SecurityInfo": {
"type": "object",
"properties": {
"oAuth2Info": {
"$ref": "#/components/schemas/SecurityInfo.OAuth2Info"
}
},
"description": "This type represents security information related to a transport"
"required": [
"self"
],
"properties": {
"self": {
"$ref": "#/components/schemas/LinkType"
}
},
},
"SerAvailabilityNotificationSubscription": {
"title": "SerAvailabilityNotificationSubscription",
"required": [
"subscriptionType",
"callbackReference",
"properties": {
"subscriptionType": {
"type": "string",
"description": "Shall be set to SerAvailabilityNotificationSubscription.",
"examples": [
"SerAvailabilityNotificationSubscription"
]
},
"callbackReference": {
"type": "string",
"description": "URI selected by the MEC application instance to receive notifications on the subscribed MEC service availability information. This shall be included in both the request and the response."
},
"_links": {
"$ref": "#/components/schemas/Self"
},
"filteringCriteria": {
"$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.FilteringCriteria"
}
}
},
"SerAvailabilityNotificationSubscription.FilteringCriteria": {
"title": "SerAvailabilityNotificationSubscription.FilteringCriteria",
"type": "object",
"properties": {
"serInstanceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Identifiers of service instances about which to report events."
"type": "array",
"items": {
"type": "string"
},
"description": "Names of services about which to report events."
"type": "array",
"items": {
"$ref": "#/components/schemas/CategoryRef"
},
"description": "Categories of services about which to report events."
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceState"
},
"description": "States of the services about which to report events. If the event is a state change, this filter represents the state after the change."
"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": "Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical \"AND\" operation."
},
"ServiceAvailabilityNotification": {
"title": "ServiceAvailabilityNotification",
"required": [
"notificationType",
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to SerAvailabilityNotificationSubscription.",
"examples": [
"SerAvailabilityNotificationSubscription"
]
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceAvailabilityNotification.ServiceReferences"
},
"_links": {
"$ref": "#/components/schemas/Subscription"
}
},
"description": "This type represents the service availability information."
"ServiceAvailabilityNotification.ServiceReferences": {
"title": "ServiceAvailabilityNotification.ServiceReferences",
"required": [
"serName",
"serInstanceId",
"state",
"changeType"
],
"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"
]
"type": "string",
"description": "Identifier of the service instance assigned by the MEC platform.",
"examples": [
"ServiceInstance123"
]
},
"state": {
"$ref": "#/components/schemas/ServiceState"
},
"changeType": {
"$ref": "#/components/schemas/ServiceAvailabilityNotification.ChangeType"
}
},
"description": "List of links to services whose availability has changed."
},
"ServiceAvailabilityNotification.ChangeType": {
"title": "ServiceAvailabilityNotification.ChangeType",
"enum": [
"ADDED",
"REMOVED",
"STATE_CHANGED",
"ATTRIBUTES_CHANGED"
"description": "Type of the change. Valid values:\n 1. ADDED: The service was newly added.\n 2. REMOVED: The service was removed.\n 3. STATE_CHANGED: Only the state of the service was changed. \n 4. ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state.",
"enum": [
"JSON",
"XML",
"PROTOBUF3"
],
"type": "string",
"description": "The enumeration represents types of serializers",
"examples": [
"JSON"
]
"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"
]
"INACTIVE",
"SUSPENDED"
"description": "This enumeration defines the possible states of a service.",
"examples": [
"ACTIVE"
]
"required": [
"serName",
"version",
"state",
"transportInfo",
"serializer"
],
"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"
]
},
"transportInfo": {
"$ref": "#/components/schemas/TransportInfo"
},
"serializer": {
},
"scopeOfLocality": {
},
"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
]
},
"livenessInterval": {
"type": "integer",
"description": "Interval (in seconds) between two consecutive \"heartbeat\" messages (see clause 8.2.10.3.3). If the service-producing application supports sending \"heartbeat\" messages, it shall include this attribute in the registration request. In this case, the application shall either set the value of this attribute to zero or shall use this attribute to propose a non-zero positive value for the liveness interval. If the application has provided this attribute in the request and the MEC platform requires \"heartbeat\" messages, the MEC platform shall return this attribute value in the HTTP responses. The MEC platform may use the value proposed in the request or may choose a different value. If the MEC platform does not require \"heartbeat\" messages for this service instance it shall omit the attribute in responses."
},
"_links": {
"type": "object",
"required": [
"self"
],
"properties": {
"self": {
"$ref": "#/components/schemas/LinkType"
},
"liveness": {
"$ref": "#/components/schemas/LinkType"
}
}
},
"description": "This type represents the general information of a MEC service."
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
"ServiceLivenessInfo": {
"type": "object",
"required": [
"state",
"timeStamp",
"interval"
],
"properties": {
"state": {
"$ref": "#/components/schemas/ServiceState"
},
"timeStamp": {
"type": "object",
"description": "The time when the last \"heartbeat\" message was received by MEC platform",
"required": [
"seconds",
"nanoSeconds"
],
"properties": {
"seconds": {
"type": "integer"
},
"nanoSeconds": {
"type": "integer"
}
}
},
"interval": {
"type": "integer",
"description": "The interval (in seconds) between two consecutive \"heartbeat\" messages (see clause 8.2.10.3.3) that MEC platform has determined."
}
}
},
"ServiceLivenessUpdate": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"$ref": "#/components/schemas/ServiceState"
}
}
},
"required": [
"subscription"
],
"properties": {
"subscription": {
"$ref": "#/components/schemas/LinkType"
}
},
"description": "A link to the related subscription"
},
"TransportInfo": {
"required": [
"id",
"name",
"type",
"protocol",
"version",
"endpoint",
"security"
],
"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"
]
"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."
"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
}
}