Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.ses.EventDestinationArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.ses;
import com.pulumi.aws.ses.inputs.EventDestinationCloudwatchDestinationArgs;
import com.pulumi.aws.ses.inputs.EventDestinationKinesisDestinationArgs;
import com.pulumi.aws.ses.inputs.EventDestinationSnsDestinationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class EventDestinationArgs extends com.pulumi.resources.ResourceArgs {
public static final EventDestinationArgs Empty = new EventDestinationArgs();
/**
* CloudWatch destination for the events
*
*/
@Import(name="cloudwatchDestinations")
private @Nullable Output> cloudwatchDestinations;
/**
* @return CloudWatch destination for the events
*
*/
public Optional>> cloudwatchDestinations() {
return Optional.ofNullable(this.cloudwatchDestinations);
}
/**
* The name of the configuration set
*
*/
@Import(name="configurationSetName", required=true)
private Output configurationSetName;
/**
* @return The name of the configuration set
*
*/
public Output configurationSetName() {
return this.configurationSetName;
}
/**
* If true, the event destination will be enabled
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return If true, the event destination will be enabled
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Send the events to a kinesis firehose destination
*
*/
@Import(name="kinesisDestination")
private @Nullable Output kinesisDestination;
/**
* @return Send the events to a kinesis firehose destination
*
*/
public Optional> kinesisDestination() {
return Optional.ofNullable(this.kinesisDestination);
}
/**
* A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, `"delivery"`, `"open"`, `"click"`, or `"renderingFailure"`.
*
*/
@Import(name="matchingTypes", required=true)
private Output> matchingTypes;
/**
* @return A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, `"delivery"`, `"open"`, `"click"`, or `"renderingFailure"`.
*
*/
public Output> matchingTypes() {
return this.matchingTypes;
}
/**
* The name of the event destination
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the event destination
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Send the events to an SNS Topic destination
*
* > **NOTE:** You can specify `"cloudwatch_destination"` or `"kinesis_destination"` but not both
*
*/
@Import(name="snsDestination")
private @Nullable Output snsDestination;
/**
* @return Send the events to an SNS Topic destination
*
* > **NOTE:** You can specify `"cloudwatch_destination"` or `"kinesis_destination"` but not both
*
*/
public Optional> snsDestination() {
return Optional.ofNullable(this.snsDestination);
}
private EventDestinationArgs() {}
private EventDestinationArgs(EventDestinationArgs $) {
this.cloudwatchDestinations = $.cloudwatchDestinations;
this.configurationSetName = $.configurationSetName;
this.enabled = $.enabled;
this.kinesisDestination = $.kinesisDestination;
this.matchingTypes = $.matchingTypes;
this.name = $.name;
this.snsDestination = $.snsDestination;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EventDestinationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private EventDestinationArgs $;
public Builder() {
$ = new EventDestinationArgs();
}
public Builder(EventDestinationArgs defaults) {
$ = new EventDestinationArgs(Objects.requireNonNull(defaults));
}
/**
* @param cloudwatchDestinations CloudWatch destination for the events
*
* @return builder
*
*/
public Builder cloudwatchDestinations(@Nullable Output> cloudwatchDestinations) {
$.cloudwatchDestinations = cloudwatchDestinations;
return this;
}
/**
* @param cloudwatchDestinations CloudWatch destination for the events
*
* @return builder
*
*/
public Builder cloudwatchDestinations(List cloudwatchDestinations) {
return cloudwatchDestinations(Output.of(cloudwatchDestinations));
}
/**
* @param cloudwatchDestinations CloudWatch destination for the events
*
* @return builder
*
*/
public Builder cloudwatchDestinations(EventDestinationCloudwatchDestinationArgs... cloudwatchDestinations) {
return cloudwatchDestinations(List.of(cloudwatchDestinations));
}
/**
* @param configurationSetName The name of the configuration set
*
* @return builder
*
*/
public Builder configurationSetName(Output configurationSetName) {
$.configurationSetName = configurationSetName;
return this;
}
/**
* @param configurationSetName The name of the configuration set
*
* @return builder
*
*/
public Builder configurationSetName(String configurationSetName) {
return configurationSetName(Output.of(configurationSetName));
}
/**
* @param enabled If true, the event destination will be enabled
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled If true, the event destination will be enabled
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param kinesisDestination Send the events to a kinesis firehose destination
*
* @return builder
*
*/
public Builder kinesisDestination(@Nullable Output kinesisDestination) {
$.kinesisDestination = kinesisDestination;
return this;
}
/**
* @param kinesisDestination Send the events to a kinesis firehose destination
*
* @return builder
*
*/
public Builder kinesisDestination(EventDestinationKinesisDestinationArgs kinesisDestination) {
return kinesisDestination(Output.of(kinesisDestination));
}
/**
* @param matchingTypes A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, `"delivery"`, `"open"`, `"click"`, or `"renderingFailure"`.
*
* @return builder
*
*/
public Builder matchingTypes(Output> matchingTypes) {
$.matchingTypes = matchingTypes;
return this;
}
/**
* @param matchingTypes A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, `"delivery"`, `"open"`, `"click"`, or `"renderingFailure"`.
*
* @return builder
*
*/
public Builder matchingTypes(List matchingTypes) {
return matchingTypes(Output.of(matchingTypes));
}
/**
* @param matchingTypes A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, `"delivery"`, `"open"`, `"click"`, or `"renderingFailure"`.
*
* @return builder
*
*/
public Builder matchingTypes(String... matchingTypes) {
return matchingTypes(List.of(matchingTypes));
}
/**
* @param name The name of the event destination
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the event destination
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param snsDestination Send the events to an SNS Topic destination
*
* > **NOTE:** You can specify `"cloudwatch_destination"` or `"kinesis_destination"` but not both
*
* @return builder
*
*/
public Builder snsDestination(@Nullable Output snsDestination) {
$.snsDestination = snsDestination;
return this;
}
/**
* @param snsDestination Send the events to an SNS Topic destination
*
* > **NOTE:** You can specify `"cloudwatch_destination"` or `"kinesis_destination"` but not both
*
* @return builder
*
*/
public Builder snsDestination(EventDestinationSnsDestinationArgs snsDestination) {
return snsDestination(Output.of(snsDestination));
}
public EventDestinationArgs build() {
if ($.configurationSetName == null) {
throw new MissingRequiredPropertyException("EventDestinationArgs", "configurationSetName");
}
if ($.matchingTypes == null) {
throw new MissingRequiredPropertyException("EventDestinationArgs", "matchingTypes");
}
return $;
}
}
}