Skip to content

Commit 2cba20d

Browse files
committed
feat: sns-outbound-channel-adapter xsd schema
1 parent 149afd0 commit 2cba20d

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed

int-aws/src/main/resources/org/springframework/schema/integration/aws/spring-integration-aws.xsd

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,119 @@
324324
</xsd:complexType>
325325
</xsd:element>
326326

327+
<xsd:element name="sns-outbound-channel-adapter">
328+
<xsd:complexType>
329+
<xsd:annotation>
330+
<xsd:documentation><![CDATA[
331+
Defines an outbound SNS Channel Adapter for publishing messages to the topic.
332+
]]></xsd:documentation>
333+
</xsd:annotation>
334+
<xsd:complexContent>
335+
<xsd:extension base="outboundChannelAdapter">
336+
<xsd:attributeGroup ref="integration:channelAdapterAttributes"/>
337+
<xsd:attributeGroup ref="messageProducingHandlerAttributes"/>
338+
<xsd:attribute name="sns" type="xsd:string" use="required">
339+
<xsd:annotation>
340+
<xsd:documentation><![CDATA[
341+
The 'software.amazon.awssdk.services.sns.SnsClient' bean reference.
342+
]]></xsd:documentation>
343+
<xsd:appinfo>
344+
<tool:annotation kind="ref">
345+
<tool:expected-type type="software.amazon.awssdk.services.sns.SnsClient"/>
346+
</tool:annotation>
347+
</xsd:appinfo>
348+
</xsd:annotation>
349+
</xsd:attribute>
350+
<xsd:attribute name="topic-arn" type="xsd:string">
351+
<xsd:annotation>
352+
<xsd:documentation><![CDATA[
353+
The Amazon SNS Topic ARN.
354+
Mutually exclusive with 'topic-arn-expression'.
355+
This attribute isn't mandatory and the topic can be specified on the
356+
'PublishRequest' payload of the request Message.
357+
]]></xsd:documentation>
358+
</xsd:annotation>
359+
</xsd:attribute>
360+
<xsd:attribute name="topic-arn-expression" type="xsd:string">
361+
<xsd:annotation>
362+
<xsd:documentation><![CDATA[
363+
A SpEL expression that resolves to an Amazon SNS Topic ARN.
364+
The 'requestMessage' is the root object for evaluation context.
365+
Mutually exclusive with 'topic-arn'.
366+
This attribute isn't mandatory and the topic can be specified on the
367+
'PublishRequest' payload of the request Message.
368+
]]></xsd:documentation>
369+
</xsd:annotation>
370+
</xsd:attribute>
371+
<xsd:attribute name="subject" type="xsd:string">
372+
<xsd:annotation>
373+
<xsd:documentation><![CDATA[
374+
The Notification Subject.
375+
Mutually exclusive with 'subject-expression'.
376+
This attribute isn't mandatory and the subject can be fully omitted.
377+
]]></xsd:documentation>
378+
</xsd:annotation>
379+
</xsd:attribute>
380+
<xsd:attribute name="subject-expression" type="xsd:string">
381+
<xsd:annotation>
382+
<xsd:documentation><![CDATA[
383+
The SpEL expression for Notification Subject.
384+
The 'requestMessage' is the root object for evaluation context.
385+
Mutually exclusive with 'subject-expression'.
386+
This attribute isn't mandatory and the subject can be fully omitted.
387+
]]></xsd:documentation>
388+
</xsd:annotation>
389+
</xsd:attribute>
390+
<xsd:attribute name="message-group-id" type="xsd:string">
391+
<xsd:annotation>
392+
<xsd:documentation><![CDATA[
393+
The message group ID.
394+
Mutually exclusive with 'message-group-id-expression'.
395+
SNS FIFO topics require a message group to be specified, either in
396+
the adapter configuration or on a 'PublishRequest' payload
397+
of the request Message.
398+
]]></xsd:documentation>
399+
</xsd:annotation>
400+
</xsd:attribute>
401+
<xsd:attribute name="message-group-id-expression" type="xsd:string">
402+
<xsd:annotation>
403+
<xsd:documentation><![CDATA[
404+
The SpEL expression for the message group ID.
405+
Mutually exclusive with 'message-group-id'.
406+
SNS FIFO topics require a message group to be specified, either in
407+
the adapter configuration or on a 'PublishRequest' payload
408+
of the request Message.
409+
]]></xsd:documentation>
410+
</xsd:annotation>
411+
</xsd:attribute>
412+
<xsd:attribute name="message-deduplication-id-expression" type="xsd:string">
413+
<xsd:annotation>
414+
<xsd:documentation><![CDATA[
415+
The SpEL expression for the message deduplication ID.
416+
SNS FIFO topics require a message deduplication ID to be specified, either in
417+
the adapter configuration or on a 'PublishRequest' payload
418+
of the request Message, unless content-based deduplication is enabled
419+
on the topic.
420+
]]></xsd:documentation>
421+
</xsd:annotation>
422+
</xsd:attribute>
423+
<xsd:attribute name="body-expression" type="xsd:string">
424+
<xsd:annotation>
425+
<xsd:documentation><![CDATA[
426+
The SpEL expression evaluating the 'message' object for
427+
the 'PublishRequest'. The 'requestMessage' is the root object for evaluation context.
428+
If it evaluates to 'SnsBodyBuilder' the 'messageStructure' of the 'PublishRequest is
429+
set to json. Otherwise, the 'ConversionService' is used to convert the
430+
evaluation result to the 'String' without setting the 'messageStructure'.
431+
This attribute isn't mandatory and the 'payload' of request Message can be used directly.
432+
]]></xsd:documentation>
433+
</xsd:annotation>
434+
</xsd:attribute>
435+
</xsd:extension>
436+
</xsd:complexContent>
437+
</xsd:complexType>
438+
</xsd:element>
439+
327440
<xsd:complexType name="pollingInboundChannelAdapter">
328441
<xsd:all>
329442
<xsd:element ref="integration:poller" minOccurs="0"/>
@@ -562,6 +675,33 @@
562675
</xsd:complexContent>
563676
</xsd:complexType>
564677

678+
<xsd:attributeGroup name="messageProducingHandlerAttributes">
679+
<xsd:attribute name="async" type="xsd:boolean">
680+
<xsd:annotation>
681+
<xsd:documentation><![CDATA[
682+
Allow async replies. If the handler reply is a CompletableFuture Publisher,
683+
send the output when it is satisfied rather than sending the future as the result.
684+
Ignored for return types other than CompletableFuture or Publisher.
685+
Default is false.
686+
]]></xsd:documentation>
687+
</xsd:annotation>
688+
</xsd:attribute>
689+
<xsd:attribute name="output-channel" type="xsd:string">
690+
<xsd:annotation>
691+
<xsd:documentation><![CDATA[
692+
Channel to reply if async is true.
693+
]]></xsd:documentation>
694+
</xsd:annotation>
695+
</xsd:attribute>
696+
<xsd:attribute name="send-timeout" type="xsd:long">
697+
<xsd:annotation>
698+
<xsd:documentation><![CDATA[
699+
Set the timeout for sending reply Messages.
700+
]]></xsd:documentation>
701+
</xsd:annotation>
702+
</xsd:attribute>
703+
</xsd:attributeGroup>
704+
565705
<xsd:simpleType name="s3CommandType">
566706
<xsd:restriction base="xsd:token">
567707
<xsd:enumeration value="UPLOAD"/>

0 commit comments

Comments
 (0)