summaryrefslogtreecommitdiffstats
path: root/doc/radosgw/notifications.rst
diff options
context:
space:
mode:
authorZac Dover <zac.dover@gmail.com>2022-10-19 20:35:14 +0200
committerZac Dover <zac.dover@gmail.com>2022-10-19 22:24:43 +0200
commita69dd10ddbbf952cc208f35c0ea04d644b582794 (patch)
tree7637eb390df0c13390ff3537f36016aa236e1858 /doc/radosgw/notifications.rst
parentMerge pull request #48347 from ronen-fr/wip-rf-acting (diff)
downloadceph-a69dd10ddbbf952cc208f35c0ea04d644b582794.tar.xz
ceph-a69dd10ddbbf952cc208f35c0ea04d644b582794.zip
doc/radosgw: refine "bucket notifications"
This commit refines the English in the "Bucket Notifications REST API" section of the notifications.rst page (the "Bucket Notifications" page). Co-author: Cole Mitchell <cole.mitchell@gmail.com> Signed-off-by: Zac Dover <zac.dover@gmail.com>
Diffstat (limited to 'doc/radosgw/notifications.rst')
-rw-r--r--doc/radosgw/notifications.rst181
1 files changed, 113 insertions, 68 deletions
diff --git a/doc/radosgw/notifications.rst b/doc/radosgw/notifications.rst
index ba07fb6a732..bcc3da26605 100644
--- a/doc/radosgw/notifications.rst
+++ b/doc/radosgw/notifications.rst
@@ -122,7 +122,8 @@ Topics
.. note::
In all topic actions, the parameters are URL-encoded and sent in the
- message body using the ``application/x-www-form-urlencoded`` content type.
+ message body using this content type:
+ ``application/x-www-form-urlencoded``.
Create a Topic
@@ -133,11 +134,11 @@ which will be used later when a notification is created. A response is
generated. A successful response includes the the topic's `ARN
<https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`_
(the "Amazon Resource Name", a unique identifier used to reference the topic).
-To update a topic, use the same command that you used to create it (but use the
-name of an existing topic and different endpoint values).
+To update a topic, use the same command that you used to create it (but when
+updating, use the name of an existing topic and different endpoint values).
.. tip:: Any notification already associated with the topic must be re-created
- for the topic update to take effect.
+ in order for the topic to update.
.. note:: For rabbitmq, ``push-endpoint`` (with a hyphen in the middle) must be
changed to ``push_endpoint`` (with an underscore in the middle).
@@ -161,55 +162,83 @@ name of an existing topic and different endpoint values).
Request parameters:
-- push-endpoint: URI of an endpoint to send push notification to
-- OpaqueData: opaque data is set in the topic configuration and added to all notifications triggered by the topic
-- persistent: indication whether notifications to this endpoint are persistent (=asynchronous) or not ("false" by default)
+- push-endpoint: This is the URI of an endpoint to send push notifications to.
+- OpaqueData: Opaque data is set in the topic configuration and added to all
+ notifications that are triggered by the topic.
+- persistent: This indicates whether notifications to this endpoint are
+ persistent (=asynchronous) or not persistent. (This is "false" by default.)
- HTTP endpoint
- URI: ``http[s]://<fqdn>[:<port]``
- - port defaults to: 80/443 for HTTP/S accordingly
- - verify-ssl: indicate whether the server certificate is validated by the client or not ("true" by default)
- - cloudevents: indicate whether the HTTP header should contain attributes according to the `S3 CloudEvents Spec`_ ("false" by default)
+ - port: This defaults to 80 for HTTP and 443 for HTTPS.
+ - verify-ssl: This indicates whether the server certificate is validated by
+ the client. (This is "true" by default.)
+ - cloudevents: This indicates whether the HTTP header should contain
+ attributes according to the `S3 CloudEvents Spec`_. (This is "false" by
+ default.)
- AMQP0.9.1 endpoint
- URI: ``amqp[s]://[<user>:<password>@]<fqdn>[:<port>][/<vhost>]``
- - user/password defaults to: guest/guest
- - user/password may only be provided over HTTPS. If not, topic creation request will be rejected.
- - port defaults to: 5672/5671 for unencrypted/SSL-encrypted connections
- - vhost defaults to: "/"
- - verify-ssl: indicate whether the server certificate is validated by the client or not ("true" by default)
- - if ``ca-location`` is provided, and secure connection is used, the specified CA will be used, instead of the default one, to authenticate the broker
- - amqp-exchange: the exchanges must exist and be able to route messages based on topics (mandatory parameter for AMQP0.9.1). Different topics pointing to the same endpoint must use the same exchange
- - amqp-ack-level: no end2end acking is required, as messages may persist in the broker before delivered into their final destination. Three ack methods exist:
-
- - "none": message is considered "delivered" if sent to broker
- - "broker": message is considered "delivered" if acked by broker (default)
- - "routable": message is considered "delivered" if broker can route to a consumer
-
-.. tip:: The topic-name (see :ref:`radosgw-create-a-topic`) is used for the AMQP topic ("routing key" for a topic exchange).
+ - user/password: This defaults to "guest/guest".
+ - user/password: This must be provided only over HTTPS. Topic creation
+ requests will otherwise be rejected.
+ - port: This defaults to 5672 for unencrypted connections and 5671 for
+ SSL-encrypted connections.
+ - vhost: This defaults to "/".
+ - verify-ssl: This indicates whether the server certificate is validated by
+ the client. (This is "true" by default.)
+ - If ``ca-location`` is provided and a secure connection is used, the
+ specified CA will be used to authenticate the broker. The default CA will
+ not be used.
+ - amqp-exchange: The exchanges must exist and must be able to route messages
+ based on topics. This parameter is mandatory. Different topics that point
+ to the same endpoint must use the same exchange.
+ - amqp-ack-level: No end2end acking is required. Messages may persist in the
+ broker before being delivered to their final destinations. Three ack methods
+ exist:
+
+ - "none": The message is considered "delivered" if it is sent to the broker.
+ - "broker": The message is considered "delivered" if it is acked by the broker (default).
+ - "routable": The message is considered "delivered" if the broker can route to a consumer.
+
+.. tip:: The topic-name (see :ref:`radosgw-create-a-topic`) is used for the
+ AMQP topic ("routing key" for a topic exchange).
- Kafka endpoint
- URI: ``kafka://[<user>:<password>@]<fqdn>[:<port]``
- - if ``use-ssl`` is set to "true", secure connection will be used for connecting with the broker ("false" by default)
- - if ``ca-location`` is provided, and secure connection is used, the specified CA will be used, instead of the default one, to authenticate the broker
- - user/password may only be provided over HTTPS. If not, topic creation request will be rejected.
- - user/password may only be provided together with ``use-ssl``, if not, the connection to the broker would fail.
- - port defaults to: 9092
- - kafka-ack-level: no end2end acking is required, as messages may persist in the broker before delivered into their final destination. Two ack methods exist:
-
- - "none": message is considered "delivered" if sent to broker
- - "broker": message is considered "delivered" if acked by broker (default)
+ - ``use-ssl``: If this is set to "true", a secure connection is used to
+ connect to the broker. (This is "false" by default.)
+ - ``ca-location``: If this is provided and a secure connection is used, the
+ specified CA will be used insted of the default CA to authenticate the
+ broker.
+ - user/password: This must be provided only over HTTPS. Topic creation
+ requests will otherwise be rejected.
+ - user/password: This must be provided along with ``use-ssl``. Connections to
+ the broker will otherwise fail.
+ - port: This defaults to 9092.
+ - kafka-ack-level: No end2end acking is required. Messages may persist in the
+ broker before being delivered to their final destinations. Two ack methods
+ exist:
+
+ - "none": Messages are considered "delivered" if sent to the broker.
+ - "broker": Messages are considered "delivered" if acked by the broker. (This
+ is the default.)
.. note::
- - The key/value of a specific parameter does not have to reside in the same line, or in any specific order, but must use the same index
- - Attribute indexing does not need to be sequential or start from any specific value
- - `AWS Create Topic`_ has a detailed explanation of the endpoint attributes format. However, in our case different keys and values are used
+ - The key-value pair of a specific parameter need not reside in the same
+ line as the parameter, and need not appear in any specific order, but it
+ must use the same index.
+ - Attribute indexing need not be sequential and need not start from any
+ specific value.
+ - `AWS Create Topic`_ provides a detailed explanation of the endpoint
+ attributes format. In our case, however, different keys and values are
+ used.
-The response will have the following format:
+The response has the following format:
::
@@ -222,7 +251,9 @@ The response will have the following format:
</ResponseMetadata>
</CreateTopicResponse>
-The topic ARN in the response will have the following format:
+The topic `ARN
+<https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`_
+in the response has the following format:
::
@@ -231,7 +262,8 @@ The topic ARN in the response will have the following format:
Get Topic Attributes
````````````````````
-Returns information about a specific topic. This includes push-endpoint information, if provided.
+This returns information about a specific topic. This includes push-endpoint
+information, if provided.
::
@@ -240,7 +272,7 @@ Returns information about a specific topic. This includes push-endpoint informat
Action=GetTopicAttributes
&TopicArn=<topic-arn>
-Response will have the following format:
+The response has the following format:
::
@@ -274,22 +306,27 @@ Response will have the following format:
</ResponseMetadata>
</GetTopicAttributesResponse>
-- User: name of the user that created the topic
-- Name: name of the topic
-- EndPoint: JSON formatted endpoint parameters, including:
- - EndpointAddress: the push-endpoint URL
- - EndpointArgs: the push-endpoint args
- - EndpointTopic: the topic name that should be sent to the endpoint (may be different than the above topic name)
- - HasStoredSecret: "true" if if endpoint URL contain user/password information. In this case request must be made over HTTPS. If not, topic get request will be rejected
- - Persistent: "true" is topic is persistent
-- TopicArn: topic ARN
-- OpaqueData: the opaque data set on the topic
+- User: the name of the user that created the topic.
+- Name: the name of the topic.
+- EndPoint: The JSON-formatted endpoint parameters, including:
+ - EndpointAddress: The push-endpoint URL.
+ - EndpointArgs: The push-endpoint args.
+ - EndpointTopic: The topic name to be sent to the endpoint (can be different
+ than the above topic name).
+ - HasStoredSecret: This is "true" if the endpoint URL contains user/password
+ information. In this case, the request must be made over HTTPS. The "topic
+ get" request will otherwise be rejected.
+ - Persistent: This is "true" if the topic is persistent.
+- TopicArn: topic `ARN
+ <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`_.
+- OpaqueData: The opaque data set on the topic.
Get Topic Information
`````````````````````
-Returns information about specific topic. This includes push-endpoint information, if provided.
-Note that this API is now deprecated in favor of the AWS compliant `GetTopicAttributes` API.
+This returns information about a specific topic. This includes push-endpoint
+information, if provided. Note that this API is now deprecated in favor of the
+AWS compliant `GetTopicAttributes` API.
::
@@ -298,7 +335,7 @@ Note that this API is now deprecated in favor of the AWS compliant `GetTopicAttr
Action=GetTopic
&TopicArn=<topic-arn>
-Response will have the following format:
+The response has the following format:
::
@@ -323,15 +360,19 @@ Response will have the following format:
</ResponseMetadata>
</GetTopicResponse>
-- User: name of the user that created the topic
-- Name: name of the topic
-- EndpointAddress: the push-endpoint URL
-- EndpointArgs: the push-endpoint args
-- EndpointTopic: the topic name that should be sent to the endpoint (may be different than the above topic name)
-- HasStoredSecret: "true" if endpoint URL contain user/password information. In this case request must be made over HTTPS. If not, topic get request will be rejected
-- Persistent: "true" is topic is persistent
-- TopicArn: topic ARN
-- OpaqueData: the opaque data set on the topic
+- User: The name of the user that created the topic.
+- Name: The name of the topic.
+- EndpointAddress: The push-endpoint URL.
+- EndpointArgs: The push-endpoint args.
+- EndpointTopic: The topic name to be sent to the endpoint (which can be
+ different than the above topic name).
+- HasStoredSecret: This is "true" if the endpoint URL contains user/password
+ information. In this case, the request must be made over HTTPS. The "topic
+ get" request will otherwise be rejected.
+- Persistent: "true" if topic is persistent.
+- TopicArn: topic `ARN
+ <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`_.
+- OpaqueData: the opaque data set on the topic.
Delete Topic
````````````
@@ -343,14 +384,16 @@ Delete Topic
Action=DeleteTopic
&TopicArn=<topic-arn>
-Delete the specified topic.
+This deletes the specified topic.
.. note::
- - Deleting an unknown notification (e.g. double delete) is not considered an error
- - Deleting a topic does not automatically delete all notifications associated with it
+ - Deleting an unknown notification (for example, double delete) is not
+ considered an error.
+ - Deleting a topic does not automatically delete all notifications associated
+ with it.
-The response will have the following format:
+The response has the following format:
::
@@ -371,7 +414,7 @@ List all topics associated with a tenant.
Action=ListTopics
-Response will have the following format:
+The response has the following format:
::
@@ -396,7 +439,9 @@ Response will have the following format:
</ResponseMetadata>
</ListTopicsResponse>
-- if endpoint URL contain user/password information, in any of the topic, request must be made over HTTPS. If not, topic list request will be rejected.
+- If the endpoint URL contains user/password information in any part of the
+ topic, the request must be made over HTTPS. The "topic list" request will
+ otherwise be rejected.
Notifications
~~~~~~~~~~~~~