Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add enum value for terminationReason attribute in the guideline document #356

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
16 changes: 14 additions & 2 deletions documentation/API-design-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -1956,9 +1956,21 @@ Note: For operational and troubleshooting purposes it is relevant to accommodate
#### subscription-ends event
Specific event notification type "subscription-ends" is defined to inform listener about subscription termination.

It is used when the `subscriptionExpireTime` or `subscriptionMaxEvents` has been reached, or, if the API server has to stop sending notifications prematurely, or if the subscription request is managed asynchronously by the server and it is not able to provide the service. For this specific event, the `data` must feature `terminationReason` attribute. An enumeration of `terminationReason` is provided in event-subscription-template.yaml (see in [Commonalities/artifacts/camara-cloudevents](/artifacts/camara-cloudevents) directory ``event-subscription-template.yaml``).
It is used when the `subscriptionExpireTime` or `subscriptionMaxEvents` has been reached, or, if the API server has to stop sending notifications prematurely, or if the subscription request is managed asynchronously by the server and it is not able to provide the service. For this specific event, the `data` must feature `terminationReason` attribute.

Note: The "subscription-ends" notification is not counted in the `subscriptionMaxEvents`. (for example, if a client request a `subscriptionMaxEvents` to 2, later, received second notification, then a third notification will be sent for "subscription-ends")
The following table lists values for `terminationReason` attribute:

| enum value | termination reason |
| -----------|--------------------|
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved
| NETWORK_TERMINATED | API server stopped sending notification|
bigludo7 marked this conversation as resolved.
Show resolved Hide resolved
| SUBSCRIPTION_EXPIRED | Subscription expire time (optionally set by the requester) has been reached|
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved
| MAX_EVENTS_REACHED | Maximum number of events (optionally set by the requester) has been reached|
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved
| ACCESS_TOKEN_EXPIRED | Access Token sinkCredential (optionally set by the requester) expiration time has been reached|
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved
| SUBSCRIPTION_DELETED | Subscription was deleted by the requester|
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved

Note1:This enumeration is also defined in event-subscription-template.yaml (see in [Commonalities/artifacts/camara-cloudevents](/artifacts/camara-cloudevents) directory ``event-subscription-template.yaml``).
bigludo7 marked this conversation as resolved.
Show resolved Hide resolved

Note2: The "subscription-ends" notification is not counted in the `subscriptionMaxEvents`. (for example, if a client request set `subscriptionMaxEvents` to 2, and later, received 2 notifications, then a third notification will be sent for "subscription-ends").

#### Error definition for event notification

Expand Down