package awssesactions import ( "github.com/aws/aws-cdk-go/awscdk/v2/awskms" "github.com/aws/aws-cdk-go/awscdk/v2/awss3" "github.com/aws/aws-cdk-go/awscdk/v2/awssns" ) // 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 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. KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"` // The key prefix of the S3 bucket. ObjectKeyPrefix *string `field:"optional" json:"objectKeyPrefix" yaml:"objectKeyPrefix"` // The SNS topic to notify when the S3 action is taken. Topic awssns.ITopic `field:"optional" json:"topic" yaml:"topic"` }