From 2978ab8332a2a547e2ee74d88b03e74b7607d19e Mon Sep 17 00:00:00 2001 From: Roberto Rojas Date: Mon, 14 Aug 2023 16:15:26 -0400 Subject: [PATCH] [Bindings RabbitMQ] Adds Component Metadata Schema (#3066) Signed-off-by: robertojrojas Co-authored-by: Artur Souza --- bindings/rabbitmq/metadata.yaml | 160 ++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 bindings/rabbitmq/metadata.yaml diff --git a/bindings/rabbitmq/metadata.yaml b/bindings/rabbitmq/metadata.yaml new file mode 100644 index 000000000..b40305449 --- /dev/null +++ b/bindings/rabbitmq/metadata.yaml @@ -0,0 +1,160 @@ +# yaml-language-server: $schema=../../component-metadata-schema.json +schemaVersion: v1 +type: bindings +name: rabbitmq +version: v1 +status: stable +title: "RabbitMQ" +urls: + - title: Reference + url: https://docs.dapr.io/reference/components-reference/supported-bindings/rabbitmq/ +binding: + output: true + input: true + operations: + - name: create + description: "Publish a new message in the queue." +capabilities: [] +authenticationProfiles: + - title: "Connection string" + description: "The RabbitMQ Connection/Authentication." + metadata: + - name: host + required: true + sensitive: true + description: "The RabbitMQ host address." + example: '"amqp://[username][:password]@host.domain[:port]" "amqps://[username][:password]@host.domain[:port]"' + binding: + output: true + input: true +metadata: + - name: queueName + required: true + description: "The RabbitMQ queue name." + type: string + example: '"myqueue"' + binding: + input: true + output: true + - name: durable + type: bool + description: | + Tells RabbitMQ to persist message in storage. + default: 'false' + example: '"true", "false"' + binding: + output: true + - name: deleteWhenUnused + type: bool + description: "Enables or disables auto-delete." + default: 'false' + example: '"true", "false"' + binding: + input: true + output: true + - name: ttlInSeconds + type: number + description: | + Set the default message time to live at RabbitMQ queue level. + If this parameter is omitted, messages won’t expire, continuing + to exist on the queue until processed. + example: '60' + url: + title: "RabbitMQ Time-To-Live and Expiration" + url: "https://www.rabbitmq.com/ttl.html" + binding: + output: true + - name: prefetchCount + type: number + description: | + Set the Channel Prefetch Setting (QoS). If this parameter is omiited, + QoS would set value to 0 as no limit. + default: 'false' + example: '"true", "false"' + url: + title: "RabbitMQ Channel Prefetch Setting (QoS)" + url: "https://www.rabbitmq.com/confirms.html#channel-qos-prefetch" + binding: + input: true + - name: exclusive + type: bool + description: | + Determines whether the topic will be an exclusive topic or not. + default: 'false' + example: '"true", "false"' + binding: + input: true + output: true + - name: maxPriority + type: number + description: | + Parameter to set the priority queue. If this parameter is omitted, + queue will be created as a general queue instead of a priority queue. + Value is between 1 and 255. + default: 'false' + example: '"true", "false"' + url: + title: "RabbitMQ Priority Queue Support" + url: "https://www.rabbitmq.com/priority.html" + binding: + input: true + output: true + - name: contentType + type: string + description: "The content type of the message." + default: '“text/plain”' + example: '"text/plain", "application/cloudevent+json"' + binding: + input: true + output: true + - name: reconnectWaitInSeconds + type: number + description: | + Represents the duration in seconds that the client should + wait before attempting to reconnect to the server after a disconnection occurs. + default: '5' + example: '"5", "10"' + binding: + input: true + output: true + - name: caCert + type: string + description: | + Certificate authority certificate, required for using TLS. + Can be secretKeyRef to use a secret reference. + example: "-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----" + binding: + input: true + output: true + - name: clientCert + type: string + description: | + Client certificate, required for authType mtls. + Can be secretKeyRef to use a secret reference. + example: "-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----" + binding: + input: true + output: true + - name: clientKey + type: string + description: | + Client key, required for authType mtls. + Can be secretKeyRef to use a secret reference. + example: "-----BEGIN RSA PRIVATE KEY-----\n\n-----END RSA PRIVATE KEY-----" + binding: + input: true + output: true + - name: externalSasl + type: string + description: | + With TLS, should the username be taken + from an additional field (e.g. CN.) + See RabbitMQ Authentication Mechanisms. + url: + title: "RabbitMQ Authentication Mechanisms" + url: "https://www.rabbitmq.com/access-control.html#mechanisms" + default: '“text/plain”' + example: '"text/plain", "application/cloudevent+json"' + binding: + input: true + output: true \ No newline at end of file