Newer
Older
"properties": {
"href": {
"type": "string",
"description": "URI referring to a resource",
"examples": [
"/mecSerMgmtApi/example"
]
"type": "string",
"description": "The value shall be se to SerAvailabilityNotificationSubscription."
},
"description": "A link to a subscription."
},
"MecServiceMgmtApiSubscriptionLinkList": {
"title": "MecServiceMgmtApiSubscriptionLinkList",
"required": [
"_links"
],
"properties": {
"_links": {
"$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Links"
}
},
"description": "This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions."
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
"type": "string",
"description": "A short, human-readable summary of the problem type"
"type": "integer",
"description": "The HTTP status code for this occurrence of the problem",
"contentEncoding": "int32"
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem"
"type": "string",
"description": "A URI reference that identifies the specific occurrence of the problem"
"title": "SecurityInfo.OAuth2Info.GrantType",
"enum": [
"OAUTH2_AUTHORIZATION_CODE",
"OAUTH2_IMPLICIT_GRANT",
"OAUTH2_RESOURCE_OWNER",
"OAUTH2_CLIENT_CREDENTIALS"
],
"type": "string",
"description": "OAuth 2.0 grant type",
"examples": [
"OAUTH2_CLIENT_CREDENTIALS"
]
},
"SecurityInfo.OAuth2Info": {
"required": [
"grantTypes",
"tokenEndpoint"
],
"properties": {
"grantTypes": {
"maxItems": 4,
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantType"
},
"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."
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
"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
}
}