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