"description":"The response body contains an array of the user applications available to the querying device application.",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApplicationList"
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
}
},
"/app_contexts":{
"post":{
"tags":[
"dev_app"
],
"summary":"Creation of a new application context.",
"description":"Used to create a new application context. Upon success, the response contains entity body describing the created application context.",
"operationId":"devAppContextsGET",
"requestBody":{
"description":"Entity body in the request contains the Application Context as requested by the device application.",
"required":true,
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/AppContext"
}
}
}
},
"parameters":[],
"responses":{
"201":{
"description":"The response body contains the Application Context as it was created by the MEC system, which includes the reference URI(s) of the associated user application instance(s). The URI of the resource created within the MEC system associated with the request, with its specific application context ID, shall be included in the 'Location' HTTP header of the response.",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/AppContext"
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
},
"callbacks":{
"notification":{
"{$request.body#/appContext.callbackReference}":{
"post":{
"summary":"Callback POST used to send a notification",
"description":"Notification with content based on subscription type",
"summary":"Updating the callbackReference and/or appLocation of an existing application context.",
"description":"Used to update the callback reference and/or application location constraints of an existing application context. Upon successful operation, the target resource is updated with the new application context information.",
"operationId":"devAppContextPUT",
"requestBody":{
"description":"Only the callbackReference and/or appLocation attribute values are allowed to be updated. Other attributes and their values shall remain untouched.",
"required":true,
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/AppContext"
}
}
}
},
"parameters":[
{
"$ref":"#/components/parameters/Path.contextId"
}
],
"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"
}
}
},
"delete":{
"tags":[
"dev_app"
],
"summary":"Deletion of an existing application context.",
"description":"Used to delete the resource that represents the existing application context.",
"operationId":"devAppContextDELETE",
"parameters":[
{
"$ref":"#/components/parameters/Path.contextId"
}
],
"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"
}
}
}
},
"/obtain_app_loc_availability":{
"post":{
"tags":[
"dev_app"
],
"summary":"Obtain the location constraints for a new application context.",
"description":"Used to obtain the locations available for instantiation of a specific user application in the MEC system.",
"operationId":"appLocationAvailabilityPOST",
"requestBody":{
"description":"Entity body in the request contains the user application information for the MEC system to evaluate the locations available for instantiation of that application.",
"description":"Upon success, a response 204 No Content without any response body is returned."
},
"400":{
"description":"Bad Request : used to indicate that incorrect parameters were passed to the request.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"401":{
"description":"Unauthorized : used when the client did not submit credentials.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"403":{
"description":"Forbidden : operation is not allowed given the current status of the resource.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"404":{
"description":"Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
}
},
"parameters":{
"Query.appName":{
"name":"appName",
"in":"query",
"description":"Name to identify the MEC application.",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string",
"maxLength":32
}
}
},
"Query.appProvider":{
"name":"appProvider",
"in":"query",
"description":"Provider of the MEC application.",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string",
"maxLength":32
}
}
},
"Query.appSoftVersion":{
"name":"appSoftVersion",
"in":"query",
"description":"Software version of the MEC application.",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string",
"maxLength":32
}
}
},
"Query.vendorId":{
"name":"vendorId",
"in":"query",
"description":"Vendor identifier",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string",
"maxLength":32
}
}
},
"Query.serviceCont":{
"name":"serviceCont",
"in":"query",
"description":"Required service continuity mode for this application. Permitted values: 0 = SERVICE_CONTINUITY_NOT_REQUIRED. 1 = SERVICE_CONTINUITY_REQUIRED.",
"required":false,
"schema":{
"type":"integer",
"enum":[
0,
1
]
}
},
"Path.contextId":{
"name":"contextId",
"in":"path",
"description":"Uniquely identifies the application context in the MEC system. It is assigned by the MEC system.",
"required":true,
"schema":{
"type":"string"
}
}
},
"schemas":{
"AddressChangeNotification":{
"properties":{
"appInstanceId":{
"description":"Identifier of the user application instance.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"contextId":{
"description":"Uniquely identifies the application context in the MEC system.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"notificationType":{
"description":"Shall be set to \"AddressChangeNotification\".",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"referenceURI":{
"description":"Address of the user application. Used as the reference URI for the application. Assigned by the MEC system.",
"format":"uri",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"URI"
}
},
"required":[
"notificationType",
"contextId",
"appInstanceId",
"referenceURI"
],
"type":"object",
"x-etsi-ref":"6.4.2"
},
"AppContext":{
"properties":{
"appAutoInstantiation":{
"description":"Provides indication to the MEC system that instantiation of the requested application is desired should a requested appLocation become available that was not at the time of the request.",
"type":"boolean",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"Boolean"
},
"appInfo":{
"description":"",
"properties":{
"appDId":{
"description":"Identifier of this MEC application descriptor. This attribute shall be globally unique. It is equivalent to the appDId defined in clause 6.2.1.2 of ETSI GS MEC 0102 [1]. It shall be present if the application is one in the ApplicationList.",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"appDVersion":{
"description":"Identifies the version of the application descriptor. It is equivalent to the appDVersion defined in clause 6.2.1.2 of ETSI GS MEC 0102 [1].",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appDescription":{
"description":"Human readable description of the MEC application. The length of the value shall not exceed 128 characters.",
"type":"string",
"maxLength":128,
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"appName":{
"description":"Name of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appProvider":{
"description":"Provider of the MEC application.\nThe length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appSoftVersion":{
"description":"Software version of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"appPackageSource":{
"description":"URI of the application package.\nIncluded in the request if the application is not one in the ApplicationList. appPackageSource enables on-boarding of the application package into the MEC system. The application package shall comply with the definitions in clause 6.2.1.2 of ETSI GS MEC 0102 [1].",
"format":"uri",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"URI"
},
"userAppInstanceInfo":{
"description":"List of user application instance information.",
"items":{
"type":"object",
"properties":{
"appInstanceId":{
"description":"Identifier of the user application instance. It shall only be included in the response.",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"appLocation":{
"$ref":"#/components/schemas/LocationConstraints"
},
"referenceURI":{
"description":"Address of the user application instance. It shall only be included in the response.",
"description":"Used by the device application to request to receive notifications at the callbackReference URI relating to location availability for user application instantiation.",
"type":"boolean",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"Boolean"
},
"associateDevAppId":{
"description":"Uniquely identifies the device application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"callbackReference":{
"description":"URI assigned by the device application to receive application lifecycle related notifications. Inclusion in the request implies the client supports the pub/sub mechanism and is capable of receiving notifications. This endpoint shall be maintained for the lifetime of the application context.",
"format":"uri",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"URI"
},
"contextId":{
"description":"Uniquely identifies the application context in the MEC system. Assigned by the MEC system and shall be present other than in a create request. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
}
},
"required":[
"associateDevAppId",
"appInfo"
],
"type":"object",
"x-etsi-notes":"NOTE 1:\tIf a value of the attribute is included in the request, the same value shall be included in the response.\nNOTE 2:\tThe design of the current operation with callback reference assumes no web proxy between the entity that originates the notification and the entity that receives it.\nNOTE 3:\tThe language support for the application description may be limited.\nNOTE 4:\tAttribute appLocationUpdates and appAutoInstantiation shall not both be set to TRUE.",
"x-etsi-ref":"6.2.3"
},
"ApplicationContextDeleteNotification":{
"properties":{
"contextId":{
"description":"Uniquely identifies the application context that has been deleted from the MEC system.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"notificationType":{
"description":"Shall be set to \"ApplicationContextDeleteNotification\".",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
}
},
"required":[
"notificationType",
"contextId"
],
"type":"object",
"x-etsi-ref":"6.4.3"
},
"ApplicationContextUpdateNotification":{
"properties":{
"contextId":{
"description":"Uniquely identifies the application context in the MEC system.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"notificationType":{
"description":"Shall be set to \"ApplicationContextUpdateNotification\".",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"userAppInstanceInfo":{
"description":"List of user application instance information.",
"items":{
"type":"object",
"properties":{
"appInstanceId":{
"description":"Identifier of the user application instance.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appLocation":{
"$ref":"#/components/schemas/LocationConstraints"
},
"referenceURI":{
"description":"Address of the user application instance.",
"description":"List of user applications available to the device application. As defined below.",
"items":{
"type":"object",
"properties":{
"appInfo":{
"description":"",
"properties":{
"appCharcs":{
"description":"Characteristics of the application. As defined below. The application characteristics relate to the system resources consumed by the application. A device application can use this information e.g. for estimating the cost of use of the application or for the expected user experience.",
"properties":{
"bandwidth":{
"description":"The required connection bandwidth in kbit/s for the use of the MEC application instance. ",
"format":"uint32",
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"uint32"
},
"latency":{
"description":"The target round trip time in milliseconds supported by the MEC system for the MEC application instance.",
"format":"uint32",
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"uint32"
},
"memory":{
"description":"The maximum size in Mbytes of the memory resource expected to be used by the MEC application instance in the MEC system.",
"format":"uint32",
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"uint32"
},
"serviceCont":{
"description":"Required service continuity mode for this application. Permitted values: 0 = SERVICE_CONTINUITY_NOT_REQUIRED. 1 = SERVICE_CONTINUITY_REQUIRED.",
"enum":[
0,
1
],
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"Enum"
},
"storage":{
"description":"The maximum size in Mbytes of the storage resource expected to be used by the MEC application instance in the MEC system.",
"format":"uint32",
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"uint32"
}
},
"type":"object",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"Structure (inlined)"
},
"appDId":{
"description":"Identifier of this MEC application descriptor. It is equivalent to the appDId defined in clause 6.2.1.2 of ETSI GS MEC 0102 [1]. This attribute shall be globally unique.",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appDVersion":{
"description":"Identifies the version of the application descriptor. It is equivalent to the appDVersion defined in clause 6.2.1.2 of ETSI GS MEC 0102 [1].",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appDescription":{
"description":"Human readable description of the MEC application (see note 2).",
"type":"string",
"maxLength":128,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appLocation":{
"description":"Identifies the locations of the MEC application.",
"items":{
"$ref":"#/components/schemas/LocationConstraints"
},
"minItems":0,
"type":"array",
"x-etsi-mec-cardinality":"0..N",
"x-etsi-mec-origin-type":"LocationConstraints"
},
"appName":{
"description":"Name of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appProvider":{
"description":"Provider of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appSoftVersion":{
"description":"Software version of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
}
},
"required":[
"appDId",
"appName",
"appProvider",
"appSoftVersion",
"appDVersion",
"appDescription"
],
"type":"object",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"Structure (inlined)"
},
"vendorSpecificExt":{
"description":"Extension for vendor specific information (see note 1).",
"properties":{
"vendorId":{
"description":"Vendor identifier. The length of the value shall not exceed 32 characters. The rest of the structure of vendor specific extension is not defined.",
"x-etsi-notes":"NOTE 1:\tThe vendor specific extension allows submitting information on the application lists that have been made available to the device application of the corresponding vendor.\nNOTE 2:\tThe language support may be limited. The length of the value shall not exceed 128 characters.",
"x-etsi-ref":"6.2.2"
},
"ApplicationLocationAvailability":{
"properties":{
"appInfo":{
"description":"",
"properties":{
"appDVersion":{
"description":"Identifies the version of the application descriptor. It is equivalent to the appDVersion defined in clause 6.2.1.2 of ETSI GS MEC 0102 [1].",
"type":"string",
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appDescription":{
"description":"Human readable description of the MEC application. The length of the value shall not exceed 128 characters.",
"type":"string",
"maxLength":128,
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"appName":{
"description":"Name of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appPackageSource":{
"description":"URI of the application package. Shall be included in the request. The application package shall comply with the definitions in clause 6.2.1.2 of ETSI GS MEC 0102 [1].",
"format":"uri",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"URI"
},
"appProvider":{
"description":"Provider of the MEC application. The length of the value shall not exceed 32 characters.",
"type":"string",
"maxLength":32,
"x-etsi-mec-cardinality":"1",
"x-etsi-mec-origin-type":"String"
},
"appSoftVersion":{
"description":"Software version of the MEC application. The length of the value shall not exceed 32 characters.",
"description":"The two-letter ISO 3166 [7] country code in capital letters. Shall be present in case the \"area\" attribute is absent. May be absent if the \"area\" attribute is present (see note).",
"type":"string",
"maxLength":2,
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
}
},
"type":"object",
"x-etsi-notes":"NOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (e.g. MEO, MEAO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.",
"x-etsi-ref":"6.5.2"
},
"Polygon":{
"properties":{
"coordinates":{
"items":{
"items":{
"items":{
"type":"number",
"format":"float"
},
"type":"array"
},
"type":"array"
},
"minItems":1,
"type":"array",
"x-etsi-mec-cardinality":1,
"x-etsi-mec-origin-type":"array"
}
},
"type":"object"
},
"ProblemDetails":{
"properties":{
"detail":{
"description":"A human-readable explanation specific to this occurrence of the problem",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"instance":{
"description":"A URI reference that identifies the specific occurrence of the problem",
"format":"uri",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"URI"
},
"status":{
"description":"The HTTP status code for this occurrence of the problem",
"format":"uint32",
"type":"integer",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"Uint32"
},
"title":{
"description":"A short, human-readable summary of the problem type",
"type":"string",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"type":{
"description":"A URI reference according to IETF RFC 3986 that identifies the problem type",
* @member appInstanceId Identifier of the user application instance
* @member referenceURI Address of the user application instance
* @member appLocation Location of the user application instance
* @see ETSI GS MEC 016 Clause 6.2.3 Type: AppContext
* @desc Information on application context created by the MEC system
* @member contextId Uniquely identifies the application context in the MEC system
* @member associateDevAppId Uniquely identifies the device application
* @member callbackReference Assigned by the device application to receive application lifecycle related notifications
* @member appLocationUpdates Used by the device application to request to receive notifications at the callbackReference URI relating to location availability for user application instantiation
* @member appAutoInstantiation Provides indication to the MEC system that instantiation of the requested application is desired should a requested appLocation become available that was not at the time of the request
* @desc Information on application context created by the MEC system
* @member contextId Uniquely identifies the application context in the MEC system
* @member associateDevAppId Uniquely identifies the device application
* @member callbackReference Assigned by the device application to receive application lifecycle related notifications
* @member appLocationUpdates Used by the device application to request to receive notifications at the callbackReference URI relating to location availability for user application instantiation
* @member appAutoInstantiation Provides indication to the MEC system that instantiation of the requested application is desired should a requested appLocation become available that was not at the time of the request
* @member appInfo
* @see ETSI GS MEC 016 Clause 6.2.3 Type: AppContext
* @desc user application instance information
* @member appInstanceId Identifier of the user application instance
* @member referenceURI Address of the user application instance
* @member appLocation Location of the user application instance
* @desc Notification from the UALCMP regarding the availability of a location that was requested in the Application context create that could not be fulfilled at the time of the request
* @member notificationType Shall be set to "AddressChangeNotification"
* @member notificationType Shall be set to "ApplicationLocationAvailabilityNotification"
* @member contextId Uniquely identifies the application context in the MEC system
* @member availableLocations Locations available to the MEC application
* @see ETSI GS MEC 016 Clause 6.4.5 Type: ApplicationLocationAvailabilityNotification
"description":"The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.",
"description":"The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription.",
"description":"The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.",
"description":"This method deletes a meMp1Subscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.",
"description":"This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure",
"description":"This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure",
"operationId":"Services_POST",
"tags":[
"services"
],
"responses":{
"201":{
"$ref":"#/components/responses/Services.201"
},
"400":{
"$ref":"#/components/responses/Error.400"
},
"403":{
"$ref":"#/components/responses/Error.403"
},
"404":{
"$ref":"#/components/responses/Error.404"
}
},
"requestBody":{
"$ref":"#/components/requestBodies/Services.Post"
}
}
},
"/services/{serviceId}":{
"parameters":[
{
"$ref":"#/components/parameters/Path.ServiceId"
}
],
"get":{
"description":"This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure",
"description":"This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query",
"operationId":"TimingCaps_GET",
"tags":[
"timing"
],
"responses":{
"200":{
"$ref":"#/components/responses/TimingCaps.200"
},
"400":{
"$ref":"#/components/responses/Error.400"
},
"403":{
"$ref":"#/components/responses/Error.403"
},
"404":{
"$ref":"#/components/responses/Error.404"
}
}
}
},
"/transports":{
"get":{
"description":"This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the \"transport information query\" procedure",
"operationId":"Transports_GET",
"tags":[
"transports"
],
"responses":{
"200":{
"$ref":"#/components/responses/Transports.200"
},
"400":{
"$ref":"#/components/responses/Error.400"
},
"403":{
"$ref":"#/components/responses/Error.403"
},
"404":{
"$ref":"#/components/responses/Error.404"
}
}
}
}
},
"components":{
"schemas":{
"Empty":{
"description":"Empty schema"
},
"AppTerminationNotification.MaxGracefulTimeout":{
"description":"Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.",
"type":"integer",
"format":"uint32",
"example":10
},
"AppTerminationNotification.NotificationType":{
"description":"Shall be set to AppTerminationNotification.",
"type":"string",
"example":"AppTerminationNotification"
},
"AppTerminationNotification":{
"description":"This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.",
"description":"URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information. This shall be included in both the request and the response.",
"type":"string",
"format":"uri"
},
"AppTerminationNotificationSubscription":{
"description":"This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.",
"description":"Unique identifier of the category",
"type":"string",
"example":"id12345"
},
"CategoryRef.Name":{
"description":"Name of the category",
"type":"string",
"example":"RNI"
},
"CategoryRef.Version":{
"description":"Category version",
"type":"string",
"example":"version1"
},
"CategoryRef":{
"description":"This type represents the category reference",
"type":"object",
"required":[
"href",
"id",
"name",
"version"
],
"properties":{
"href":{
"$ref":"#/components/schemas/CategoryRef.Href"
},
"id":{
"$ref":"#/components/schemas/CategoryRef.Id"
},
"name":{
"$ref":"#/components/schemas/CategoryRef.Name"
},
"version":{
"$ref":"#/components/schemas/CategoryRef.Version"
}
}
},
"CurrentTime":{
"description":"This type represents the information provided by the mobile edge platform in response to the Get Platform Time Request message.",
"type":"object",
"required":[
"nanoSeconds",
"seconds",
"timeSourceStatus"
],
"properties":{
"seconds":{
"type":"integer",
"format":"uint32",
"description":"The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
"example":1577836800
},
"nanoSeconds":{
"type":"integer",
"format":"uint32",
"description":"The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
"example":0
},
"timeSourceStatus":{
"type":"string",
"enum":[
"TRACEABLE",
"NONTRACEABLE"
],
"description":"Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source",
"example":"TRACEABLE"
}
}
},
"DestinationInterface.InterfaceType":{
"description":"Type of the interface",
"type":"string",
"enum":[
"TUNNEL",
"MAC",
"IP"
],
"example":"TUNNEL"
},
"DestinationInterface.IpAddress":{
"description":"IP address of the remote destination",
"type":"string",
"example":"192.0.2.0"
},
"DestinationInterface.MacAddress":{
"description":"Source address identifies the MAC address of the interface",
"type":"string",
"example":"02-00-00-00-00-00"
},
"DestinationInterface":{
"description":"This type represents the destination interface.",
"description":"The values are as defined in the \"subscriptionType\" attribute for each different Mp1 event subscription data type.",
"type":"string",
"enum":[
"AppTerminationNotificationSubscription",
"SerAvailabilityNotificationSubscription"
]
}
}
},
"Mp1SubscriptionLinkList":{
"description":"This type represents a list of links related to currently existing subscriptions for a mobile edge application instance. This information is returned when sending a request to receive current subscriptions.",
"description":"URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge service availability information. This shall be included in both the request and the response.",
"type":"string",
"format":"uri"
},
"SerAvailabilityNotificationSubscription":{
"description":"This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services.",
"description":"The enumeration SerializerTypes represents types of serializers",
"type":"string",
"enum":[
"JSON",
"XML",
"PROTOBUF3"
],
"example":"JSON"
},
"ServiceInfo.SerInstanceId":{
"description":"Identifier of the service instance assigned by the MEPM / mobile edge platform.",
"type":"string",
"readOnly":true,
"example":"ServiceInstance123"
},
"ServiceInfo.SerName":{
"description":"The name of the service. This is how the service producing mobile edge application identifies the service instance it produces.",
"type":"string",
"example":"ExampleService"
},
"ServiceInfo.State":{
"description":"Contains the state",
"type":"string",
"enum":[
"ACTIVE",
"INACTIVE"
],
"example":"ACTIVE"
},
"ServiceInfo.TransportId":{
"description":"Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the \"Transport information query\" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.",
"type":"string",
"writeOnly":true,
"example":"Rest1"
},
"ServiceInfo.Version":{
"description":"Service version",
"type":"string",
"example":"ServiceVersion1"
},
"ServiceInfo.Post":{
"description":"This type represents the general information of a mobile edge service.",
"description":"Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)",
"type":"integer",
"format":"uint32",
"example":0
},
"TrafficFilter.Port":{
"description":"A port",
"type":"string",
"example":"8080"
},
"TrafficFilter.Protocol":{
"description":"Protocol of the traffic filter",
"type":"string",
"example":"?"
},
"TrafficFilter.QCI":{
"description":"Used to match all packets that have the same Quality Class Indicator (QCI).",
"type":"integer",
"format":"uint32",
"example":1
},
"TrafficFilter.TC":{
"description":"Used to match all IPv6 packets that have the same Traffic Class.",
"type":"integer",
"format":"uint32",
"example":1
},
"TrafficFilter.Token":{
"description":"Used for token based traffic rule",
"type":"string",
"example":"?"
},
"TrafficFilter.TunnelAddress":{
"description":"Used for GTP tunnel based traffic rule",
"type":"string",
"example":"?"
},
"TrafficFilter.TunnelPort":{
"description":"Used for GTP tunnel based traffic rule",
"type":"string",
"example":"?"
},
"TrafficFilter":{
"description":"This type represents the traffic filter.",
"type":"object",
"properties":{
"srcAddress":{
"description":"An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.",
"description":"An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.",
"description":"The action of the ME host data plane when a packet matches the trafficFilter",
"type":"string",
"enum":[
"DROP",
"FORWARD_DECAPSULATED",
"FORWARD_AS_IS",
"PASSTHROUGH",
"DUPLICATE_DECAPSULATED",
"DUPLICATE_AS_IS"
],
"example":"DROP"
},
"TrafficRule.FilterType":{
"description":"Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context",
"type":"string",
"enum":[
"FLOW",
"PACKET"
],
"example":"FLOW"
},
"TrafficRule.Id":{
"description":"Identify the traffic rule.",
"type":"string",
"example":"TrafficRule1"
},
"TrafficRule_Priority":{
"description":"Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence",
"type":"integer",
"format":"uint32",
"example":1
},
"TrafficRule.State":{
"description":"Contains the traffic rule state",
"type":"string",
"enum":[
"ACTIVE",
"INACTIVE"
],
"example":"ACTIVE"
},
"TrafficRule":{
"description":"This type represents the general information of a traffic rule.",
"description":"Represents a mobile edge application instance. Note that the appInstanceId is allocated by the mobile edge platform manager.",
"in":"path",
"required":true,
"schema":{
"type":"string"
}
},
"Path.DnsRuleId":{
"name":"dnsRuleId",
"description":"Represents a DNS rule.",
"in":"path",
"required":true,
"schema":{
"type":"string"
}
},
"Path.SubscriptionId":{
"name":"subscriptionId",
"description":"Represents a subscription to the notifications from the mobile edge platform.",
"in":"path",
"required":true,
"schema":{
"type":"string"
}
},
"Path.SubscriptionType":{
"name":"subscriptionType",
"description":"Represents a subscription type to the notifications from the mobile edge platform.",
"in":"path",
"required":true,
"schema":{
"type":"string",
"enum":[
"AppTerminationNotificationSubscription",
"SerAvailabilityNotificationSubscription"
]
}
},
"Path.ServiceId":{
"name":"serviceId",
"description":"Represents a mobile edge service instance.",
"in":"path",
"required":true,
"schema":{
"type":"string"
}
},
"Path.TrafficRuleId":{
"name":"trafficRuleId",
"description":"Represents a traffic rule.",
"in":"path",
"required":true,
"schema":{
"type":"string"
}
},
"Query.Ser_category_id":{
"name":"ser_category_id",
"description":"A mobile edge application instance may use ser_category_id as an input parameter to query the availability of a list of mobile edge service instances in a serCategory. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
"in":"query",
"required":false,
"schema":{
"type":"string"
}
},
"Query.Ser_instance_id":{
"name":"ser_instance_id",
"description":"A mobile edge application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
"in":"query",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string"
}
}
},
"Query.Ser_name":{
"name":"ser_name",
"description":"A mobile edge application instance may use multiple ser_names as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.",
"in":"query",
"required":false,
"schema":{
"type":"array",
"items":{
"type":"string"
}
}
}
},
"responses":{
"ApplicationsDnsRules.200":{
"description":"It is used to indicate nonspecific success. The response body contains a representation of the resource.",
"description":"Represents the information that the MEP notifies the subscribed application instance about the corresponding application instance termination/stop",
"description":"Expected responses from callback consumer, if it accepts the callback"
}
}
}
}
},
"ServiceAvailabilityNotification":{
"{$request.body#/callbackReference}":{
"post":{
"description":"'Represents the service availability information that is used in the following cases - when the MEC platform announces the newly available\n services to the authorized relevant MEC applications (e.g. \n the applications that indicate the services as \"optional\"\n or \"required\") that are subscribed to the corresponding \n service availability notifications\n- when the MEC platform notifies the authorized relevant applications that are subscribed to the corresponding service availability notifications about the service availability changes.'",
"description":"Expected responses from callback consumer, if it accepts the callback"
}
}
}
}
}
},
"links":{
"GetIndividualMeService":{
"operationId":"ServicesServiceId_GET",
"description":"The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}`",
"parameters":{
"serviceId":"$response.body#/serviceId"
}
},
"PutIndividualMeService":{
"operationId":"ServicesServiceId_PUT",
"description":"The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}`",
"parameters":{
"serviceId":"$response.body#/serviceId"
}
},
"GetIndividualMeDNSRule":{
"operationId":"ApplicationsDnsRule_GET",
"description":"The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}`",
"parameters":{
"dnsRuleId":"$response.body#/dnsRuleId"
}
},
"PutIndividualMeDNSRule":{
"operationId":"ApplicationsDnsRule_PUT",
"description":"The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}`",
"parameters":{
"dnsRuleId":"$response.body#/dnsRuleId"
}
},
"GetIndividualMeTrafficRule":{
"operationId":"ApplicationsTrafficRule_GET",
"description":"The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`",
"parameters":{
"trafficRuleId":"$response.body#/trafficRuleId"
}
},
"PutIndividualMeTrafficRule":{
"operationId":"ApplicationsTrafficRule_PUT",
"description":"The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`",
"parameters":{
"trafficRuleId":"$response.body#/trafficRuleId"
}
},
"GetTransportInfo":{
"operationId":"AppServices_POST",
"description":"The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported",
"parameters":{
"transportId":"$response.body#/0/id"
}
},
"GetIndividualMeMp1Subscription":{
"operationId":"ApplicationsSubscription_GET",
"description":"The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
"parameters":{
"description":"regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
"subscriptionId":"TBC"
}
},
"DelIndividualMeMp1Subscription":{
"operationId":"ApplicationsSubscription_DELETE",
"description":"The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
"parameters":{
"description":"regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
"subscriptionId":"TBC"
}
},
"GetIndividualMeMp1SubscriptionLinkList":{
"operationId":"ApplicationsSubscription_GET",
"description":"The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
"parameters":{
"description":"regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
"subscriptionId":"TBC"
}
},
"DelIndividualMeMp1SubscriptionLinkList":{
"operationId":"ApplicationsSubscription_DELETE",
"description":"The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
"parameters":{
"description":"regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
log("f_create_app_termination_notif_subscription: INFO: IUT successfully responds with a AppTerminationNotificationSubscription: ",p_app_termination_notification_subscription);
log("f_create_ser_availability_notification_subscription: INFO: IUT successfully responds to the subscription: ",p_ser_availability_notification_subscription);
* @desc Operation that is being performed on the MEC
*/
typeenumeratedOperationAction{
STOPPING(0),
STOPPING(0),
TERMINATING(1)
}
/**
* @desc This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.
* @member notificationType Shall be set to "AppTerminationNotification"
* @member operationAction Operation that is being performed on the MEC application instance
* @member maxGracefulTimeout Maximum non-zero timeout value in seconds for graceful termination or graceful stop of an application instance
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.4.2-1: Attributes of AppTerminationNotification
*/
typerecordAppTerminationNotification{
NotificationTypenotificationType,
OperationActionoperationAction,
NotificationTypenotificationType,
OperationActionoperationAction,
MaxGracefulTimeoutmaxGracefulTimeout,
Subscriptionlinks
Subscriptionlinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc This type represents the information that the MEC application instance provides to the MEC platform when informing it
that the application has completed its application level related terminate/stop actions, e.g. retention of application state
in the case of stop.
* that the application has completed its application level related terminate/stop actions, e.g. retention of application state
* in the case of stop.
* @member operationAction Operation that is being performed on the MEC application instance
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.4.3-1: Attributes of AppTerminationConfirmation
*/
typerecordAppTerminationConfirmation{
OperationActionoperationAction
}
/**
* @desc This type represents the information that the MEC application instance indicates to the MEC platform that it is up and
running
* @desc This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running
* @member indication Indication about the MEC application instance
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.4.4-1: Attributes of AppReadyConfirmation
*/
typerecordAppReadyConfirmation{
Json.Stringindication
}
/**
* @desc Represents possible states of a MEC service instance
* @desc This type represents the liveness information of a MEC service instance
*/
typerecordServiceLivenessInfo{
ServiceStatestate,
TimeStamptimeStamp,
integerinterval
}
/**
* @desc It is used as the filtering criterion for the subscribed events.
*/
typeJson.StringAppInstanceId;
/**
* @desc URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information.
* This shall be included in both the request and the response."
...
...
@@ -89,6 +75,11 @@ running
/**
* @desc This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.
* @member subscriptionType Shall be set to "AppTerminationNotificationSubscription"
* @member callbackReference URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information
* @member links Object containing hyperlinks related to the resource
* @member appInstanceId It is used as the filtering criterion for the subscribed events
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.3.2-1: Attributes of AppTerminationNotificationSubscription
*/
typerecordAppTerminationNotificationSubscription{
SubscriptionTypesubscriptionType,
...
...
@@ -104,6 +95,35 @@ running
*/
typeJson.StringSubscriptionType;
/**
* @desc It is used as the filtering criterion for the subscribed events.
*/
typeJson.StringAppInstanceId;
/**
* @desc Represents possible states of a MEC service instance
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
*/
typeUInt32Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
*/
typeUInt32NanoSeconds;
/**
* @desc Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source.
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.2.5-1: Attributes of CurrentTime
*/
typeenumeratedTimeSourceStatus{
TRACEABLE(1),
...
...
@@ -158,6 +169,7 @@ running
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
* @member timeSourceStatus Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source.
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.2.5-1: Attributes of CurrentTime
*/
typerecordCurrentTime{
Secondsseconds,
...
...
@@ -165,6 +177,45 @@ running
TimeSourceStatustimeSourceStatus
}
/**
* @desc This type represents the information provided by the MEC application instance as part of the "application registration request" and "application registration update" messages
* @member appName Name of the application. It shall be consistent with the appName in the AppD, if an AppD is available
* @member appProvider Provider of the application. It shall be consistent with the appProvider in the AppD, if an AppD is available
* @member appCategory Category of the application
* @member appDId The application descriptor identifier
* @member appInstanceId Identifier of the application instance
* @member endpoint Endpoint information (e.g. URI, FQDN, IP address) of the application server, which is part of the application functionalities
* @member appServiceRequired Describes services a MEC application requires to run
* @member appServiceOptional Describes services a MEC application may use if available
* @member appFeatureRequired Describes features a MEC application requires to run
* @member appFeatureOptional Describes features a MEC application may use if available
* @member isInsByMec Indicate whether the application instance is instantiated by the MEC Management
* @member appProfile Can be mapped to EAS profile as defined in ETSI TS 129 558 [19]
* @see ETSI GS MEC 011 V3.2.1 7.1.2.6-1: Attributes of AppInfo
*/
typerecordAppInfo{
Json.StringappName,
Json.StringappProvideroptional,
CategoryRefappCategoryoptional,
Json.StringappDIdoptional,
Json.StringappInstanceIdoptional,
EndPointInfoendpointoptional,
ServiceDependenciesappServiceRequiredoptional,
ServiceDependenciesappServiceOptionaloptional,
FeatureDependenciesappFeatureRequiredoptional,
FeatureDependenciesappFeatureOptionaloptional,
Json.BoolisInsByMecoptional,
AppProfileappProfileoptional
}// End of type AppInfo
/**
* @desc
* @see ETSI TS 129 558 V17.2.0
*/
typerecordAppProfile{
// TODO
}// End of type AppProfile
/**
* @desc Type of the interface.
*/
...
...
@@ -187,13 +238,19 @@ running
/**
* @desc This type represents the destination interface.
* member interfaceType Type of the interface, e.g. TUNNEL, MAC, IP, etc
* member tunnelInfo Included only if the destination interface type is "tunnel"
* member srcMacAddress If the interface type is "MAC", source address identifies the MAC address of the interface
* member dstMacAddress If the interface type is "MAC", destination address identifies the MAC address of the interface
* member dstIpAddress If the interface type is "IP", destination address identifies the IP address of the remote destination
* @see ETSI GS MEC 011 V3.2.1 Table 7.1.5.3-1: Attributes of DestinationInterface
* @desc This type represents the general information of a mobile edge service.
* @member serInstanceId Identifier of the service instance assigned by the MEPM/MEC platform
* @member serName The name of the service
* @member serCategory A Category reference
* @member version The version of the service
* @member state Contains the service state
* @member transportId Identifier of the platform-provided transport to be used by the service
* @member transportInfo Information regarding the transport used by the service
* @member serializer Indicate the supported serialization format of the service
* @member scopeOfLocality The scope of locality as expressed by "consumedLocalOnly" and "isLocal".
* @member consumedLocalOnly 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 (TRUE) or not (FALSE)
* @member isLocal Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application (TRUE) or not (FALSE)
* @member livenessInterval Interval (in seconds) between two consecutive "heartbeat" messages
* @member links Links to resources related to this resource
* @see ETSI GS MEC 011 V3.2.1 Table 8.1.2.2-1: Attributes of ServiceInfo
*/
typerecordServiceInfo{
SerInstanceIdserInstanceIdoptional,
...
...
@@ -527,8 +630,8 @@ running
LocalityTypescopeOfLocalityoptional,
Json.BoolconsumedLocalOnlyoptional,
Json.BoolisLocaloptional,
UInt32livenessIntervaloptional,
ServiceInfo_Linklinks
Json.UIntegerlivenessIntervaloptional,
ServiceInfo_Linklinksoptional
}with{
variant(links)"name as '_links'";
}
...
...
@@ -544,7 +647,7 @@ running
/**
* @desc Authentication key number.
*/
typeUInt32AuthenticationKeyNum;
typeJson.UIntegerAuthenticationKeyNum;
/**
* @desc NTP authentication option.
...
...
@@ -558,12 +661,12 @@ running
/**
* @desc Acceptable maximum rate of the Delay_Req messages in packets per second.
*/
typeUInt32DelayReqMaxRate;
typeJson.UIntegerDelayReqMaxRate;
/**
* @desc NTP server local priority.
*/
typeUInt32LocalPriority;
typeJson.UIntegerLocalPriority;
/**
* @desc Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17.
* @desc Information (typically the serial number) to identify an Internet Gateway Device through which the customer premises device is connected.
*/
typerecordofJson.StringGatewayId;
/**
* @desc Typically, the serial number of the device.
*/
typerecordofJson.StringDeviceId;
/**
* @desc Current operational status of the device.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.3-1: Attributes of the DeviceInfo
*/
typeenumeratedDeviceStatus{
Up,
Initializing,
Error,
Disabled
Up(1),
Initializing(2),
Error(3),
Disabled(4)
}with{
variant"JSON: as number"
}
typerecordIPPingDiagnostics{}
typerecordTraceRouteDiagnostics{}
typerecordDownloadDiagnostics{}
typerecordUploadDiagnostics{}
/**
* @desc This type represents the information of the cable line of a fixed access network
* @member timeStamp Time stamp.
* @member customerPremisesInfo The physical location of a customer site.
*
* @member timeStamp Time stamp
* @member customerPremisesInfo The physical location of a customer site
* @member cmdId Information (typically the serial number) to identify a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system
* @member cmStatus It provides CM connectivity status information of the CM
* @member cmDpvStats It represents the DOCSIS Path Verify Statistics collected in the cable modem device
* @member serviceFlowStats It describes statistics associated with the Service Flows in a managed device
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
*/
typerecordCableLineInfo{
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfo,
CmdInfocmdInfo
}
/**
* @desc
* @member cmdId Information (typically the serial number) to identify a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system.
* @member cmStatus It provides CM connectivity status information of the CM.
* @member cmDpvStats It represents the DOCSIS Path Verify Statistics collected in the cable modem device.
* @member serviceFlowStats It describes statistics associated with the Service Flows in a managed device.
*/
typerecordCmdInfo_{
CmdIdcmdId,
CmStatuscmStatusoptional,
CmDpvStatscmDpvStatsoptional,
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfo,
Json.StringcmdId,
CmStatuscmStatusoptional,
CmDpvStatscmDpvStatsoptional,
ServiceFlowStatsserviceFlowStatsoptional
}
typerecordofCmdInfo_CmdInfo;
/**
* @desc Information (typically the serial number) to identify a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system.
*/
typeJson.StringCmdId;
/**
* @desc It provides CM connectivity status information of the CM.
* @member ifIndex It denotes the MAC Domain interface index of the CM.
* @member It defines the CM connectivity state.
* @member resets It denotes the number of times the CM reset or initialized this interface.
* @member lostSyncs It denotes the number of times the CM lost synchronization with the downstream channel.
* @member invalidRegRsps It denotes the number of times the CM received invalid registration response messages.
* @desc It provides CM connectivity status information of the CM
* @member ifIndex It denotes the MAC Domain interface index of the CM
* @member cmRegState It defines the CM connectivity state
* @member resets It denotes the number of times the CM reset or initialized this interface
* @member lostSyncs It denotes the number of times the CM lost synchronization with the downstream channel
* @member invalidRegRsps It denotes the number of times the CM received invalid registration response messages
* @member energyMgt1x1OperStatus It indicates whether the CM is currently operating in Energy Management 1x1 Mode
* @member emDlsOperStatus It indicates whether the CM is currently operating in Energy Management DLS Mode
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
*/
typerecordCmStatus_{
IfIndexifIndex,
CmRegStatecmRegState,
Json.Numberresets,
Json.NumberlostSyncs,
Json.NumberinvalidRegRsps,
Json.BoolenergyMgt1x1OperStatus,
Json.BoolemDlsOperStatus
Json.StringifIndex,
CmRegStatecmRegState,
Json.Integerreset,
Json.IntegerlostSyncs,
Json.IntegerinvalidRegRsps,
Json.BoolenergyMgt1x1OperStatus,
Json.BoolemDlsOperStatus
}
typerecordofCmStatus_CmStatus;
/**
* @desc It denotes the MAC Domain interface index of the CM.
*/
typeJson.StringIfIndex;
typerecordofJson.StringIfIndexList;
/**
* @desc It defines the CM connectivity state.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
* @desc It represents the DOCSIS Path Verify Statistics collected in the cable modem device.
* @member ifIndex It denotes the MAC Domain interface index of the CM.
* @member lastMeasLatency The last latency measurement.
* @member lastMeasTime the last measurement time of the last latency measurement.
* @member minLatency the minimum latency measurement.
* @member maxLatency the maximum latency measurement.
* @member avgLatency the average latency measurement.
* @member numMeas The number of latency measurements made.
*/
typerecordCmDpvStats_{
IfIndexifIndex,
Json.NumberlastMeasLatency,
TimeStamplastMeasTime,
Json.NumberminLatency,
Json.NumbermaxLatency,
Json.NumberavgLatency,
Json.NumbernumMeas
}
typerecordofCmDpvStats_CmDpvStats;
* @desc It represents the DOCSIS Path Verify Statistics collected in the cable modem device
* @member ifIndex It represents the interface Index of the Downstream Interface where the measurements are taken
* @member lastMeasLatency The last latency measurement
* @member lastMeasTime The last measurement time of the last latency measurement
* @member minLatency The minimum latency measurement
* @member maxLatency The maximum latency measurement
* @member avgLatency The average latency measurement
* @member numMeas The number of latency measurements made
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
*/
typerecordCmDpvStats{
Json.StringifIndex,
Json.IntegerlastMeasLatency,
TimeStamplastMeasTime,
Json.IntegerminLatency,
Json.IntegermaxLatency,
Json.IntegeravgLatency,
Json.IntegernumMeas
}
/**
* @desc It describes statistics associated with the Service Flows in a managed device.
* @member ifIndex It denotes the MAC Domain interface index of the CM.
* @member serviceFlowInfo It represents the information of a Service Flow.
* @desc It describes statistics associated with the Service Flows in a managed device
* @member ifIndex It represents the interface index of the MAC Domain of the Service Flow
* @member serviceFlowInfo It represents the information of a Service Flow
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
*/
typerecordServiceFlowStats_{
IfIndexifIndex,
ServiceFlowInfoserviceFlowInfo
typerecordServiceFlowStats{
Json.StringifIndex,
ServiceFlowInfoListserviceFlowInfo
}
typerecordofServiceFlowStats_ServiceFlowStats;
/**
* @desc It represents the information of a Service Flow.
* @member ifIndex It denotes the MAC Domain interface index of the CM.
* @member serviceFlowId It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.
* @member pkts For outgoing Service Flows, this attribute counts the number of Packet Data PDUs forwarded to this Service Flow. For incoming upstream CMTS service flows, this attribute counts the number of Packet Data PDUs actually received on the Service Flow identified by the SID for which the packet was scheduled.
* @member timeCreated It indicates the time when the service flow was created.
* @member timeActiveIt Indicates the number of seconds that the service flow has been active.
* @member policedDropPkts For upstream service flows, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to: (1) exceeding the selected Buffer Size for the service flow; or (2) UGS packets dropped due to exceeding the Unsolicited Grant Size with a Request/Transmission policy that requires such packets to be dropped.
* @member policedDelayPkts It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate.
* @member aqmDroppedPkts For upstream service flows on which AQM is enabled, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to Active Queue Management drop decisions.
*/
typerecordServiceFlowInfo_{
Json.NumberserviceFlowId,
Json.Numberpkts,
TimeStamptimeCreated,
Json.NumbertimeActive,
Json.NumberpolicedDropPkts,
Json.NumberpolicedDelayPkts,
Json.NumberaqmDroppedPkts
}
typerecordofServiceFlowInfo_ServiceFlowInfo;
* @desc It represents the information of a Service Flow
* @member serviceFlowId It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain
* @member pkts For outgoing ServiceFlows, this attribute counts the number of Packet Data PDUs forwarded to this Service Flow
* For incoming upstream CMTS service flows, this attribute counts the number of Packet Data PDUs actually received on the Service Flow identified by the SID for which the packet was scheduled
* @member timeCreated It indicates the time when the service flow was created
* @member timeActiveIt indicates the number of seconds that the service flow has been active
* @member policedDropPkts For upstream service flows, this attribute counts the number of Packet Data PDUs classified to this service flow dropped
* @member policedDelayPkts It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate
* @member aqmDroppedPkts this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to Active Queue Management drop decisions
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.4-1: Attributes of the CableLineInfo
*/
typerecordServiceFlowInfoList{
Json.IntegerserviceFlowId,
Json.Integerpkts,
TimeStamptimeCreated,
Json.IntegertimeActive,
Json.IntegerpolicedDropPkts,
Json.IntegerpolicedDelayPkts,
Json.IntegeraqmDroppedPkts
}
/**
* @desc This type represents the information of the of an optical network (e.g., G-PON, XG-PON, NG-PON2, XGS-PON).
* @member timeStamp Time stamp.
* @member customerPremisesInfo The physical location of a customer site.
* @member ponSYS_ID The 20-bit identity of the optical system within a certain domain.
* @member opticalNetworkInfo
*/
typerecordPonInfo{
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfo,
PonSYS_IDponSYS_ID,
OpticalNetworkInfoopticalNetworkInfo
}
typeJson.StringPonSYS_ID;
/**
* @desc This type represents the information of the of an optical network (e.g., G-PON, XG-PON, NG-PON2, XGS-PON).
* @member onuId Information to identify an Optical Network Unit.
* @member ponTech An informative field identifying the optical technology used.
* @member operationalState It reports whether the ONU is currently capable of performing its function.
* @member onuId Information to identify an Optical Network Unit
* @member ponTech An informative field identifying the optical technology used
* @member operationalState It reports whether the ONU is currently capable of performing its function
* @member dsRate Downstream line rate
* @member usRate Upstream line rate
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.5-1: Attributes of the PonInfo
e_us_two(2),// 2 = 2.48832 Gbit/s: G-PON option 2 [i.9] or XG-PON [i.10] or NG-PON2 option 2 [i.8]
e_us_three(3)// 9.95328 Gbit/s: XGS-PON [i.11]
}with{
variant"JSON: as number"
}
/**
* @desc This type represents a subscription to ONU alarm notifications from FAIS
* @member subscriptionType Shall be set to "OnuAlarmSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteriaOnuAlarm List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.2-1: Attributes of the OnuAlarmSubscription
*/
typerecordOnuAlarmSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
FilterCriteriaOnuAlarmfilterCriteriaOnuAlarm,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
/**
* @desc Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
* @member self_ Self referring URI. The URI shall be unique within the FAI API as it acts as an ID for the subscription.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.2-1: Attributes of the OnuAlarmSubscription
*/
typerecordLinks{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This type represents a type of link and may be referenced from data structures.
* @desc List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response
* @member customerPremisesInfo Physical locations of the customer sites
* @member onuId Unique identifiers for the optical network units.
* @member alarms In case alarms is not included in the subscription request, the default value -1 = All shall be used and included in the response.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.2-1: Attributes of the OnuAlarmSubscription
*/
typerecordLinkType{
Hrefhref
typerecordFilterCriteriaOnuAlarm{
CpInfocustomerPremisesInfooptional,
OnuIdsonuId,
AlarmListalarmsoptional
}
typerecordofJson.StringOnuIds;
/**
* @desc In case alarms is not included in the subscription request, the default value -1 = All shall be used and included in the response
*/
typeenumeratedAlarm{
EquipmentAlarm(1),// (Functional failure on an internal interface)
PoweringAlarm,// (Loss of external power to battery backup unit. This alarm is typically derived through an external interface to a battery backup unit, and indicates that AC is no longer available to maintain battery charge.)
BatteryMissing,// (Battery is provisioned but missing)
BatteryFailure,// (Battery is provisioned and present but cannot recharge)
BatteryLow,// (Battery is provisioned and present but its voltage is too low)
PhysicalIntrusion,// (Applies if the ONU supports detection such as door or box open)
OnuSelfTestFailure,// (ONU has failed autonomous self-test)
DyingGasp,// ()ONU is powering off imminently due to loss of power to the ONU itself.)
TemperatureYellow,// (No service shutdown at present, but the circuit pack is operating beyond its recommended range.)
TemperatureRed,// ()Some services have been shut down to avoid equipment damage.)
VoltageYellow,// (No service shutdown at present, but the line power voltage is below its recommended minimum.)
VoltageRed,// (Some services have been shut down to avoid power collapse.)
OnuManualPowerOff,// (The ONU is shutting down because the subscriber has turned off its power switch.)
InvImage,// (Software image is invalid)
PseOverloadYellow,// (Indicates that the ONU is nearing its maximum ability to supply the known PoE demand of the attached PDs. The thresholds for declaring and clearing this alarm are vendor-specific.)
PseOverloadRed,// (Indicates that the ONU is unable to supply all of the PoE demand of the attached PDs and has removed or reduced power to at least one PD.)
All
}with{
variant"JSON: as number"
}
typerecordofAlarmAlarmList;
/**
* @desc This type represents a subscription to device information notifications from FAIS
* @member subscriptionType Shall be set to "DevInfoSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteriaDevInfo List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.3-1: Attributes of the DevInfoSubscription
*/
typerecordDevInfoSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
FilterCriteriaDevInfofilterCriteriaDevInfo,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
/**
* @desc List of filtering criteria for the subscription
* @member gwId The identifier of an Internet Gateway Device through which the customer premises device is connected
* @member deviceId The device identifier
* @member deviceErrStatus The abnormal operational status of the device
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.3-1: Attributes of the DevInfoSubscription
*/
typerecordFilterCriteriaDevInfo{
GatewayIdListgwIdoptional,
DeviceIdListdeviceIdoptional,
DeviceErrStatusdeviceErrStatusoptional
}
/**
* @desc Information (typically the serial number) to identify an Internet Gateway Device through which the customer premises device is connected.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.3-1: Attributes of the DevInfoSubscription
*/
typerecordofJson.StringGatewayIdList;
/**
* @desc Typically, the serial number of the device.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.3-1: Attributes of the DevInfoSubscription
*/
typerecordofJson.StringDeviceIdList;
/**
* @desc URI referring to a resource.
* @desc Current operational status of the device.
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.2.3-1: Attributes of the DeviceInfo
*/
typeJson.StringHref;
typeenumeratedDeviceErrStatus_{
Error(1),
Disabled(2)
}with{
variant"JSON: as number"
}
typerecordofDeviceErrStatus_DeviceErrStatus;
/**
* @desc This type represents a subscription to cable modem connectivity state notifications from FAIS
* @member subscriptionType Shall be set to "CmConnSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteriaCmConn List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.4-1: Attributes of the CmConnSubscription
*/
typerecordCmConnSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
FilterCriteriaCmConnfilterCriteriaCmConn,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
/**
* @desc List of filtering criteria for the subscription
* @member customerPremisesInfo The physical location of a customer site
* @member cmIf
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.4-1: Attributes of the CmConnSubscription
*/
typerecordFilterCriteriaCmConn{
CpInfocustomerPremisesInfooptional,
CmIfcmIfoptional
}
/**
* @desc
* @member customerPremisesInfo The physical location of a customer site
* @member cmId The identifier of a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system
* @member ifIndex The MAC Domain interface index of the CM
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.4-1: Attributes of the CmConnSubscription
*/
typerecordCmIf{
Json.StringcmId,
IfIndexListifIndex,
CmRegStateListcmRegState
}
/**
* @desc This type represents a list of links related to currently existing subscriptions for the service consumer.
* @member links List of hyperlinks related to the resource.
* @member subscription A link to a subscription.
* @desc This type represents a list of links related to currently existing subscriptions for the service consumer
* @member links Hyperlink related to the resource
* @member subscription The service consumer's subscriptions
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.5-1: Attributes of the SubscriptionLinkList
*/
typerecordSubscriptionLinkList{
Linkslinks,
Subscriptionssubscriptionoptional
SubscriptionLinkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Hyperlink related to the resource
* @member self_ URI of this resource.
* @member subscription The service consumer's subscriptions
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.5-1: Attributes of the SubscriptionLinkList
*/
typerecordSubscriptionLinks{
LinkTypeself_,
SubscriptionListsubscriptionoptional
}with{
variant(self_)"name as 'self'";
}
/**
* @desc A link to a subscription
* @member href The URI referring to the subscription.
* @member subscriptionType Type of subscription
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.5-1: Attributes of the SubscriptionLinkList
*/
typerecordSubscription_{
Json.AnyURIhref,
Json.AnyURIhref,
SubscriptionTypesubscriptionType
}
typerecordofSubscription_Subscriptions;
typerecordofSubscription_SubscriptionList;
/**
* @desc Type of subscription
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.5-1: Attributes of the SubscriptionLinkList
*/
typeenumeratedSubscriptionType{
RESERVED,
ONU_ALARM,
DEVICE_ABNORMAL_ALERT,
CM_CONNECTIVITY_STATE,
ANI_ALARM
OnuAlarmSubscription,
DevInfoSubscription,
CmConnSubscription,
AniAlarmSubscription
}
/**
* @desc This type represents a subscription to ONU alarm notifications from FAIS.
*/
typerecordOnuAlarmSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReference,
Linkslinksoptional,
FilterCriteriaOnuAlarmfilterCriteriaOnuAlarm,
TimeStampexpiryDeadlineoptional
* @desc This type represents a subscription to cable modem connectivity state notifications from FAIS
* @member subscriptionType Shall be set to "AniAlarmSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteriaAniAlarm List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.6-1: Attributes of the AniAlarmSubscription
*/
typerecordAniAlarmSubscription{
Json.StringsubscriptionType,
Json.AnyURIcallbackReferenceoptional,
Json.BoolrequestTestNotificationoptional,
WebsockNotifConfigwebsockNotifConfigoptional,
Linkslinksoptional,
FilterCriteriaAniAlarmfilterCriteriaAniAlarm,
TimeStampexpiryDeadlineoptional
}with{
variant(links)"name as '_links'";
}
/**
* @desc List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response
* @member customerPremisesInfo Physical locations of the customer sites
* @member onuId Unique identifiers for the optical network units.
* @member In case alarms is not included in the subscription request, the default value -1 = All shall be used and included in the response.
* @desc List of filtering criteria for the subscription
* @member customerPremisesInfo 0 to N physical locations of the customer sites
* @member onuId 1 to N unique identifiers for the optical network units
* @member aniId
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.6-1: Attributes of the AniAlarmSubscription
*/
typerecordFilterCriteriaOnuAlarm{
typerecordFilterCriteriaAniAlarm{
CpInfocustomerPremisesInfooptional,
OnuIdsonuId,
Alarmsalarmsoptional
AniIdaniId
}
/**
* @desc
* @member onuId The unique identifiers for the optical network unit
* @member aniId The index of an access network interface supported by the optical network unit
* @member alarms
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.3.6-1: Attributes of the AniAlarmSubscription
*/
typerecordAniId_{
OnuIdsonuId,
Json.StringaniIndex,
AlarmListalarmsoptional
}
typerecordofAniId_AniId
/**
* @desc This type represents a notification from FAIS with regards to ONU alarms
* @member notificationType Shall be set to "OnuAlarmNotification"
* @member timeStamp Date and time of the generation of the notification
* @member customerPremisesInfo The physical location of the related customer sites\
* @member onuId The unique identifier for an optical network unit
* @member alarm Indicates the alarm of the ONU
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.2-1: Attributes of the OnuAlarmNotification
*/
typerecordOnuAlarmNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfooptional,
Json.StringonuId,
Alarmalarm
}
/**
* @desc This type represents a notification from FAIS with regards to ONU alarms
* @member notificationType Shall be set to "DevInfoNotification"
* @member timeStamp Date and time of the generation of the notification
* @member deviceId The identifier for a device
* @member deviceErrStatus Indicates the abnormal operational status of the device
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.3-1: Attributes of the DevInfoNotification
*/
typerecordDevInfoNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
Json.StringdeviceId,
DeviceErrStatus_deviceErrStatus
}
/**
* @desc This type represents a notification from FAIS with regards to ONU alarms
* @member notificationType Shall be set to "CmConnNotification"
* @member timeStamp Date and time of the generation of the notification
* @member customerPremisesInfo The physical location of a customer site
* @member cmIf
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.4-1: Attributes of the CmConnNotification
*/
typerecordCmConnNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfooptional,
CmIfcmIf
}
/**
* @desc This type represents a notification from FAIS with regards to expiry of the existing subscription
* @member timeStamp Date and time of the generation of the notification
* @member links List of hyperlinks related to the resource
* @member expiryDeadline Time stamp
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.5-1: Attributes of the ExpiryNotification
*/
typeenumeratedAlarm{
EquipmentAlarm,// (Functional failure on an internal interface)
PoweringAlarm,// (Loss of external power to battery backup unit. This alarm is typically derived through an external interface to a battery backup unit, and indicates that AC is no longer available to maintain battery charge.)
BatteryMissing,// (Battery is provisioned but missing)
BatteryFailure,// (Battery is provisioned and present but cannot recharge)
BatteryLow,// (Battery is provisioned and present but its voltage is too low)
PhysicalIntrusion,// (Applies if the ONU supports detection such as door or box open)
OnuSelfTestFailure,// (ONU has failed autonomous self-test)
DyingGasp,// ()ONU is powering off imminently due to loss of power to the ONU itself.)
TemperatureYellow,// (No service shutdown at present, but the circuit pack is operating beyond its recommended range.)
TemperatureRed,// ()Some services have been shut down to avoid equipment damage.)
VoltageYellow,// (No service shutdown at present, but the line power voltage is below its recommended minimum.)
VoltageRed,// (Some services have been shut down to avoid power collapse.)
OnuManualPowerOff,// (The ONU is shutting down because the subscriber has turned off its power switch.)
InvImage,// (Software image is invalid)
PseOverloadYellow,// (Indicates that the ONU is nearing its maximum ability to supply the known PoE demand of the attached PDs. The thresholds for declaring and clearing this alarm are vendor-specific.)
PseOverloadRed,//(Indicates that the ONU is unable to supply all of the PoE demand of the attached PDs and has removed or reduced power to at least one PD.)
All
}with{
variant"JSON: as number"
typerecordExpiryNotification{
TimeStamptimeStampoptional,
Linkslinks,
TimeStampexpiryDeadline
}with{
variant(links)"name as '_links'";
}
typerecordofAlarmAlarms;
/**
* @desc This type represents a notification from FAIS with regards to ONU alarms
* @member notificationType Shall be set to "AniAlarmNotification"
* @member timeStamp Date and time of the generation of the notification
* @member customerPremisesInfo The physical location of a customer site
* @member onuId The unique identifier for an optical network unit
* @member aniId
* @member alarm Indicates the alarm of the ANI
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.6-1: Attributes of the AniAlarmNotification
*/
typerecordAniAlarmNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
CpInfocustomerPremisesInfooptional,
OnuIdsonuIdoptional,
AniIdaniIdoptional,
Alarmalarm
}
/**
* @desc This type represents a test notification from a FAIS to determine if the Websocket method is to be utilized to issue notifications for a subscription
* @member notificationType Shall be set to "OnuAlarmNoTestNotificationtification"
* @member links Hyperlink related to the resource
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.7-1: Attributes of the TestNotification
*/
typerecordTestNotification{
Json.StringnotificationType,
Links_TestNotificationlinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Hyperlink related to the resource
* @member subscription URI identifying the subscription for the test notification
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.4.7-1: Attributes of the TestNotification
*/
typerecordLinks_TestNotification{
LinkTypesubscription
}
/**
* @desc This type represents a customer premises (physical location)
* @member latitude Latitude (DATUM=WGS84)
* @member longitude Longitude (DATUM=WGS84)
* @member postalCode Postal code for the location
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.3-1: Attributes of the CpInfo
*/
typerecordCpInfo_{
Json.Numberlatitudeoptional,
Json.Numberlongitudeoptional,
Json.StringpostalCodeoptional
}
typerecordofCpInfo_CpInfo;
/**
* @desc This type represents an IP-layer ping test
* @member diagnosticsState The state of the IP ping test
* @member host Host name or address of the host to ping
* @member numberOfRepetitions Number of repetitions of the ping test to perform before reporting the results
* @member timeout_ Timeout in milliseconds for the ping test
* @member dataBlockSize Size of the data block in bytes to be sent for each ping
* @member successCount Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test
* @member failureCount Result parameter indicating the number of failed pings in the most recent ping test
* @member averageResponseTime Result parameter indicating the average response time in milliseconds over all repetitions with successful responses of the most recent ping test
* @member minimumResponseTime Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test
* @member maximumResponseTime Result parameter indicating the maximum response time in milliseconds over all repetitions with successful responses of the most recent ping test
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.4-1: Attributes of the IPPingDiagnostics
*/
typerecordIPPingDiagnostics{
DiagnosticsStatediagnosticsState,
Json.Stringhostoptional,
Json.NumbernumberOfRepetitionsoptional,
Json.Numbertimeout_optional,
Json.NumberdataBlockSizeoptional,
Json.NumbersuccessCountoptional,
Json.NumberfailureCountoptional,
Json.NumberaverageResponseTimeoptional,
Json.NumberminimumResponseTimeoptional,
Json.NumbermaximumResponseTimeoptional
}
/**
* @desc The state of the IP ping test
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.4-1: Attributes of the IPPingDiagnostics
*/
typeenumeratedDiagnosticsState{
None(1),
Requested(2),
Complete(3),
Error_CannotResolveHostName(4),
Error_Internal(5),
Error_Other(6)
}with{
variant"JSON: as number"
}
/**
* @desc This type represents an IP-layer trace-route test
* @member diagnosticsState The state of the IP ping test
* @member host Host name or address of the host to find a route to
* @member timeout_ Timeout in milliseconds for the trace route test
* @member dataBlockSize Size of the data block in bytes to be sent for each trace route
* @member maxHopCount The maximum number of hop used in outgoing probe packets. The default is 30 hops
* @member responseTime Result parameter indicating the response time in milliseconds the most recent trace route test
* @member numberOfRouteHops Result parameter indicating the number of hops within the discovered route
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.5-1: Attributes of the TraceRouteDiagnostics
*/
typerecordTraceRouteDiagnostics{
DiagnosticsStatediagnosticsState,
Json.Stringhostoptional,
Json.Numbertimeout_optional,
Json.NumberdataBlockSizeoptional,
Json.NumbermaxHopCountoptional,
Json.NumberresponseTimeoptional,
Json.NumbernumberOfRouteHopsoptional
}
/**
* @desc This type represents a HTTP and FTP DownloadDiagnostics test
* @member diagnosticsState The state of the HTTP and FTP download test
* @member downloadURI The URI for the device to perform the download on
* @member rOMTime Request time in UTC, which shall be specified to microsecond precision
* @member bOMTime Begin of transmission time in UTC, which shall be specified to microsecond precision
* @member eOMTime End of transmission in UTC, which shall be specified to microsecond precision
* @member testBytesReceived The test traffic received in bytes during the FTP/HTTP transaction including FTP/HTTP headers,`between bOMTime and eOMTime
* @member totalBytesReceived The total number of bytes received on the Interface between bOMTime and eOMTime
* @member tCPOpenRequestTime Request time in UTC, which shall be specified to microsecond precision
* @member tCPOpenReponseTime Response time in UTC, which shall be specified to microsecond precision
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.6-1: Attributes of the DownloadDiagnostics
*/
typerecordDownloadDiagnostics{
DiagnosticsStatediagnosticsState,
Json.AnyURIdownloadURIoptional,
TimeStamprOMTimeoptional,
TimeStampbOMTimeoptional,
TimeStampeOMTimeoptional,
Json.NumbertestBytesReceivedoptional,
Json.NumbertotalBytesReceivedoptional,
TimeStamptCPOpenRequestTimeoptional,
TimeStamptCPOpenReponseTimeoptional
}
/**
* @desc This type represents a HTTP and FTP UploadDiagnostics test
* @member diagnosticsState The state of the HTTP and FTP download test
* @member uploadURI The URI for the device to perform the upload to
* @member testFileLength The size of the file (in bytes) to be uploaded to the server
* @member rOMTime Request time in UTC, which shall be specified to microsecond precision
* @member bOMTime Begin of transmission time in UTC, which shall be specified to microsecond precision
* @member eOMTime End of transmission in UTC, which shall be specified to microsecond precision
* @member testBytesSent The test traffic sent in bytes during the FTP/HTTP transaction including FTP/HTTP headers, between bOMTime and eOMTime
* @member tCPOpenRequestTime Request time in UTC, which shall be specified to microsecond precision
* @member tCPOpenReponseTime Response time in UTC, which shall be specified to microsecond precision
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.7-1: Attributes of the UploadDiagnostics
*/
typerecordUploadDiagnostics{
DiagnosticsStatediagnosticsState,
Json.AnyURIuploadURIoptional,
Json.NumbertestFileLengthoptional,
TimeStamprOMTimeoptional,
TimeStampbOMTimeoptional,
TimeStampeOMTimeoptional,
Json.NumbertestBytesSentoptional,
TimeStamptCPOpenRequestTimeoptional,
TimeStamptCPOpenReponseTimeoptional
}
/**
* @desc This type represents a type of link and may be referenced from data structures
* @member href URI referring to a resource
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.8-1: Attributes of the LinkType
*/
typerecordLinkType{
Json.AnyURIhref
}
/**
* @desc This type represents configuration for the delivery of subscription notifications over Websockets
* @member websocketUri Set by location server to indicate to the service consumer the Websocket URI to be used for delivering notifications
* @member requestWebsocketUri Set to true by the service consumer to indicate that Websocket delivery is requested
* @see ETSI GS MEC 029 V2.2.1 (2022-01) Table 6.5.9-1: Attributes of the WebsockNotifConfig
*/
typerecordWebsockNotifConfig{
Json.AnyURIwebsocketUrioptional,
Json.BoolrequestWebsocketUrioptional
}
}with{
encode"JSON"
}// End of module FixedAccessInformationServiceAPI_TypesAndValues