All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.ses.actions.Sns Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
package software.amazon.awscdk.services.ses.actions;

/**
 * Publishes the email content within a notification to Amazon SNS.
 * 

* Example: *

*

 * import software.amazon.awscdk.services.s3.*;
 * import software.amazon.awscdk.services.ses.actions.*;
 * Bucket bucket = new Bucket(this, "Bucket");
 * Topic topic = new Topic(this, "Topic");
 * ReceiptRuleSet.Builder.create(this, "RuleSet")
 *         .rules(List.of(ReceiptRuleOptions.builder()
 *                 .recipients(List.of("hello@aws.com"))
 *                 .actions(List.of(
 *                     AddHeader.Builder.create()
 *                             .name("X-Special-Header")
 *                             .value("aws")
 *                             .build(),
 *                     S3.Builder.create()
 *                             .bucket(bucket)
 *                             .objectKeyPrefix("emails/")
 *                             .topic(topic)
 *                             .build()))
 *                 .build(), ReceiptRuleOptions.builder()
 *                 .recipients(List.of("aws.com"))
 *                 .actions(List.of(
 *                     Sns.Builder.create()
 *                             .topic(topic)
 *                             .build()))
 *                 .build()))
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.72.0 (build 4b8828b)", date = "2022-12-21T20:56:28.698Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.ses.actions.$Module.class, fqn = "@aws-cdk/aws-ses-actions.Sns") public class Sns extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.ses.IReceiptRuleAction { protected Sns(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected Sns(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } /** * @param props This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Sns(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ses.actions.SnsProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, "props is required") }); } /** * Returns the receipt rule action specification. *

* @param _rule This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ses.ReceiptRuleActionConfig bind(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ses.IReceiptRule _rule) { return software.amazon.jsii.Kernel.call(this, "bind", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ses.ReceiptRuleActionConfig.class), new Object[] { java.util.Objects.requireNonNull(_rule, "_rule is required") }); } /** * A fluent builder for {@link software.amazon.awscdk.services.ses.actions.Sns}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static Builder create() { return new Builder(); } private final software.amazon.awscdk.services.ses.actions.SnsProps.Builder props; private Builder() { this.props = new software.amazon.awscdk.services.ses.actions.SnsProps.Builder(); } /** * The SNS topic to notify. *

* @return {@code this} * @param topic The SNS topic to notify. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder topic(final software.amazon.awscdk.services.sns.ITopic topic) { this.props.topic(topic); return this; } /** * The encoding to use for the email within the Amazon SNS notification. *

* Default: UTF-8 *

* @return {@code this} * @param encoding The encoding to use for the email within the Amazon SNS notification. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder encoding(final software.amazon.awscdk.services.ses.actions.EmailEncoding encoding) { this.props.encoding(encoding); return this; } /** * @returns a newly built instance of {@link software.amazon.awscdk.services.ses.actions.Sns}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public software.amazon.awscdk.services.ses.actions.Sns build() { return new software.amazon.awscdk.services.ses.actions.Sns( this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy