From 7c870691dc539011d6377c102866f8682daba684 Mon Sep 17 00:00:00 2001 From: Umair Khan <umair.anwar@xflowresearch.com> Date: Fri, 20 Dec 2024 06:13:01 +0000 Subject: [PATCH 1/3] update etsi mec sandbox mec 021 AMS front-end file as per 3.1.1 AMS document version --- config/api/ams-api.yaml | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/config/api/ams-api.yaml b/config/api/ams-api.yaml index 34c99b6..88a2798 100644 --- a/config/api/ams-api.yaml +++ b/config/api/ams-api.yaml @@ -1,10 +1,10 @@ openapi: 3.0.0 info: title: 'ETSI GS MEC 021 Application Mobility Service API' - version: 2.2.1 + version: 3.1.1 description: 'ETSI GS MEC 021 Application Mobility Service API described using OpenAPI. - <p>**Note**<br>MEC Sandbox supports a subset of AMS API endpoints; complete details on AMS API can be found on [ETSI Forge](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.02.01_60/gs_mec021v020201p.pdf)' + <p>**Note**<br>MEC Sandbox supports a subset of AMS API endpoints; complete details on AMS API can be found on [ETSI Forge](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/03.01.01_60/gs_mec021v030101p.pdf)' license: name: BSD-3-Clause url: 'https://forge.etsi.org/legal-matters' @@ -13,8 +13,8 @@ info: email: cti_support@etsi.org url: https://forge.etsi.org/rep/mec/gs021-amsi-api externalDocs: - description: 'ETSI GS MEC 021 Application Mobility Service API, v2.2.1' - url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.02.01_60/gs_mec021v020201p.pdf' + description: 'ETSI GS MEC 021 Application Mobility Service API, v3.1.1' + url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/03.01.01_60/gs_mec021v030101p.pdf' servers: - url: 'https://localhost/sandboxname/amsi/v1' tags: @@ -39,7 +39,7 @@ paths: explode: true schema: type: string - - name: all_fields + - name: All_fields in: query description: Include all complex attributes in the response. required: false @@ -47,7 +47,7 @@ paths: explode: true schema: type: string - - name: fields + - name: Fields in: query description: Complex attributes to be included into the response. See clause @@ -57,7 +57,7 @@ paths: explode: true schema: type: string - - name: exclude_fields + - name: Exclude_fields in: query description: Complex attributes to be excluded from the response.See clause @@ -67,7 +67,7 @@ paths: explode: true schema: type: string - - name: exclude_default + - name: Exclude_default in: query description: Indicates to exclude the following complex attributes from the @@ -147,46 +147,43 @@ paths: - name: filter in: query description: - Attribute-based filtering parameters according to ETSI GS MEC - 011 + Attribute-based filtering parameters, according to ETSI GS MEC 009, use the format (op,attr,value) required: false style: form explode: true schema: type: string - - name: all_fields + - name: All_fields in: query - description: Include all complex attributes in the response. + description: Include all complex attributes in the response.e.g., All_Fields. required: false style: form explode: true schema: type: string - - name: fields + - name: Fields in: query description: - Complex attributes to be included into the response. See clause - 6.18 in ETSI GS MEC 011 + Complex attributes to be included in the response (see Clause 6.18 in ETSI GS MEC 009), e.g., att or att/subatt. required: false style: form explode: true schema: type: string - - name: exclude_fields + - name: Exclude_fields in: query description: - Complex attributes to be excluded from the response.See clause - 6.18 in ETSI GS MEC 011 + Complex attributes to be excluded in the response (see Clause 6.18 in ETSI GS MEC 009), e.g., att or att/subatt. required: false style: form explode: true schema: type: string - - name: exclude_default + - name: Exclude_default in: query description: Indicates to exclude the following complex attributes from the - response See clause 6.18 in ETSI GS MEC 011 for details. + response See clause 6.18 in ETSI GS MEC 009 for details. required: false style: form explode: true -- GitLab From b3f23447e22e480a070d250d23cfa285e3fed528 Mon Sep 17 00:00:00 2001 From: Ikram Ul Haq <ikram.haq@xflowresearch.com> Date: Tue, 11 Feb 2025 10:48:17 +0000 Subject: [PATCH 2/3] Add Service Provisioning, EEC Registration, and ECS Discovery OAS in app-support --- config/api/app-support.yaml | 1160 +++++++++++++++++++++++++++++++++++ 1 file changed, 1160 insertions(+) diff --git a/config/api/app-support.yaml b/config/api/app-support.yaml index 8aa6e9f..7a14138 100644 --- a/config/api/app-support.yaml +++ b/config/api/app-support.yaml @@ -23,6 +23,7 @@ servers: tags: - name: mec_app_support - name: unsupported + - name: Service Provisioning, EEC Registration, and EAS Discovery - name: callbacks paths: /applications/{appInstanceId}/traffic_rules: @@ -1513,6 +1514,486 @@ paths: description: Empty schema deprecated: false parameters: [] + + /request: + post: + summary: Request service provisioning information. + operationId: RequestServProv + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + eecId: + type: string + example: "string" + ueId: + type: string + example: "string" + acProfs: + type: array + items: + type: object + properties: + acId: + type: string + example: "string" + acType: + type: string + example: "string" + eecSvcContSupp: + type: array + items: + type: string + enum: + - EEC_INITIATED + - EEC_EXECUTED_VIA_SOURCE_EES + example: ["EEC_INITIATED", "EEC_EXECUTED_VIA_SOURCE_EES"] + locInf: + type: object + properties: + geographicArea: + type: object + properties: + point: + type: object + properties: + point: + type: object + properties: + lon: + type: number + format: float + example: 7.4200 + lat: + type: number + format: float + example: 43.7356 + shape: + type: string + example: "POINT" + required: + - eecId + responses: + '200': + description: > + OK (The requested service provisioning information was returned successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/ECSServProvResp' + "204": + description: Successful response sent when there is no need to provide a + new liveness interval value to the service Instance. + content: {} + "400": + description: "It is used to indicate that incorrect parameters were passed\ + \ to the request. In the returned ProblemDetails structure, the \"detail\"\ + \ attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: The operation is not allowed given the current status of the + resource. More information shall be provided in the "detail" attribute + of the "ProblemDetails" structure. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "404": + description: "It is used when a client provided a URI that cannot be mapped\ + \ to a valid resource URI. In the returned ProblemDetails structure, the\ + \ \"detail\" attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "409": + description: The operation is not allowed due to a conflict with the state + of the resource. The MEC platform shall respond with this code if the + service instance is in "INACTIVE" state. More information shall be provided + in the "detail" attribute of the "ProblemDetails" structure. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "412": + description: "It is used when a condition has failed during conditional\ + \ requests, e.g. when using ETags to avoid write conflicts. In the returned\ + \ ProblemDetails structure, the \"detail\" attribute should convey more\ + \ information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + servers: + - url: https://localhost/sandboxname/eecs-serviceprovisioning/v1 + + /registration: + post: + operationId: CreateEECReg + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + description: Create a new EEC registration at the EES. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + eecId: + type: string + example: "string" + ueId: + type: string + example: "ue-67890" + acProfs: + type: array + items: + type: object + properties: + acId: + type: string + example: "string" + acType: + type: string + example: "string" + expTime: + type: string + format: date-time + example: "2025-01-31T15:04:05Z" + eecSvcContSupp: + type: array + items: + type: string + enum: + - EEC_INITIATED + - SOURCE_EAS_DECIDED + example: ["EEC_INITIATED", "SOURCE_EAS_DECIDED"] + eecCntxId: + type: string + example: "string" + srcEesId: + type: string + example: "mep1" + endPt: + type: object + properties: + uri: + type: string + example: "http://172.30.225.7/sbx2cmq8bn/mep1" + ueMobilityReq: + type: boolean + example: true + easSelReqInd: + type: boolean + example: false + ueType: + type: string + example: "NORMAL_UE" + required: + - eecId + responses: + '201': + description: Created (EEC information is registered successfully at EES). + content: + application/json: + schema: + type: object + properties: + RegistrationID: + type: string + description: Identifier of the EEC registration. + ExpirationTime: + type: string + format: date-time + description: Expiration time of the registration. + EECContextID: + type: string + description: Identifier of the EEC context information available at the EES. + EECContextRelocationStatus: + type: boolean + description: Indicates whether the EEC context retrieval from the source EES was successful. + DiscoveredEASList: + type: array + items: + $ref: '#/components/schemas/EASProfile' + "204": + description: Successful response sent when there is no need to provide a + new liveness interval value to the service Instance. + content: {} + "400": + description: "It is used to indicate that incorrect parameters were passed\ + \ to the request. In the returned ProblemDetails structure, the \"detail\"\ + \ attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: The operation is not allowed given the current status of the + resource. More information shall be provided in the "detail" attribute + of the "ProblemDetails" structure. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "404": + description: "It is used when a client provided a URI that cannot be mapped\ + \ to a valid resource URI. In the returned ProblemDetails structure, the\ + \ \"detail\" attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "409": + description: The operation is not allowed due to a conflict with the state + of the resource. The MEC platform shall respond with this code if the + service instance is in "INACTIVE" state. More information shall be provided + in the "detail" attribute of the "ProblemDetails" structure. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "412": + description: "It is used when a condition has failed during conditional\ + \ requests, e.g. when using ETags to avoid write conflicts. In the returned\ + \ ProblemDetails structure, the \"detail\" attribute should convey more\ + \ information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + servers: + - url: https://localhost/sandboxname/eees-eecregistration/v1 + + /registration/{registrationId}: + get: + summary: Retrieve EEC Registration Details + operationId: getRegistrationDetails + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + responses: + '200': + description: Successful retrieval of EEC registration details. + content: + application/json: + schema: + type: object + properties: + RegistrationID: + type: string + description: Identifier of the EEC registration. + ExpirationTime: + type: string + format: date-time + description: Expiration time of the registration. + EECContextID: + type: string + description: Identifier of the EEC context information available at the EES. + EECContextRelocationStatus: + type: boolean + description: Indicates whether the EEC context retrieval from the source EES was successful. + DiscoveredEASList: + type: array + items: + $ref: '#/components/schemas/EASProfile' + '404': + description: EEC registration not found. + '400': + description: Invalid registration ID supplied. + '500': + description: Internal server error. + put: + summary: EEC Registration Update Request via PUT + operationId: updateRegistrationPut + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + acProfs: + type: array + items: + $ref: '#/components/schemas/ACProfile' + description: Profiles of ACs for which the EEC provides edge enabling services. + expTime: + $ref: '#/components/schemas/DateTime' + ueMobilityReq: + type: boolean + description: > + Set to true to indicate that UE Mobility support is required. + Set to false to indicate that UE mobility support is not required. + The default value when omitted is false. + responses: + "200": + description: Successful registration update response via PUT + content: + application/json: + schema: + type: object + properties: + expirationTime: + type: string + format: date-time + description: Expiration time of the registration. + unfulfilledACInfo: + type: array + description: List of unfulfilled AC information. + items: + type: object + properties: + acid: + type: string + description: Application Identifier. + reason: + type: string + description: Reason indicating the cause (e.g., EAS not available). + "204": + description: Successful response sent when there is no need to provide a + new liveness interval value to the service Instance. + content: {} + "400": + description: "It is used to indicate that incorrect parameters were passed\ + \ to the request. In the returned ProblemDetails structure, the \"detail\"\ + \ attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: The operation is not allowed given the current status of the + resource. More information shall be provided in the "detail" attribute + of the "ProblemDetails" structure. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "404": + description: "It is used when a client provided a URI that cannot be mapped\ + \ to a valid resource URI. In the returned ProblemDetails structure, the\ + \ \"detail\" attribute should convey more information about the error." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + + delete: + operationId: DeleteIndEECReg + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + description: Remove an existing EEC registration at EES. + parameters: + - name: registrationId + in: path + description: Identifies an individual EEC registration. + required: true + schema: + type: string + responses: + '204': + description: > + No Content (An individual EEC registration resource deleted successfully). + servers: + - url: https://localhost/sandboxname/eees-eecregistration/v1 + + /eas-profiles/request-discovery: + post: + description: > + Provides EAS information requested by the service consumer (i.e. EEC, EAS or EES). + operationId: GetEASDiscInfo + tags: + - Service Provisioning, EEC Registration, and EAS Discovery + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + requestorId: + type: object + properties: + eesId: + type: string + example: "string" + eecId: + type: string + example: "string" + oneOf: + - required: ["eesId"] + - required: ["eecId"] + ueId: + type: string + example: "string" + easDiscoveryFilter: + type: object + properties: + acChars: + type: array + items: + type: object + properties: + acProf: + type: object + properties: + acId: + type: string + example: "string" + acType: + type: string + example: "string" + eecSvcContinuity: + type: array + items: + type: string + example: ["EEC_INITIATED", "string"] + locInf: + type: object + description: "Location information. Define properties as required." + example: {} + predictExpTime: + type: string + format: date-time + example: "2025-02-04T09:49:01.348Z" + required: + - requestorId + responses: + '200': + description: > + OK (The requested EAS discovery information was returned successfully). + content: + application/json: + schema: + $ref: '#/components/schemas/EasDiscoveryResp' + + servers: + - url: https://localhost/sandboxname/eees-easdiscovery/v1 /timing/timing_caps: get: tags: @@ -1619,6 +2100,685 @@ paths: parameters: [] components: schemas: + EasDiscoveryResp: + description: EAS discovery response. + type: object + properties: + discoveredEas: + type: array + items: + $ref: '#/components/schemas/DiscoveredEas' + description: List of EAS discovery information. + required: + - discoveredEas + DiscoveredEas: + description: Represents an EAS discovery information. + type: object + properties: + eas: + $ref: '#/components/schemas/EASProfile' + eesEndPt: + $ref: '#/components/schemas/EndPoint' + lifeTime: + $ref: '#/components/schemas/DateTime' + required: + - eas + EasDiscoveryReq: + description: EAS discovery request information. + type: object + properties: + requestorId: + $ref: '#/components/schemas/RequestorId' + ueId: + $ref: '#/components/schemas/Gpsi' + easDiscoveryFilter: + $ref: '#/components/schemas/EasDiscoveryFilter' + eecSvcContinuity: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which ACR + scenarios are supported by the EEC. + eesSvcContinuity: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + description: > + Indicates if the EES supports service continuity or not, also indicates which ACR + scenarios are supported by the EES. + easSvcContinuity: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + description: > + Indicates if the EAS supports service continuity or not, also indicates which ACR + scenarios are supported by the EAS. + locInf: + $ref: '#/components/schemas/LocationInfo' + easSelSupInd: + type: boolean + description: > + Indicates if the EEC requires the EAS selection support from the EES (e.g., for + constrained device). The default value false indicates the EAS selection is not + required from the EES. + suppFeat: + $ref: '#/components/schemas/SupportedFeatures' + easIntTrigSup: + type: boolean + description: > + Indicates to the EES whether the EAS instantiation triggering should be performed for + the current request. The default value false indicates the EAS instantiation triggering + should not be performed. The true value indicate the EAS instantiation triggering should + be performed. + predictExpTime: + $ref: '#/components/schemas/DateTime' + required: + - requestorId + + EasDiscoveryFilter: + description: Represents the EAS characteristics. + type: object + properties: + acChars: + type: array + items: + $ref: '#/components/schemas/ACCharacteristics' + minItems: 1 + description: AC description for which an EAS is needed. + ACCharacteristics: + description: Represents EAS dynamic information changes filter. + type: object + properties: + acProf: + $ref: '#/components/schemas/ACProfile' + required: + - acProf + RequestorId: + description: Represents identifier of the requestor. + type: object + properties: + eesId: + type: string + description: The identifier of the EES (e.g. S-EES). + easId: + type: string + description: The application identifier of the EAS (e.g. S-EAS), e.g. FQDN, URI. + eecId: + type: string + description: The identifier of the EEC. + oneOf: + - required: [eesId] + - required: [easId] + - required: [eecId] + + EASProfile: + type: object + required: + - easId + - endPt + - acIds + - scheds + - permLvl + - easFeats + - svcContSupp + - appLocs + properties: + easId: + description: The identifier of the EAS + type: string + example: + appName + endPt: + $ref: '#/components/schemas/EndPoint' + acIds: + type: array + items: + type: string + minItems: 1 + description: Identities of the Application Clients that can be served by the EAS + provId: + type: string + description: Identifier of the ASP that provides the EAS. + example: + appProvider1 + type: + description: The category or type of EAS. + type: string + scheds: + type: array + items: + type: string + minItems: 1 + description: The availability schedule of the EAS. + svcArea: + type: string + description: >- + The list of geographical and topological areas that the EAS serves. ACs in the UE that are outside the area will not be served. + svcKpi: + type: string + description: Service characteristics provided by the EAS. + permLvl: + type: array + items: + type: string + minItems: 1 + description: level of service permissions supported by the EAS. + easFeats: + type: array + items: + type: string + minItems: 1 + description: Service features supported by the EAS. + svcContSupp: + type: array + items: + type: string + minItems: 1 + description: The ACR scenarios supported by the EAS for service continuity. + appLocs: + type: array + items: + type: string + minItems: 1 + description: >- + List of DNAI(s) and the N6 traffic information associated with the EAS. + avlRep: + type: integer + description: >- + The period indicating to the EES, how often the EES needs to check the EAS's availability after a successful registration. + example: + 1577836800 + status: + type: string + description: 'EAS status information. ' + + EECRegistration: + description: Describes the parameters to perform EEC Registration related operations. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: '#/components/schemas/Gpsi' + acProfs: + type: array + items: + $ref: '#/components/schemas/ACProfile' + description: Profiles of ACs for which the EEC provides edge enabling services. + expTime: + $ref: '#/components/schemas/DateTime' + eecSvcContSupp: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + description: Profiles of ACs for which the EEC provides edge enabling services. + eecCntxId: + type: string + description: Identifier of the EEC context obtained from a previous registration. + srcEesId: + type: string + description: Identifier of the EES that provided EEC context ID. + endPt: + $ref: '#/components/schemas/EndPoint' + ueMobilityReq: + type: boolean + description: > + Set to true to indicate that UE Mobility support is required. + Set to false to indicate that UE mobility support is not required. + The default value when omitted is false. + easSelReqInd: + type: boolean + description: > + Set to true to indicate the EES support for EAS selection. + Set to false to indicate the EES shall not select the EAS. + The default value when omitted is false. + ueType: + $ref: '#/components/schemas/DeviceType' + required: + - eecId + DeviceType: + anyOf: + - type: string + enum: + - CONSTRAINED_UE + - NORMAL_UE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: > + Represents the UE type. + Possible values are: + - CONSTRAINED_UE: Indicates UE is constrained with resources like power, processor etc. + - NORMAL_UE: Indicates UE is not constrained with resources. + ECSServProvReq: + description: ECS service provisioning request information. + type: object + properties: + eecId: + type: string + description: Represents a unique identifier of the EEC. + ueId: + $ref: '#/components/schemas/Gpsi' + acProfs: + type: array + items: + $ref: '#/components/schemas/ACProfile' + description: Information about services the EEC wants to connect to. + appInfo: + type: array + items: + $ref: '#/components/schemas/ApplicationInfo' + minItems: 1 + description: Information about the list of services the EEC wants to connect. + eecSvcContSupp: + type: array + items: + $ref: '#/components/schemas/ACRScenario' + description: > + Indicates if the EEC supports service continuity or not, also indicates which + ACR scenarios are supported by the EEC. + locInf: + $ref: '#/components/schemas/LocationInfo' + ecspIds: + type: array + items: + type: string + minItems: 1 + description: Indicates to the ECS which EES providers are preferred by the EEC. + suppFeat: + $ref: '#/components/schemas/SupportedFeatures' + required: + - eecId + + ECSServProvResp: + description: ECS service provisioning response information. + type: object + properties: + ednCnfgInfo: + type: array + items: + $ref: '#/components/schemas/EDNConfigInfo' + minItems: 1 + description: List of EDN configuration information. + required: + - ednCnfgInfo + + SupportedFeatures: + type: string + pattern: '^[A-Fa-f0-9]*$' + description: > + A string used to indicate the features supported by an API that is used as defined in clause + 6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in + hexadecimal representation Each character in the string shall take a value of "0" to "9", + "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in + table 5.2.2-3. The most significant character representing the highest-numbered features + shall appear first in the string, and the character representing features 1 to 4 + shall appear last in the string. The list of features and their numbering (starting with 1) + are defined separately for each API. If the string contains a lower number of characters + than there are defined features for an API, all features that would be represented by + characters that are not present in the string are not supported. + + LocationInfo: + description: Represents the user location information. + type: object + properties: + geographicArea: + $ref: '#/components/schemas/GeographicArea' + + GeographicArea: + description: Geographic area specified by different shape. + anyOf: + - $ref: '#/components/schemas/Point' + Point: + description: Ellipsoid Point. + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + GeographicalCoordinates: + description: Geographical coordinates. + type: object + required: + - lon + - lat + properties: + lon: + type: number + format: double + minimum: -180 + maximum: 180 + lat: + type: number + format: double + minimum: -90 + maximum: 90 + GADShape: + description: Common base type for GAD shapes. + type: object + required: + - shape + properties: + shape: + $ref: '#/components/schemas/SupportedGADShapes' + discriminator: + propertyName: shape + mapping: + POINT: '#/components/schemas/Point' + POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle' + POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse' + POLYGON: '#/components/schemas/Polygon' + POINT_ALTITUDE: '#/components/schemas/PointAltitude' + POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty' + ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc' + LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/Local2dPointUncertaintyEllipse' + LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID: '#/components/schemas/Local3dPointUncertaintyEllipsoid' + SupportedGADShapes: + description: Indicates supported GAD shapes. + anyOf: + - type: string + enum: + - POINT + - POINT_UNCERTAINTY_CIRCLE + - POINT_UNCERTAINTY_ELLIPSE + - POLYGON + - POINT_ALTITUDE + - POINT_ALTITUDE_UNCERTAINTY + - ELLIPSOID_ARC + - LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE + - LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID + - DISTANCE_DIRECTION + - RELATIVE_2D_LOCATION_UNCERTAINTY_ELLIPSE + - RELATIVE_3D_LOCATION_UNCERTAINTY_ELLIPSOID + - type: string + + Gpsi: + type: string + pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + description: > + String identifying a Gpsi shall contain either an External Id or an MSISDN. + It shall be formatted as follows -External Identifier= "extid-'extid', where 'extid' + shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an + External Identifier. + + + ACProfile: + description: AC information indicating required services and service characteristics. + type: object + properties: + acId: + type: string + description: Identity of the AC. + acType: + type: string + description: The category or type of AC. + prefEcsps: + type: array + items: + type: string + description: Indicates to the ECS which ECSPs are preferred for the AC. + simInactTime: + $ref: '#/components/schemas/DurationSec' + eass: + type: array + items: + $ref: '#/components/schemas/EasDetail' + minItems: 1 + description: List of EAS information. + # easBundleInfos: + # type: array + # items: + # $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + # minItems: 1 + # description: > + # List of EAS bundles to which the EAS (identified via the "easId" attribute) belongs. + required: + - acId + + EasDetail: + description: EAS details. + type: object + properties: + easId: + type: string + description: Application identifier of the EAS. + required: + - easId + + DurationSec: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds. + + + ApplicationInfo: + description: Represents the services the EEC wants to connect. + type: object + properties: + acProf: + $ref: '#/components/schemas/ACProfile' + appGroupProfile: + $ref: '#/components/schemas/AppGroupProfile' + required: + - acProf + + ACRScenario: + anyOf: + - type: string + enum: + - EEC_INITIATED + - EEC_EXECUTED_VIA_SOURCE_EES + - EEC_EXECUTED_VIA_TARGET_EES + - SOURCE_EAS_DECIDED + - SOURCE_EES_EXECUTED + - EEL_MANAGED_ACR + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Represents the ACR scenarios supported by EES. + Possible values are: + - EEC_INITIATED: Represents the EEC initiated ACR scenario. + - EEC_EXECUTED_VIA_SOURCE_EES: Represents the EEC ACR scenario executed via the S-EES. + - EEC_EXECUTED_VIA_TARGET_EES: Represents the EEC ACR scenario executed via the T-EES. + - SOURCE_EAS_DECIDED: Represents the EEC ACR scenario where the S-EAS decides to perform + ACR. + - SOURCE_EES_EXECUTED: Represents the EEC ACR scenario where S-EES executes the ACR. + - EEL_MANAGED_ACR: Represents the EEC ACR scenario where the ACR is managed by the + Edge Enabler Layer. + AppGroupProfile: + description: Represents the application group profile for common EAS. + type: object + properties: + appGrpId: + type: string + description: Represents the application group that uniquely identifies + the group of UEs using the same application. + easId: + type: string + description: Represents the application identifier of the EAS. + required: + - appGrpId + - easId + + EDNConfigInfo: + description: Represents the EDN configuration information. + type: object + properties: + ednConInfo: + $ref: '#/components/schemas/EDNConInfo' + eess: + type: array + items: + $ref: '#/components/schemas/EESInfo' + minItems: 1 + description: Contains the list of EESs of the EDN. + lifeTime: + $ref: '#/components/schemas/DateTime' + required: + - ednConInfo + - eess + + + EDNConInfo: + description: Represents an EDN connection information. + type: object + properties: + dnn: + $ref: '#/components/schemas/Dnn' + # snssai: + # $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + # ednTopoSrvArea: + # $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + + Dnn: + type: string + description: > + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the Network + Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. + It shall be coded as string in which the labels are separated by dots + (e.g. "Label1.Label2.Label3"). + + DateTime: + format: date-time + type: string + description: string with format "date-time" as defined in OpenAPI. + + + EESInfo: + description: Represents EES information. + type: object + properties: + eesId: + type: string + description: Identity of the EES. + endPt: + $ref: '#/components/schemas/EndPoint' + easIds: + type: array + items: + type: string + description: > + Application identities of the Edge Application Servers registered + with the EES. + eecRegConf: + type: boolean + description: > + Indicates whether the EEC is required to register on the EES to use edge services + or not. + required: + - eesId + - eecRegConf + Fqdn: + description: Fully Qualified Domain Name + type: string + pattern: '^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\.)+[A-Za-z]{2,63}\.?$' + minLength: 4 + maxLength: 253 + + Ipv6Addr: + type: string + description: > + string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. + The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. + Uri: + type: string + description: string providing an URI formatted according to IETF RFC 3986. + Ipv4Addr: + type: string + description: > + string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in + IETF RFC 1166. + EndPoint: + type: object + description: The end point information to reach EAS. + properties: + fqdn: + $ref: '#/components/schemas/Fqdn' + ipv4Addrs: + type: array + items: + $ref: '#/components/schemas/Ipv4Addr' + minItems: 1 + description: IPv4 addresses of the edge server. + ipv6Addrs: + type: array + items: + $ref: '#/components/schemas/Ipv6Addr' + minItems: 1 + description: IPv6 addresses of the edge server. + uri: + $ref: '#/components/schemas/Uri' + oneOf: + - required: [uri] + - required: [fqdn] + - required: [ipv4Addrs] + - required: [ipv6Addrs] + + InvalidParam: + description: > + Represents the description of invalid parameters, for a request rejected due to invalid + parameters. + type: object + properties: + param: + type: string + description: Attribute's name encoded as a JSON Pointer, or header's name. + reason: + type: string + description: A human-readable reason, e.g. "must be a positive integer". + required: + - param + + # EASBundleDetail: + # description: Represents details of EAS Bundle. + # type: object + # properties: + # easId: + # type: string + # description: > + # Application identity of the Edge Application Servers registered with the EES. + # easBundleInfos: + # type: array + # items: + # $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EASBundleInfo' + # minItems: 1 + # description: List of EAS bundles to which the EAS belongs. + # required: + # - easId + # - easBundleInfos + EesAuthMethod: + anyOf: + - type: string + enum: + - TLS_CLIENT_SERVER_CERTIFICATE + - TLS_WITH_AKMA + - TLS_WITH_GBA + - SERVER_SIDE_CERTIFICATE_BASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration and is not used to encode + content defined in the present version of this API. + description: | + Represents the Authentication methods supported by EES. + Possible values are: + - TLS_CLIENT_SERVER_CERTIFICATE: Represents TLS with client server certificate + authentication. + - TLS_WITH_AKMA: Represents TLS with AKMA authentication. + - TLS_WITH_GBA: Represents TLS with GBA authentication. + - SERVER_SIDE_CERTIFICATE_BASED: Represents server side certification only. + AppReadyConfirmation: title: AppReadyConfirmation required: -- GitLab From c016b7f1891dc3d0d9ba860b356f19507d44ffde Mon Sep 17 00:00:00 2001 From: Umair Khan <umair.anwar@xflowresearch.com> Date: Mon, 24 Feb 2025 06:46:12 +0000 Subject: [PATCH 3/3] Minor change in MEC 021 App Mobility GET resource filter parameters description --- config/api/ams-api.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/api/ams-api.yaml b/config/api/ams-api.yaml index 88a2798..aead8b5 100644 --- a/config/api/ams-api.yaml +++ b/config/api/ams-api.yaml @@ -147,7 +147,8 @@ paths: - name: filter in: query description: - Attribute-based filtering parameters, according to ETSI GS MEC 009, use the format (op,attr,value) + Attribute-based filtering parameters, according to ETSI GS MEC 009, use the format (op,attr,value), + e.g., (eq, appMobilityServiceId, value) or (gt, serviceConsumerId/appInstanceId, value) required: false style: form explode: true @@ -183,7 +184,7 @@ paths: in: query description: Indicates to exclude the following complex attributes from the - response See clause 6.18 in ETSI GS MEC 009 for details. + response (See clause 6.18 in ETSI GS MEC 009 for details). required: false style: form explode: true -- GitLab