From 9bc7abec5b61388a1ddbfd4331e8ce0a135a2402 Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Mon, 11 Nov 2024 18:58:24 +0000 Subject: [PATCH 01/13] Initial Commit of application end point registration API yaml --- .../Application-endpoint-registration.yaml | 372 ++++++++++++++++++ 1 file changed, 372 insertions(+) create mode 100644 code/API_definitions/Application-endpoint-registration.yaml diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml new file mode 100644 index 0000000..55c433e --- /dev/null +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -0,0 +1,372 @@ +openapi: 3.0.3 +info: + title: Application Endpoint Registration API + version: 0.1.0 + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + description: | + Application endpoint registration allows application developers to register + one or more Application Endpoints, and retrieve, update,and delete those registrations. + This information can we used for various usecases like optimal end point discovery to help end users connect to the most most optimal instance of the application. Addtionally the information can be used to also monitor the different instance to take decisions from a lifecycle mangement perspective. + + ### Authorization and authentication + + The "Camara Security and Interoperability Profile" provides details on how a client requests an access token. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the Profile. + + Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation. + + It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control. + + x-camara-commonalities: 0.4.0 + +servers: + - url: "{apiRoot}/application-endpoint-registration/v0.1" + variables: + apiRoot: + default: http://localhost:9091 + description: | + API root, defined by service provider, e.g. + `api.example.com` or `api.example.com/somepath` + +tags: + - name: Application Endpoint Registration + description: | + Operations to register, read and manage an deployed instances of the application. + +paths: + /application-endpoints: + post: + operationId: register-application-endpoints + requestBody: + description: Array of Application Endpoints for a + deployed application + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ApplicationInstance" + responses: + "200": + description: Returns a applicationEndpointsId + content: + application/json: + schema: + $ref: "#/components/schemas/TypesApplicationEndpointsId" + "401": + $ref: "#/components/responses/Unauthorized" + default: + $ref: "#/components/responses/Unexpected" + tags: + - Application Endpoint Registration + summary: Register Application Endpoints + description: Register Application Endpoints of a + deployed application to specified edge cloud zone. + + "/application-endpoints/{applicationEndpointsId}": + parameters: + - name: applicationEndpointsId + in: path + required: true + description: applicationEndpointsId param //added desc + schema: + $ref: "#/components/schemas/TypesApplicationEndpointsId" + get: + operationId: get-application-endpoints-by-applicationEndpointsId + responses: + "200": + description: Arry of registered Application Endpoints + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ApplicationInstance" + "400": + $ref: "#/components/responses/BadRequest" + "401": + $ref: "#/components/responses/Unauthorized" + "404": + $ref: "#/components/responses/NotFound" + default: + $ref: "#/components/responses/Unexpected" + tags: + - Application Endpoint Registration + summary: Get registered edge application endpoint information + description: Returns endpoint information for all + Application Endpoints registered to a + specified applicationEndpointId. + put: + operationId: update-application-endpoint + requestBody: + description: application Endpoint information + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ApplicationInstance" + responses: + "204": + $ref: "#/components/responses/NoContent" + "401": + $ref: "#/components/responses/Unauthorized" + "404": + $ref: "#/components/responses/NotFound" + default: + $ref: "#/components/responses/Unexpected" + tags: + - Application Endpoint Registration + summary: Update a application Endpoint + description: Update registered application Endpoint information. + delete: + operationId: deregister-application-endpoint + responses: + "204": + $ref: "#/components/responses/NoContent" + "400": + $ref: "#/components/responses/BadRequest" + "401": + $ref: "#/components/responses/Unauthorized" + "404": + $ref: "#/components/responses/NotFound" + default: + $ref: "#/components/responses/Unexpected" + tags: + - Application Endpoint Registration + summary: Deregister an application's application Endpoint + description: Deregister an application's application + Endpoint from the edge cloud zone. +components: + securitySchemes: + openId: + description: OpenID Provider Configuration Information + type: openIdConnect + openIdConnectUrl: https://example.com/.well-known/openid-configuration + headers: + x-correlator: + description: Correlation id for the different services + schema: + type: string + + schemas: + ApplicationInstance: + description: Application instance represented + by application Endpoint definition + type: object + properties: + applicationEndpointsId: + $ref: "#/components/schemas/TypesApplicationEndpointsId" + applicationEndpoint: + $ref: "#/components/schemas/ResourcesapplicationEndpoint" + applicationServerProviderName: + type: string + description: Unique ID representing the Edge + Application Provider + applicationId: + type: string + description: Unique ID representing the Edge Application + applicationDescription: + type: string + description: Description of the application Endpoint + additionalProperties: false + applicationProfileId: + $ref: "#/components/schemas/TypesApplicationProfileId" + edgeCloudZoneId: + $ref: "#/components/schemas/EdgeCloudZoneId" + edgeCloudZoneName: + $ref: "#/components/schemas/EdgeCloudZoneName" + edgeCloudProvider: + $ref: "#/components/schemas/EdgeCloudProvider" + edgeCloudRegionId: + $ref: "#/components/schemas/EdgeCloudRegionName" + ResourcesapplicationEndpoint: + type: object + description: applicationEndpoint//added desc + properties: + uri: + type: string + description: URI of application Endpoint if available + format: uri + fqdn: + type: string + description: FQDN of application Endpoint if available + ipv4Address: + type: string + description: IPv4 Address of application Endpoint if available + format: ipv4 + ipv6Address: + type: string + description: IPv6 Address of application Endpoint if available + format: ipv6 + port: + type: integer + description: | + Port information of application Endpoint + if IPv4 or IPv6 is mentioned + additionalProperties: false + EdgeCloudZoneId: + description: | + Operator-issued UUID for the Edge Cloud Zone. + type: string + format: uuid + additionalProperties: false + EdgeCloudZoneName: + description: | + Edge Cloud Zone Name - the common name for the Edge Cloud Zone. + type: string + additionalProperties: false + EdgeCloudProvider: + description: | + The company name of the Edge Cloud Zone provider. + type: string + EdgeCloudRegionName: + description: | + region of the Edge Cloud Zone. + type: string + TypesApplicationEndpointsId: + description: | + A system-defined string identifier representing + one or more registered Application Endpoints. + type: string + format: uuid + readOnly: true + additionalProperties: false + TypesApplicationProfileId: + description: | + Unique identifier for a Application Profile + type: string + readOnly: false + additionalProperties: false + TypesError: + type: object + description: types Error//added desc + properties: + code: + type: string + description: code //added desc + message: + type: string + description: message //added desc + ErrorInfo: + type: object + description: Error information + required: + - status + - code + - message + properties: + status: + type: integer + description: HTTP status code returned along with this error response + code: + type: string + description: Code given to this error + message: + type: string + description: Detailed error description + + responses: + NoContent: + description: HTTP 204 No Content + BadRequest: + description: HTTP 400 Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/TypesError" + NotFound: + description: HTTP 404 The specified resource was not found + content: + application/json: + schema: + $ref: "#/components/schemas/TypesError" + Unauthorized: + description: HTTP 401 Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/TypesError" + Unexpected: + description: HTTP 500 Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/TypesError" + Generic400: + description: Invalid argument + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 400 + code: INVALID_ARGUMENT + message: "Invalid argument" + + Generic401: + description: Unauthenticated + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 401 + code: UNAUTHENTICATED + message: "Authorization failed: ..." + + Generic403: + description: Permission denied + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 403 + code: PERMISSION_DENIED + message: "Operation not allowed: ..." + + Generic404: + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 404 + code: NOT_FOUND + message: "The specified resource is not found" + + Generic409: + description: Conflict + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 409 + code: Conflict + message: "There is conflict in the request" + + Generic500: + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 500 + code: INTERNAL + message: "Internal server error" + + Generic503: + description: application unavailable + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + example: + status: 503 + code: UNAVAILABLE + message: "application unavailable" \ No newline at end of file From 271930ac6db578a05742f96f838f85e651867749 Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:16:24 +0000 Subject: [PATCH 02/13] fixed linting errors --- .../Application-endpoint-registration.yaml | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 55c433e..744726a 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -6,17 +6,36 @@ info: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: | - Application endpoint registration allows application developers to register - one or more Application Endpoints, and retrieve, update,and delete those registrations. - This information can we used for various usecases like optimal end point discovery to help end users connect to the most most optimal instance of the application. Addtionally the information can be used to also monitor the different instance to take decisions from a lifecycle mangement perspective. + Application endpoint registration allows application developers to + register one or more Application Endpoints, and retrieve, update,and + delete those egistrations. + + This information can we used for various usecases like optimal end + point discovery to help end users connect to the most most optimal + instance of the application. Addtionally the information can be used + to also monitor the different instance to take decisions from a lifecycle + mangement perspective. ### Authorization and authentication - The "Camara Security and Interoperability Profile" provides details on how a client requests an access token. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the Profile. + The "Camara Security and Interoperability Profile" provides details on + how a client requests an access token. Please refer to Identify and + Consent Management + (https://github.com/camaraproject/IdentityAndConsentManagement/) + for the released version of the Profile. - Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation. + Which specific authorization flows are to be used will be determined + during onboarding process, happening between the API Client and the + Telco Operator exposing the API, taking into account the declared + purpose for accessing the API, while also being subject to the prevailing + legal framework dictated by local legislation. - It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control. + It is important to remark that in cases where personal user data + is processed by the API, and users can exercise their rights through + mechanisms such as opt-in and/or opt-out, the use of 3-legged access + tokens becomes mandatory. This measure ensures that the API remains in + strict compliance with user privacy preferences and regulatory obligations, + upholding the principles of transparency and user-centric data control. x-camara-commonalities: 0.4.0 @@ -141,9 +160,9 @@ paths: components: securitySchemes: openId: - description: OpenID Provider Configuration Information - type: openIdConnect - openIdConnectUrl: https://example.com/.well-known/openid-configuration + description: OpenID Provider Configuration Information + type: openIdConnect + openIdConnectUrl: https://example.com/.well-known/openid-configuration headers: x-correlator: description: Correlation id for the different services @@ -369,4 +388,4 @@ components: example: status: 503 code: UNAVAILABLE - message: "application unavailable" \ No newline at end of file + message: "application unavailable" From a9c52fbadcbc1a7f3cf8100e0218385d3603c98a Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:20:46 +0000 Subject: [PATCH 03/13] fixed linting errors related to trailing spaces. --- .../Application-endpoint-registration.yaml | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 744726a..116de00 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +---openapi: 3.0.3 info: title: Application Endpoint Registration API version: 0.1.0 @@ -6,35 +6,35 @@ info: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: | - Application endpoint registration allows application developers to - register one or more Application Endpoints, and retrieve, update,and + Application endpoint registration allows application developers to + register one or more Application Endpoints, and retrieve, update,and delete those egistrations. - This information can we used for various usecases like optimal end - point discovery to help end users connect to the most most optimal + This information can we used for various usecases like optimal end + point discovery to help end users connect to the most most optimal instance of the application. Addtionally the information can be used - to also monitor the different instance to take decisions from a lifecycle + to also monitor the different instance to take decisions from a lifecycle mangement perspective. ### Authorization and authentication - The "Camara Security and Interoperability Profile" provides details on - how a client requests an access token. Please refer to Identify and - Consent Management - (https://github.com/camaraproject/IdentityAndConsentManagement/) + The "Camara Security and Interoperability Profile" provides details on + how a client requests an access token. Please refer to Identify and + Consent Management + (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the Profile. Which specific authorization flows are to be used will be determined - during onboarding process, happening between the API Client and the - Telco Operator exposing the API, taking into account the declared + during onboarding process, happening between the API Client and the + Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation. - It is important to remark that in cases where personal user data - is processed by the API, and users can exercise their rights through - mechanisms such as opt-in and/or opt-out, the use of 3-legged access - tokens becomes mandatory. This measure ensures that the API remains in - strict compliance with user privacy preferences and regulatory obligations, + It is important to remark that in cases where personal user data + is processed by the API, and users can exercise their rights through + mechanisms such as opt-in and/or opt-out, the use of 3-legged access + tokens becomes mandatory. This measure ensures that the API remains in + strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control. x-camara-commonalities: 0.4.0 @@ -51,7 +51,8 @@ servers: tags: - name: Application Endpoint Registration description: | - Operations to register, read and manage an deployed instances of the application. + Operations to register, read and manage an deployed instances of the + application. paths: /application-endpoints: From 4482ac694e40c15a77c55683be731e9af830776a Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:25:23 +0000 Subject: [PATCH 04/13] fix for linting error --- code/API_definitions/Application-endpoint-registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 116de00..f85a00a 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -1,4 +1,4 @@ ----openapi: 3.0.3 +openapi: 3.0.3 info: title: Application Endpoint Registration API version: 0.1.0 From c5eb3bde84b53d0cebbeb84ce879c399f3fef49f Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:27:39 +0000 Subject: [PATCH 05/13] trailing spaces removed --- code/API_definitions/Application-endpoint-registration.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index f85a00a..b455cd4 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -12,7 +12,7 @@ info: This information can we used for various usecases like optimal end point discovery to help end users connect to the most most optimal - instance of the application. Addtionally the information can be used + instance of the application. Addtionally the information can be used to also monitor the different instance to take decisions from a lifecycle mangement perspective. @@ -51,7 +51,7 @@ servers: tags: - name: Application Endpoint Registration description: | - Operations to register, read and manage an deployed instances of the + Operations to register, read and manage an deployed instances of the application. paths: From cd1ccff9adb2c85e1d41e17e2f8831f086063cf4 Mon Sep 17 00:00:00 2001 From: urvika-v Date: Mon, 18 Nov 2024 17:55:57 +0000 Subject: [PATCH 06/13] fixing typo --- code/API_definitions/Application-endpoint-registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index b455cd4..7a9d6e1 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -8,7 +8,7 @@ info: description: | Application endpoint registration allows application developers to register one or more Application Endpoints, and retrieve, update,and - delete those egistrations. + delete those registrations. This information can we used for various usecases like optimal end point discovery to help end users connect to the most most optimal From 6eca83f90158774d323091f619d4e147ccf9a329 Mon Sep 17 00:00:00 2001 From: urvika-v Date: Mon, 18 Nov 2024 18:51:51 +0000 Subject: [PATCH 07/13] fixing typo --- code/API_definitions/Application-endpoint-registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 7a9d6e1..8374859 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -14,7 +14,7 @@ info: point discovery to help end users connect to the most most optimal instance of the application. Addtionally the information can be used to also monitor the different instance to take decisions from a lifecycle - mangement perspective. + management perspective. ### Authorization and authentication From e3394e39fe8e25f27ff66097328d16aca56e1eeb Mon Sep 17 00:00:00 2001 From: urvika-v Date: Mon, 25 Nov 2024 16:08:48 +0530 Subject: [PATCH 08/13] Updated Application-endpoint-registration.yaml Updated Error codes,Description,Security Schema, required parameter and added GetAllApplicationEndpoints API --- .../Application-endpoint-registration.yaml | 539 ++++++++++++------ 1 file changed, 379 insertions(+), 160 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 8374859..da89689 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -1,22 +1,45 @@ openapi: 3.0.3 info: - title: Application Endpoint Registration API - version: 0.1.0 - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0.html + title: Application Endpoints Registration description: | - Application endpoint registration allows application developers to - register one or more Application Endpoints, and retrieve, update,and - delete those registrations. + The Application Endpoints Registration API provides a programmable + interface for developers to register the endpoints of an application + which is deployed across various Edge Cloud Zones. + It allows developers to retrieve, update, and delete those registrations. + + # Introduction + + The API registers the Edge Application Endpoint. + This information can be used for various use cases like optimal endpoint + discovery to help end users connect to the most optimal instance of the + application which is distributed across various Edge Cloud Zones. + Additionally the information can be used to monitor the edge instances to + take decisions from a lifecycle management perspective. The API provides + the ability to register, read and manage the deployed edge instances of + the application. + + # Relevant terms and definitions - This information can we used for various usecases like optimal end - point discovery to help end users connect to the most most optimal - instance of the application. Addtionally the information can be used - to also monitor the different instance to take decisions from a lifecycle - management perspective. + * **Application Endpoint**: - ### Authorization and authentication + The Endpoint on which the application is running. + It can be a URI, FQDN, IPv4, or IPv6 address with a port number. + + # API functionality + + The API provides 4 operations: + - POST registerApplicationEndpoints: Registers the Application Endpoints + of a deployed application to a specified edge cloud zone. + - GET getAllRegisteredApplicationEndpoints: Returns endpoint information for all + registered Applications. + - GET getApplicationEndpointsByID: Returns endpoint information for all + Applications registered to a specified applicationEndpointId. + - PUT updateApplicationEndpoint: Update registered application endpoint + information. + - DELETE deregisterApplicationEndpoint: Deregister an application's + application Endpoint from the edge cloud zone. + + # Authorization and authentication The "Camara Security and Interoperability Profile" provides details on how a client requests an access token. Please refer to Identify and @@ -37,7 +60,26 @@ info: strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control. + # Further info and support + + [GSMA Mobile Connect Account Takeover Protection specification] + (https://www.gsma.com/identity/wp-content/uploads/2022/12/IDY.24-Mobile- + \Connect-Account-Takeover-Protection-Definition-and-Technical-Requirements-v2.0.pdf) + was used as source of input for this API. For more about Mobile Connect, + please see [Mobile Connect website](https://mobileconnect.io/). + + (FAQs will be added in a later version of the documentation) + + version: 0.1.0 + contact: + email: sp-edc@lists.camaraproject.org + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html x-camara-commonalities: 0.4.0 +externalDocs: + description: Project documentation at Camara + url: https://github.com/camaraproject/EdgeCloud servers: - url: "{apiRoot}/application-endpoint-registration/v0.1" @@ -51,119 +93,239 @@ servers: tags: - name: Application Endpoint Registration description: | - Operations to register, read and manage an deployed instances of the + Operations to register, read and manage deployed instances of the application. paths: /application-endpoints: post: - operationId: register-application-endpoints + security: + - openId: + - application-endpoint-registration:application-endpoints:write + tags: + - Application Endpoint Registration + summary: Register endpoints of a deployed application + description: | + Register the endpoints of a deployed application + to a specified edge cloud zone. + operationId: registerApplicationEndpoints + parameters: + - $ref: "#/components/parameters/x-correlator" requestBody: description: Array of Application Endpoints for a deployed application + required: true content: application/json: schema: type: array + minItems: 1 items: - $ref: "#/components/schemas/ApplicationInstance" + $ref: "#/components/schemas/ApplicationEndpointRequest" responses: "200": - description: Returns a applicationEndpointsId + description: Returns an applicationEndpointsId + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' content: application/json: schema: - $ref: "#/components/schemas/TypesApplicationEndpointsId" + $ref: "#/components/schemas/ApplicationEndpointsId" + "400": + $ref: "#/components/responses/Generic400" "401": - $ref: "#/components/responses/Unauthorized" - default: - $ref: "#/components/responses/Unexpected" + $ref: "#/components/responses/Generic401" + "403": + $ref: "#/components/responses/Generic403" + "404": + $ref: "#/components/responses/Generic404" + "422": + $ref: "#/components/responses/Generic422" + "500": + $ref: "#/components/responses/Generic500" + "503": + $ref: "#/components/responses/Generic503" + "504": + $ref: "#/components/responses/Generic504" + get: + security: + - openId: + - application-endpoint-registration:application-endpoints:read tags: - Application Endpoint Registration - summary: Register Application Endpoints - description: Register Application Endpoints of a - deployed application to specified edge cloud zone. + summary: Get all registered edge application endpoint information + description: | + Returns endpoint information for all + Application Endpoints registered. + operationId: getAllRegisteredApplicationEndpoints + parameters: + - $ref: "#/components/parameters/x-correlator" + responses: + "200": + description: Array of registered Application Endpoints + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ApplicationEndpoints" + "400": + $ref: "#/components/responses/Generic400" + "401": + $ref: "#/components/responses/Generic401" + "403": + $ref: "#/components/responses/Generic403" + "404": + $ref: "#/components/responses/Generic404" + "422": + $ref: "#/components/responses/Generic422" + "500": + $ref: "#/components/responses/Generic500" + "503": + $ref: "#/components/responses/Generic503" + "504": + $ref: "#/components/responses/Generic504" "/application-endpoints/{applicationEndpointsId}": parameters: - name: applicationEndpointsId in: path required: true - description: applicationEndpointsId param //added desc + description: The unique identifier for the application endpoints schema: - $ref: "#/components/schemas/TypesApplicationEndpointsId" + $ref: "#/components/schemas/ApplicationEndpointsId" + - $ref: "#/components/parameters/x-correlator" get: - operationId: get-application-endpoints-by-applicationEndpointsId + security: + - openId: + - application-endpoint-registration:application-endpoints:read + tags: + - Application Endpoint Registration + summary: Get registered edge application endpoint information + description: | + Returns endpoint information for all + Application Endpoints registered to a + specified applicationEndpointId. + operationId: getApplicationEndpointsById responses: "200": - description: Arry of registered Application Endpoints + description: Array of registered Application Endpoints + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' content: application/json: schema: - type: array - items: - $ref: "#/components/schemas/ApplicationInstance" + $ref: "#/components/schemas/ApplicationEndpoints" "400": - $ref: "#/components/responses/BadRequest" + $ref: "#/components/responses/Generic400" "401": - $ref: "#/components/responses/Unauthorized" + $ref: "#/components/responses/Generic401" + "403": + $ref: "#/components/responses/Generic403" "404": - $ref: "#/components/responses/NotFound" - default: - $ref: "#/components/responses/Unexpected" + $ref: "#/components/responses/Generic404" + "422": + $ref: "#/components/responses/Generic422" + "500": + $ref: "#/components/responses/Generic500" + "503": + $ref: "#/components/responses/Generic503" + "504": + $ref: "#/components/responses/Generic504" + + put: + security: + - openId: + - application-endpoint-registration:application-endpoints:update tags: - Application Endpoint Registration - summary: Get registered edge application endpoint information - description: Returns endpoint information for all - Application Endpoints registered to a - specified applicationEndpointId. - put: - operationId: update-application-endpoint + summary: Update an application Endpoint + description: | + Update registered application Endpoint information. + operationId: updateApplicationEndpoint requestBody: - description: application Endpoint information + description: Application Endpoint information content: application/json: schema: type: array items: - $ref: "#/components/schemas/ApplicationInstance" + $ref: "#/components/schemas/ApplicationEndpointRequest" responses: "204": - $ref: "#/components/responses/NoContent" + description: Updates Application Endpoint Information + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' + "400": + $ref: "#/components/responses/Generic400" "401": - $ref: "#/components/responses/Unauthorized" + $ref: "#/components/responses/Generic401" + "403": + $ref: "#/components/responses/Generic403" "404": - $ref: "#/components/responses/NotFound" - default: - $ref: "#/components/responses/Unexpected" + $ref: "#/components/responses/Generic404" + "422": + $ref: "#/components/responses/Generic422" + "500": + $ref: "#/components/responses/Generic500" + "503": + $ref: "#/components/responses/Generic503" + "504": + $ref: "#/components/responses/Generic504" + + delete: + security: + - openId: + - application-endpoint-registration:application-endpoints:delete tags: - Application Endpoint Registration - summary: Update a application Endpoint - description: Update registered application Endpoint information. - delete: - operationId: deregister-application-endpoint + summary: Deregister an application Endpoint + description: | + Deregister an application's + Endpoint from the edge cloud zone. + operationId: deregisterApplicationEndpoint responses: - "204": - $ref: "#/components/responses/NoContent" + "200": + description: Deregister Application Endpoint + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' "400": - $ref: "#/components/responses/BadRequest" + $ref: "#/components/responses/Generic400" "401": - $ref: "#/components/responses/Unauthorized" + $ref: "#/components/responses/Generic401" + "403": + $ref: "#/components/responses/Generic403" "404": - $ref: "#/components/responses/NotFound" - default: - $ref: "#/components/responses/Unexpected" - tags: - - Application Endpoint Registration - summary: Deregister an application's application Endpoint - description: Deregister an application's application - Endpoint from the edge cloud zone. + $ref: "#/components/responses/Generic404" + "422": + $ref: "#/components/responses/Generic422" + "500": + $ref: "#/components/responses/Generic500" + "503": + $ref: "#/components/responses/Generic503" + "504": + $ref: "#/components/responses/Generic504" + components: securitySchemes: openId: description: OpenID Provider Configuration Information type: openIdConnect openIdConnectUrl: https://example.com/.well-known/openid-configuration + parameters: + x-correlator: + name: x-correlator + in: header + description: Correlation id for the different services + schema: + type: string headers: x-correlator: description: Correlation id for the different services @@ -171,28 +333,22 @@ components: type: string schemas: - ApplicationInstance: + ApplicationEndpointRequest: description: Application instance represented - by application Endpoint definition + by the application Endpoint definition type: object properties: - applicationEndpointsId: - $ref: "#/components/schemas/TypesApplicationEndpointsId" applicationEndpoint: - $ref: "#/components/schemas/ResourcesapplicationEndpoint" + $ref: "#/components/schemas/ResourcesApplicationEndpoint" applicationServerProviderName: type: string description: Unique ID representing the Edge Application Provider - applicationId: - type: string - description: Unique ID representing the Edge Application applicationDescription: type: string description: Description of the application Endpoint - additionalProperties: false applicationProfileId: - $ref: "#/components/schemas/TypesApplicationProfileId" + $ref: "#/components/schemas/ApplicationProfileId" edgeCloudZoneId: $ref: "#/components/schemas/EdgeCloudZoneId" edgeCloudZoneName: @@ -201,9 +357,32 @@ components: $ref: "#/components/schemas/EdgeCloudProvider" edgeCloudRegionId: $ref: "#/components/schemas/EdgeCloudRegionName" - ResourcesapplicationEndpoint: + required: + - applicationEndpoint + - applicationServerProviderName + - applicationProfileId + - edgeCloudZoneId + - edgeCloudZoneName + - edgeCloudProvider + - edgeCloudRegionId + additionalProperties: false + ApplicationEndpoints: + description: | + List of Application endpoints information + deployed across various cloud zones. + properties: + applicationEndpointsId: + $ref: "#/components/schemas/ApplicationEndpointsId" + applicationInstance: + description: | + Application Endpoint Information + type: array + items: + $ref: "#/components/schemas/ApplicationEndpointRequest" + minItems: 0 + ResourcesApplicationEndpoint: type: object - description: applicationEndpoint//added desc + description: Resources of the Application Endpoint properties: uri: type: string @@ -216,15 +395,27 @@ components: type: string description: IPv4 Address of application Endpoint if available format: ipv4 + example: "203.0.113.10" ipv6Address: type: string description: IPv6 Address of application Endpoint if available format: ipv6 + example: 2001:db8:85a3:8d3:1319:8a2e:370:7344 port: type: integer description: | Port information of application Endpoint if IPv4 or IPv6 is mentioned + anyOf: + - required: [fqdn, ipv4Address, port, uri] + - required: [fqdn, ipv6Address, port, uri] + example: + { + "ipv4Address": "203.0.113.0", + "port": 59765, + "fqdn": "app.test.com", + "uri": "http://aap.test.com/v1/test" + } additionalProperties: false EdgeCloudZoneId: description: | @@ -245,7 +436,7 @@ components: description: | region of the Edge Cloud Zone. type: string - TypesApplicationEndpointsId: + ApplicationEndpointsId: description: | A system-defined string identifier representing one or more registered Application Endpoints. @@ -253,25 +444,15 @@ components: format: uuid readOnly: true additionalProperties: false - TypesApplicationProfileId: + ApplicationProfileId: description: | Unique identifier for a Application Profile type: string readOnly: false additionalProperties: false - TypesError: - type: object - description: types Error//added desc - properties: - code: - type: string - description: code //added desc - message: - type: string - description: message //added desc ErrorInfo: + description: Common schema for errors type: object - description: Error information required: - status - code @@ -286,107 +467,145 @@ components: message: type: string description: Detailed error description - responses: - NoContent: - description: HTTP 204 No Content - BadRequest: - description: HTTP 400 Bad Request - content: - application/json: - schema: - $ref: "#/components/schemas/TypesError" - NotFound: - description: HTTP 404 The specified resource was not found - content: - application/json: - schema: - $ref: "#/components/schemas/TypesError" - Unauthorized: - description: HTTP 401 Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/TypesError" - Unexpected: - description: HTTP 500 Internal Server Error - content: - application/json: - schema: - $ref: "#/components/schemas/TypesError" Generic400: - description: Invalid argument + description: Bad Request + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 400 - code: INVALID_ARGUMENT - message: "Invalid argument" - + examples: + GENERIC_400_INVALID_ARGUMENT: + description: Invalid Argument. Generic Syntax Exception + value: + status: 400 + code: INVALID_ARGUMENT + message: Client specified an invalid argument, request body or query param. Generic401: - description: Unauthenticated + description: Unauthorized + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 401 - code: UNAUTHENTICATED - message: "Authorization failed: ..." - + examples: + GENERIC_401_UNAUTHENTICATED: + description: Request cannot be authenticated + value: + status: 401 + code: UNAUTHENTICATED + message: Request not authenticated due to missing, invalid, or expired credentials. Generic403: - description: Permission denied + description: Forbidden + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' content: application/json: schema: - $ref: "#/components/schemas/ErrorInfo" - example: - status: 403 - code: PERMISSION_DENIED - message: "Operation not allowed: ..." - + $ref: '#/components/schemas/ErrorInfo' + examples: + GENERIC_403_PERMISSION_DENIED: + description: Permission denied. OAuth2 token access does not have the required scope or when the user fails operational security + value: + status: 403 + code: PERMISSION_DENIED + message: Client does not have sufficient permissions to perform this action. + GENERIC_403_INVALID_TOKEN_CONTEXT: + description: Reflect some inconsistency between information in some field of the API and the related OAuth2 Token + value: + status: 403 + code: INVALID_TOKEN_CONTEXT + message: applicationProfileId is not consistent with access token Generic404: description: Not found + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 404 - code: NOT_FOUND - message: "The specified resource is not found" - - Generic409: - description: Conflict + examples: + GENERIC_404_NOT_FOUND: + description: Resource is not found + value: + status: 404 + code: NOT_FOUND + message: The specified resource is not found. + Generic422: + description: Unprocessable Content + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 409 - code: Conflict - message: "There is conflict in the request" - + examples: + GENERIC_422_NOT_SUPPORTED: + description: Not Supported + value: + status: 422 + code: NOT_SUPPORTED + message: Service not supported for this applicationProfileId + UNIDENTIFIABLE_APPLICATION_PROFILE: + description: The Application Profile is not included in the request and the profile information cannot be derived from the 3-legged access token + value: + status: 422 + code: UNIDENTIFIABLE_APPLICATION_PROFILE + message: The Application Profile cannot be identified Generic500: - description: Internal server error + description: Internal Server Error + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 500 - code: INTERNAL - message: "Internal server error" - + examples: + GENERIC_500_INTERNAL: + description: Problem in Server side. Regular Server Exception + value: + status: 500 + code: INTERNAL + message: Unknown server error. Typically a server bug. Generic503: - description: application unavailable + description: Service Unavailable + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInfo" + examples: + GENERIC_503_UNAVAILABLE: + description: Service is not available. + Temporary situation usually related to maintenance process in the server side + value: + status: 503 + code: UNAVAILABLE + message: Service Unavailable. + Generic504: + description: Gateway Timeout + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" content: application/json: schema: $ref: "#/components/schemas/ErrorInfo" - example: - status: 503 - code: UNAVAILABLE - message: "application unavailable" + examples: + GENERIC_504_TIMEOUT: + description: API Server Timeout + value: + status: 504 + code: TIMEOUT + message: Request timeout exceeded. From df8f5924f834e4392ecca78a872341dbd6ea1ef0 Mon Sep 17 00:00:00 2001 From: urvika-v Date: Mon, 25 Nov 2024 16:28:08 +0530 Subject: [PATCH 09/13] Update Application-endpoint-registration.yaml Fixed typo --- .../Application-endpoint-registration.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index da89689..d0b5b62 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -64,7 +64,7 @@ info: [GSMA Mobile Connect Account Takeover Protection specification] (https://www.gsma.com/identity/wp-content/uploads/2022/12/IDY.24-Mobile- - \Connect-Account-Takeover-Protection-Definition-and-Technical-Requirements-v2.0.pdf) + Connect-Account-Takeover-Protection-Definition-and-Technical-Requirements-v2.0.pdf) was used as source of input for this API. For more about Mobile Connect, please see [Mobile Connect website](https://mobileconnect.io/). @@ -407,14 +407,14 @@ components: Port information of application Endpoint if IPv4 or IPv6 is mentioned anyOf: - - required: [fqdn, ipv4Address, port, uri] - - required: [fqdn, ipv6Address, port, uri] + - required: [fqdn, ipv4Address, port] + - required: [fqdn, ipv6Address, port] example: { - "ipv4Address": "203.0.113.0", + "ipv4Address": "203.0.113.10", "port": 59765, "fqdn": "app.test.com", - "uri": "http://aap.test.com/v1/test" + "uri": "http://app.test.com/v1/test" } additionalProperties: false EdgeCloudZoneId: From 0af01054123cd14099e3002a0988f0d4cb217833 Mon Sep 17 00:00:00 2001 From: urvika-v Date: Mon, 25 Nov 2024 21:45:26 +0530 Subject: [PATCH 10/13] Update Application-endpoint-registration.yaml --- code/API_definitions/Application-endpoint-registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index d0b5b62..33e4ac8 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -9,7 +9,7 @@ info: # Introduction - The API registers the Edge Application Endpoint. + The API registers the Edge Application Endpoints. This information can be used for various use cases like optimal endpoint discovery to help end users connect to the most optimal instance of the application which is distributed across various Edge Cloud Zones. From 158bfe36372767ccf38cb7a9746162bfe78928b7 Mon Sep 17 00:00:00 2001 From: Mahesh <98130650+maheshc01@users.noreply.github.com> Date: Tue, 26 Nov 2024 03:27:20 +0000 Subject: [PATCH 11/13] fixing linting issues. --- .../Application-endpoint-registration.yaml | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 33e4ac8..08af65b 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -30,8 +30,8 @@ info: The API provides 4 operations: - POST registerApplicationEndpoints: Registers the Application Endpoints of a deployed application to a specified edge cloud zone. - - GET getAllRegisteredApplicationEndpoints: Returns endpoint information for all - registered Applications. + - GET getAllRegisteredApplicationEndpoints: Returns endpoint information + for all registered Applications. - GET getApplicationEndpointsByID: Returns endpoint information for all Applications registered to a specified applicationEndpointId. - PUT updateApplicationEndpoint: Update registered application endpoint @@ -483,7 +483,8 @@ components: value: status: 400 code: INVALID_ARGUMENT - message: Client specified an invalid argument, request body or query param. + message: Client specified an invalid argument, request + body or query param. Generic401: description: Unauthorized headers: @@ -499,7 +500,8 @@ components: value: status: 401 code: UNAUTHENTICATED - message: Request not authenticated due to missing, invalid, or expired credentials. + message: Request not authenticated due to missing, invalid, + or expired credentials. Generic403: description: Forbidden headers: @@ -511,17 +513,22 @@ components: $ref: '#/components/schemas/ErrorInfo' examples: GENERIC_403_PERMISSION_DENIED: - description: Permission denied. OAuth2 token access does not have the required scope or when the user fails operational security + description: Permission denied. OAuth2 token access does not + have the required scope or when the user fails operational + security value: status: 403 code: PERMISSION_DENIED - message: Client does not have sufficient permissions to perform this action. + message: Client does not have sufficient permissions to + perform this action. GENERIC_403_INVALID_TOKEN_CONTEXT: - description: Reflect some inconsistency between information in some field of the API and the related OAuth2 Token + description: Reflect some inconsistency between information in + some field of the API and the related OAuth2 Token value: status: 403 code: INVALID_TOKEN_CONTEXT - message: applicationProfileId is not consistent with access token + message: applicationProfileId is not consistent with access + token Generic404: description: Not found headers: @@ -555,7 +562,9 @@ components: code: NOT_SUPPORTED message: Service not supported for this applicationProfileId UNIDENTIFIABLE_APPLICATION_PROFILE: - description: The Application Profile is not included in the request and the profile information cannot be derived from the 3-legged access token + description: The Application Profile is not included in the + request and the profile information cannot be derived from + the 3-legged access token value: status: 422 code: UNIDENTIFIABLE_APPLICATION_PROFILE @@ -588,7 +597,8 @@ components: examples: GENERIC_503_UNAVAILABLE: description: Service is not available. - Temporary situation usually related to maintenance process in the server side + Temporary situation usually related to maintenance process + in the server side value: status: 503 code: UNAVAILABLE From 0fa6ffa768e6195b658c55b02cd0b6b9f3cd794d Mon Sep 17 00:00:00 2001 From: urvika-v Date: Thu, 28 Nov 2024 08:02:49 +0530 Subject: [PATCH 12/13] Fixed linting issues- Application-endpoint-registration.yaml --- .../Application-endpoint-registration.yaml | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index 08af65b..fe7b36f 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -1,3 +1,4 @@ +--- openapi: 3.0.3 info: title: Application Endpoints Registration @@ -9,7 +10,7 @@ info: # Introduction - The API registers the Edge Application Endpoints. + The API registers the Edge Application Endpoint. This information can be used for various use cases like optimal endpoint discovery to help end users connect to the most optimal instance of the application which is distributed across various Edge Cloud Zones. @@ -30,8 +31,8 @@ info: The API provides 4 operations: - POST registerApplicationEndpoints: Registers the Application Endpoints of a deployed application to a specified edge cloud zone. - - GET getAllRegisteredApplicationEndpoints: Returns endpoint information - for all registered Applications. + - GET getAllRegisteredApplicationEndpoints: Returns endpoint information for + all registered Applications. - GET getApplicationEndpointsByID: Returns endpoint information for all Applications registered to a specified applicationEndpointId. - PUT updateApplicationEndpoint: Update registered application endpoint @@ -64,7 +65,8 @@ info: [GSMA Mobile Connect Account Takeover Protection specification] (https://www.gsma.com/identity/wp-content/uploads/2022/12/IDY.24-Mobile- - Connect-Account-Takeover-Protection-Definition-and-Technical-Requirements-v2.0.pdf) + Connect-Account-Takeover-Protection-Definition-and-Technical-Requirements- + v2.0.pdf) was used as source of input for this API. For more about Mobile Connect, please see [Mobile Connect website](https://mobileconnect.io/). @@ -483,8 +485,8 @@ components: value: status: 400 code: INVALID_ARGUMENT - message: Client specified an invalid argument, request - body or query param. + message: Client specified an invalid argument, request body or + query param. Generic401: description: Unauthorized headers: @@ -500,8 +502,8 @@ components: value: status: 401 code: UNAUTHENTICATED - message: Request not authenticated due to missing, invalid, - or expired credentials. + message: Request not authenticated due to missing, invalid, or + expired credentials. Generic403: description: Forbidden headers: @@ -513,22 +515,23 @@ components: $ref: '#/components/schemas/ErrorInfo' examples: GENERIC_403_PERMISSION_DENIED: - description: Permission denied. OAuth2 token access does not - have the required scope or when the user fails operational - security + description: | + Permission denied. OAuth2 token access does not have the required + scope or when the user fails operational security value: status: 403 code: PERMISSION_DENIED - message: Client does not have sufficient permissions to - perform this action. + message: Client does not have sufficient permissions to perform + this action. GENERIC_403_INVALID_TOKEN_CONTEXT: - description: Reflect some inconsistency between information in - some field of the API and the related OAuth2 Token + description: | + Reflect some inconsistency between information in some field + of the API and the related OAuth2 Token value: status: 403 code: INVALID_TOKEN_CONTEXT - message: applicationProfileId is not consistent with access - token + message: applicationProfileId is not consistent with + access token Generic404: description: Not found headers: @@ -562,9 +565,10 @@ components: code: NOT_SUPPORTED message: Service not supported for this applicationProfileId UNIDENTIFIABLE_APPLICATION_PROFILE: - description: The Application Profile is not included in the - request and the profile information cannot be derived from - the 3-legged access token + description: | + The Application Profile is not included in the request + and the profile information cannot be derived + from the 3-legged access token value: status: 422 code: UNIDENTIFIABLE_APPLICATION_PROFILE @@ -597,8 +601,8 @@ components: examples: GENERIC_503_UNAVAILABLE: description: Service is not available. - Temporary situation usually related to maintenance process - in the server side + Temporary situation usually related to maintenance process in + the server side value: status: 503 code: UNAVAILABLE From 4b710b259a465e19b83f5fe49886873017826521 Mon Sep 17 00:00:00 2001 From: urvika-v Date: Thu, 28 Nov 2024 08:07:50 +0530 Subject: [PATCH 13/13] Update Application-endpoint-registration.yaml --- code/API_definitions/Application-endpoint-registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/Application-endpoint-registration.yaml b/code/API_definitions/Application-endpoint-registration.yaml index fe7b36f..3ce2ef3 100644 --- a/code/API_definitions/Application-endpoint-registration.yaml +++ b/code/API_definitions/Application-endpoint-registration.yaml @@ -10,7 +10,7 @@ info: # Introduction - The API registers the Edge Application Endpoint. + The API registers the Edge Application Endpoints. This information can be used for various use cases like optimal endpoint discovery to help end users connect to the most optimal instance of the application which is distributed across various Edge Cloud Zones.