EmailChannelArgs

data class EmailChannelArgs(val applicationId: Output<String>? = null, val configurationSet: Output<String>? = null, val enabled: Output<Boolean>? = null, val fromAddress: Output<String>? = null, val identity: Output<String>? = null, val roleArn: Output<String>? = null) : ConvertibleToJava<EmailChannelArgs>

Provides a Pinpoint Email Channel resource.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.pinpoint.App;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.pinpoint.EmailChannel;
import com.pulumi.aws.pinpoint.EmailChannelArgs;
import com.pulumi.aws.ses.DomainIdentity;
import com.pulumi.aws.ses.DomainIdentityArgs;
import com.pulumi.aws.iam.RolePolicy;
import com.pulumi.aws.iam.RolePolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var app = new App("app");
final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers("pinpoint.amazonaws.com")
.build())
.actions("sts:AssumeRole")
.build())
.build());
var role = new Role("role", RoleArgs.builder()
.assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.build());
var email = new EmailChannel("email", EmailChannelArgs.builder()
.applicationId(app.applicationId())
.fromAddress("user@example.com")
.roleArn(role.arn())
.build());
var identity = new DomainIdentity("identity", DomainIdentityArgs.builder()
.domain("example.com")
.build());
final var rolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.actions(
"mobileanalytics:PutEvents",
"mobileanalytics:PutItems")
.resources("*")
.build())
.build());
var rolePolicyRolePolicy = new RolePolicy("rolePolicyRolePolicy", RolePolicyArgs.builder()
.role(role.id())
.policy(rolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.build());
}
}

Import

Pinpoint Email Channel can be imported using the application-id, e.g.,

$ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id

Constructors

Link copied to clipboard
constructor(applicationId: Output<String>? = null, configurationSet: Output<String>? = null, enabled: Output<Boolean>? = null, fromAddress: Output<String>? = null, identity: Output<String>? = null, roleArn: Output<String>? = null)

Properties

Link copied to clipboard
val applicationId: Output<String>? = null

The application ID.

Link copied to clipboard
val configurationSet: Output<String>? = null

The ARN of the Amazon SES configuration set that you want to apply to messages that you send through the channel.

Link copied to clipboard
val enabled: Output<Boolean>? = null

Whether the channel is enabled or disabled. Defaults to true.

Link copied to clipboard
val fromAddress: Output<String>? = null

The email address used to send emails from. You can use email only (user@example.com) or friendly address (User <user@example.com>). This field comply with RFC 5322.

Link copied to clipboard
val identity: Output<String>? = null

The ARN of an identity verified with SES.

Link copied to clipboard
val roleArn: Output<String>? = null

The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service.

Functions

Link copied to clipboard
open override fun toJava(): EmailChannelArgs