Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions code/API_definitions/edge-application-management.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,21 +87,24 @@
status, ordering the results by location and filtering by status
(active/inactive/unknown)

<!-- CAMARA:MANDATORY:authorization-and-authentication:BEGIN -->

# Authorization and authentication

The "Camara Security and Interoperability Profile" provides details of how an API consumer requests an access token. Please refer to Identity and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the profile.

The specific authorization flows to be used will be agreed upon during the onboarding process, happening between the API consumer and the API provider, taking into account the declared purpose for accessing the API, whilst also being subject to the prevailing legal framework dictated by local legislation.

In cases where personal 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 three-legged access tokens is mandatory. This ensures that the API remains in compliance with privacy regulations, upholding the principles of transparency and user-centric privacy-by-design.

<!-- CAMARA:MANDATORY:authorization-and-authentication:END -->

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.

# API documentation
Two operations have been defined in Edge Application Management API.

Expand Down Expand Up @@ -152,8 +155,27 @@
abstraction exposed to an Application Provider who wants to deploy
an Application on Edge Cloud.
Edge Cloud Zones exists within a Edge Cloud Region.

<!-- CAMARA:MANDATORY:additional-error-responses:BEGIN -->

# Additional CAMARA error responses

The list of error codes in this API specification is not exhaustive. Therefore the API specification MAY not document some non-mandatory error statuses as indicated in `CAMARA API Design Guide`.

Please refer to the `CAMARA_common.yaml` of the Commonalities Release associated to this API version for a complete list of error responses. The applicable Commonalities Release can be identified in the `API Readiness Checklist` document associated to this API version.

As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
<!-- CAMARA:MANDATORY:additional-error-responses:END -->

<!-- CAMARA:MANDATORY:request-body-strictness:BEGIN -->

# Request body strictness

This API rejects requests with JSON request bodies that contain properties not declared in this specification, at any nesting level. Unknown properties result in a `400 INVALID_ARGUMENT` response.
<!-- CAMARA:MANDATORY:request-body-strictness:END -->

---
x-camara-commonalities: 0.8.0-rc.2
x-camara-commonalities: 0.8.0
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
Expand Down Expand Up @@ -1112,7 +1134,7 @@
$ref: "#/components/responses/429"

schemas:
AccessTokenCredential:

Check notice on line 1137 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

Component may be unused

[S-211] Potentially unused component has been detected. | Suggestion%3A Spectral does not follow discriminator mappings — verify the schema is truly unused.
type: object
description:
An access token credential. This type of credential is meant to be
Expand All @@ -1122,7 +1144,7 @@
- $ref: "#/components/schemas/SinkCredential"
- type: object
properties:
accessToken:

Check notice on line 1147 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
description:
Access Token granting access to the POST operation to create
notification
Expand Down Expand Up @@ -1432,7 +1454,7 @@
description: Name of the application.
appProvider:
$ref: "#/components/schemas/AppProvider"
version:

Check notice on line 1457 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: Application version information
Expand Down Expand Up @@ -1470,13 +1492,13 @@
e.g. in Github repo.
imagePath:
$ref: "#/components/schemas/Uri"
userName:

Check notice on line 1495 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: |
Username to acces the Helm chart, docker-compose
file or VM image repository
credentials:

Check notice on line 1501 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 2048
description: |
Expand All @@ -1494,7 +1516,7 @@
description: |
The credentials can also be formatted as a Basic
auth or Bearer auth in HTTP "Authorization" header.
checksum:

Check notice on line 1519 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 128
description: |
Expand Down Expand Up @@ -1523,7 +1545,7 @@
- componentName
- networkInterfaces
properties:
componentName:

Check notice on line 1548 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: Component name must be unique with an application
Expand Down Expand Up @@ -1604,7 +1626,7 @@
- clusterRef
- edgeCloudZoneId
properties:
name:

Check notice on line 1629 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: |
Expand All @@ -1617,7 +1639,7 @@
$ref: "#/components/schemas/EdgeCloudZoneId"
edgeCloudRegion:
$ref: "#/components/schemas/EdgeCloudRegion"
version:

Check notice on line 1642 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: Kubernetes version of the cluster.
Expand All @@ -1629,7 +1651,7 @@
$ref: "#/components/schemas/KubernetesNodePool"
minItems: 1

EdgeCloudProvider:

Check notice on line 1654 in code/API_definitions/edge-application-management.yaml

View workflow job for this annotation

GitHub Actions / validation / Validate

String has no format/pattern/enum

[S-313] Schema of type string should specify a format, pattern, enum, or const. | Suggestion%3A Acceptable if free-form field or implementation-dependent — no fix needed.
type: string
maxLength: 64
description: Human readable name of the Edge Cloud Provider.
Expand Down