Documentation ¶
Index ¶
- func NewAddHeader_Override(a AddHeader, props *AddHeaderProps)
- func NewBounceTemplate_Override(b BounceTemplate, props *BounceTemplateProps)
- func NewBounce_Override(b Bounce, props *BounceProps)
- func NewLambda_Override(l Lambda, props *LambdaProps)
- func NewS3_Override(s S3, props *S3Props)
- func NewSns_Override(s Sns, props *SnsProps)
- func NewStop_Override(s Stop, props *StopProps)
- func NewWorkMail_Override(w WorkMail, props *WorkMailProps)
- type AddHeader
- type AddHeaderProps
- type Bounce
- type BounceProps
- type BounceTemplate
- func BounceTemplate_MAILBOX_DOES_NOT_EXIST() BounceTemplate
- func BounceTemplate_MAILBOX_FULL() BounceTemplate
- func BounceTemplate_MESSAGE_CONTENT_REJECTED() BounceTemplate
- func BounceTemplate_MESSAGE_TOO_LARGE() BounceTemplate
- func BounceTemplate_TEMPORARY_FAILURE() BounceTemplate
- func NewBounceTemplate(props *BounceTemplateProps) BounceTemplate
- type BounceTemplateProps
- type EmailEncoding
- type Lambda
- type LambdaInvocationType
- type LambdaProps
- type S3
- type S3Props
- type Sns
- type SnsProps
- type Stop
- type StopProps
- type WorkMail
- type WorkMailProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAddHeader_Override ¶
func NewAddHeader_Override(a AddHeader, props *AddHeaderProps)
func NewBounceTemplate_Override ¶
func NewBounceTemplate_Override(b BounceTemplate, props *BounceTemplateProps)
func NewBounce_Override ¶
func NewBounce_Override(b Bounce, props *BounceProps)
func NewLambda_Override ¶
func NewLambda_Override(l Lambda, props *LambdaProps)
func NewS3_Override ¶
func NewSns_Override ¶
func NewStop_Override ¶
func NewWorkMail_Override ¶ added in v2.139.0
func NewWorkMail_Override(w WorkMail, props *WorkMailProps)
Types ¶
type AddHeader ¶
type AddHeader interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(_rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Adds a header to the received email.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
func NewAddHeader ¶
func NewAddHeader(props *AddHeaderProps) AddHeader
type AddHeaderProps ¶
type AddHeaderProps struct { // The name of the header to add. // // Must be between 1 and 50 characters, // inclusive, and consist of alphanumeric (a-z, A-Z, 0-9) characters // and dashes only. Name *string `field:"required" json:"name" yaml:"name"` // The value of the header to add. // // Must be less than 2048 characters, // and must not contain newline characters ("\r" or "\n"). Value *string `field:"required" json:"value" yaml:"value"` }
Construction properties for a add header action.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
type Bounce ¶
type Bounce interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(_rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon SNS.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bounceTemplate bounceTemplate var topic topic bounce := awscdk.Aws_ses_actions.NewBounce(&BounceProps{ Sender: jsii.String("sender"), Template: bounceTemplate, // the properties below are optional Topic: topic, })
func NewBounce ¶
func NewBounce(props *BounceProps) Bounce
type BounceProps ¶
type BounceProps struct { // The email address of the sender of the bounced email. // // This is the address // from which the bounce message will be sent. Sender *string `field:"required" json:"sender" yaml:"sender"` // The template containing the message, reply code and status code. Template BounceTemplate `field:"required" json:"template" yaml:"template"` // The SNS topic to notify when the bounce action is taken. // Default: no notification. // Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }
Construction properties for a bounce action.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bounceTemplate bounceTemplate var topic topic bounceProps := &BounceProps{ Sender: jsii.String("sender"), Template: bounceTemplate, // the properties below are optional Topic: topic, }
type BounceTemplate ¶
type BounceTemplate interface {
Props() *BounceTemplateProps
}
A bounce template.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" bounceTemplate := awscdk.Aws_ses_actions.BounceTemplate_MAILBOX_DOES_NOT_EXIST()
func BounceTemplate_MAILBOX_DOES_NOT_EXIST ¶
func BounceTemplate_MAILBOX_DOES_NOT_EXIST() BounceTemplate
func BounceTemplate_MAILBOX_FULL ¶
func BounceTemplate_MAILBOX_FULL() BounceTemplate
func BounceTemplate_MESSAGE_CONTENT_REJECTED ¶
func BounceTemplate_MESSAGE_CONTENT_REJECTED() BounceTemplate
func BounceTemplate_MESSAGE_TOO_LARGE ¶
func BounceTemplate_MESSAGE_TOO_LARGE() BounceTemplate
func BounceTemplate_TEMPORARY_FAILURE ¶
func BounceTemplate_TEMPORARY_FAILURE() BounceTemplate
func NewBounceTemplate ¶
func NewBounceTemplate(props *BounceTemplateProps) BounceTemplate
type BounceTemplateProps ¶
type BounceTemplateProps struct { // Human-readable text to include in the bounce message. Message *string `field:"required" json:"message" yaml:"message"` // The SMTP reply code, as defined by RFC 5321. // See: https://tools.ietf.org/html/rfc5321 // SmtpReplyCode *string `field:"required" json:"smtpReplyCode" yaml:"smtpReplyCode"` // The SMTP enhanced status code, as defined by RFC 3463. // See: https://tools.ietf.org/html/rfc3463 // StatusCode *string `field:"optional" json:"statusCode" yaml:"statusCode"` }
Construction properties for a BounceTemplate.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" bounceTemplateProps := &BounceTemplateProps{ Message: jsii.String("message"), SmtpReplyCode: jsii.String("smtpReplyCode"), // the properties below are optional StatusCode: jsii.String("statusCode"), }
type EmailEncoding ¶
type EmailEncoding string
The type of email encoding to use for a SNS action.
const ( // Base 64. EmailEncoding_BASE64 EmailEncoding = "BASE64" // UTF-8. EmailEncoding_UTF8 EmailEncoding = "UTF8" )
type Lambda ¶
type Lambda interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var function_ function var topic topic lambda := awscdk.Aws_ses_actions.NewLambda(&LambdaProps{ Function: function_, // the properties below are optional InvocationType: awscdk.*Aws_ses_actions.LambdaInvocationType_EVENT, Topic: topic, })
func NewLambda ¶
func NewLambda(props *LambdaProps) Lambda
type LambdaInvocationType ¶
type LambdaInvocationType string
The type of invocation to use for a Lambda Action.
const ( // The function will be invoked asynchronously. LambdaInvocationType_EVENT LambdaInvocationType = "EVENT" // The function will be invoked sychronously. // // Use RequestResponse only when // you want to make a mail flow decision, such as whether to stop the receipt // rule or the receipt rule set. LambdaInvocationType_REQUEST_RESPONSE LambdaInvocationType = "REQUEST_RESPONSE" )
type LambdaProps ¶
type LambdaProps struct { // The Lambda function to invoke. Function awslambda.IFunction `field:"required" json:"function" yaml:"function"` // The invocation type of the Lambda function. // Default: Event. // InvocationType LambdaInvocationType `field:"optional" json:"invocationType" yaml:"invocationType"` // The SNS topic to notify when the Lambda action is taken. // Default: no notification. // Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }
Construction properties for a Lambda action.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var function_ function var topic topic lambdaProps := &LambdaProps{ Function: function_, // the properties below are optional InvocationType: awscdk.Aws_ses_actions.LambdaInvocationType_EVENT, Topic: topic, }
type S3 ¶
type S3 interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Saves the received message to an Amazon S3 bucket and, optionally, publishes a notification to Amazon SNS.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
type S3Props ¶
type S3Props struct { // The S3 bucket that incoming email will be saved to. Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"` // The master key that SES should use to encrypt your emails before saving them to the S3 bucket. // Default: no encryption. // KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"` // The key prefix of the S3 bucket. // Default: no prefix. // ObjectKeyPrefix *string `field:"optional" json:"objectKeyPrefix" yaml:"objectKeyPrefix"` // The SNS topic to notify when the S3 action is taken. // Default: no notification. // Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }
Construction properties for a S3 action.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
type Sns ¶
type Sns interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(_rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Publishes the email content within a notification to Amazon SNS.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
type SnsProps ¶
type SnsProps struct { // The SNS topic to notify. Topic awssns.ITopic `field:"required" json:"topic" yaml:"topic"` // The encoding to use for the email within the Amazon SNS notification. // Default: UTF-8. // Encoding EmailEncoding `field:"optional" json:"encoding" yaml:"encoding"` }
Construction properties for a SNS action.
Example:
import s3 "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" bucket := s3.NewBucket(this, jsii.String("Bucket")) topic := sns.NewTopic(this, jsii.String("Topic")) ses.NewReceiptRuleSet(this, jsii.String("RuleSet"), &ReceiptRuleSetProps{ Rules: []receiptRuleOptions{ &receiptRuleOptions{ Recipients: []*string{ jsii.String("hello@aws.com"), }, Actions: []iReceiptRuleAction{ actions.NewAddHeader(&AddHeaderProps{ Name: jsii.String("X-Special-Header"), Value: jsii.String("aws"), }), actions.NewS3(&S3Props{ Bucket: *Bucket, ObjectKeyPrefix: jsii.String("emails/"), Topic: *Topic, }), }, }, &receiptRuleOptions{ Recipients: []*string{ jsii.String("aws.com"), }, Actions: []*iReceiptRuleAction{ actions.NewSns(&SnsProps{ Topic: *Topic, }), }, }, }, })
type Stop ¶
type Stop interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(_rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var topic topic stop := awscdk.Aws_ses_actions.NewStop(&StopProps{ Topic: topic, })
type StopProps ¶
type StopProps struct { // The SNS topic to notify when the stop action is taken. Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }
Construction properties for a stop action.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var topic topic stopProps := &StopProps{ Topic: topic, }
type WorkMail ¶ added in v2.139.0
type WorkMail interface { awsses.IReceiptRuleAction // Returns the receipt rule action specification. Bind(_rule awsses.IReceiptRule) *awsses.ReceiptRuleActionConfig }
Integrates an Amazon WorkMail action into a receipt rule set, and optionally publishes a notification to Amazon SNS.
Beware that WorkMail should already set up an active `INBOUND_MAIL` rule set that includes a WorkMail rule action for this exact purpose. This action should be used to customize the behavior of replacement rule set.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var topic topic workMail := awscdk.Aws_ses_actions.NewWorkMail(&WorkMailProps{ OrganizationArn: jsii.String("organizationArn"), // the properties below are optional Topic: topic, })
See: https://docs.aws.amazon.com/ses/latest/dg/receiving-email-action-workmail.html
func NewWorkMail ¶ added in v2.139.0
func NewWorkMail(props *WorkMailProps) WorkMail
type WorkMailProps ¶ added in v2.139.0
type WorkMailProps struct { // The WorkMail organization ARN. // // Amazon WorkMail organization ARNs are in the form // `arn:aws:workmail:region:account_ID:organization/organization_ID`. // // Example: // "arn:aws:workmail:us-east-1:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7" // OrganizationArn *string `field:"required" json:"organizationArn" yaml:"organizationArn"` // The SNS topic to notify when the WorkMail action is taken. // Default: - no topic will be attached to the action. // Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }
Construction properties for a WorkMail action.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var topic topic workMailProps := &WorkMailProps{ OrganizationArn: jsii.String("organizationArn"), // the properties below are optional Topic: topic, }
Source Files ¶
- AddHeader.go
- AddHeaderProps.go
- AddHeader__checks.go
- Bounce.go
- BounceProps.go
- BounceTemplate.go
- BounceTemplateProps.go
- BounceTemplate__checks.go
- Bounce__checks.go
- EmailEncoding.go
- Lambda.go
- LambdaInvocationType.go
- LambdaProps.go
- Lambda__checks.go
- S3.go
- S3Props.go
- S3__checks.go
- Sns.go
- SnsProps.go
- Sns__checks.go
- Stop.go
- StopProps.go
- Stop__checks.go
- WorkMail.go
- WorkMailProps.go
- WorkMail__checks.go
- main.go