Skip to content

Commit 5a3e5cc

Browse files
authored
Merge pull request #414 from rartych/sink_format
Sink format corrected and indicated in API Design Guidelines
2 parents a4edbde + 08c3446 commit 5a3e5cc

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

artifacts/camara-cloudevents/event-subscription-template.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ components:
276276
$ref: "#/components/schemas/Protocol"
277277
sink:
278278
type: string
279-
format: url
279+
format: uri
280280
description: The address to which events shall be delivered using the selected protocol.
281281
example: "https://endpoint.example.com/sink"
282282
sinkCredential:

documentation/API-design-guidelines.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1669,7 +1669,7 @@ If this capability is present in CAMARA API, the following attributes **must** b
16691669
16701670
| attribute name | type | attribute description | cardinality |
16711671
|----------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
1672-
| sink | string | https callback address where the notification must be POST-ed | mandatory |
1672+
| sink | string | https callback address where the notification must be POST-ed, `format: uri` should be used to require a string that is compliant with [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). | mandatory |
16731673
| sinkCredential | object | Sink credential provides authentication or authorization information necessary to enable delivery of events to a target. In order to be updated in future this object is polymorphic. See detail below. It is RECOMMENDED for subscription consumer to provide credential to protect notification endpoint. | optional |
16741674
16751675
Several types of `sinkCredential` could be available in the future, but for now only access token credential is managed.
@@ -1760,7 +1760,7 @@ The following table provides `/subscriptions` attributes
17601760
| name | type | attribute description | cardinality |
17611761
|----------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
17621762
| protocol | string | Identifier of a delivery protocol. **Only** `HTTP` **is allowed for now**. | Mandatory |
1763-
| sink | string | The address to which events shall be delivered, using the HTTP protocol. | mandatory |
1763+
| sink | string | The address to which events shall be delivered, using the HTTP protocol, `format: uri` should be used to require a string that is compliant with [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). | mandatory |
17641764
| sinkCredential | object | Sink credential provides authorization information necessary to enable delivery of events to a target. In order to be updated in future this object is polymorphic. See detail below. To protect the notification endpoint providing sinkCredential is RECOMMENDED. <br> The sinkCredential must **not** be present in `POST` and `GET` responses. | optional |
17651765
| types | string | Type of event subscribed. This attribute **must** be present in the `POST` request. It is required by API project to provide an enum for this attribute. `type` must follow the format: `org.camaraproject.<api-name>.<api-version>.<event-name>` with the `api-version` with letter `v` and the major version like ``org.camaraproject.device-roaming-subscriptions.v1.roaming-status`` - Note: An array of types could be passed **but as of now only one value MUST passed**. Use of multiple value will be open later at API level. | mandatory |
17661766
| config | object | Implementation-specific configuration parameters needed by the subscription manager for acquiring events. In CAMARA we have predefined attributes like ``subscriptionExpireTime``, ``subscriptionMaxEvents`` or ``initialEvent``. See detail below. | mandatory |

0 commit comments

Comments
 (0)