// GENERATED, DO NOT EDIT THIS FILE
package aws

const AwsS3BucketNotificationResourceType = "aws_s3_bucket_notification"

type AwsS3BucketNotification struct {
	Bucket         *string `cty:"bucket" diff:"-"`
	Id             string  `cty:"id" diff:"-" computed:"true"`
	LambdaFunction *[]struct {
		Events            []string `cty:"events"`
		FilterPrefix      *string  `cty:"filter_prefix"`
		FilterSuffix      *string  `cty:"filter_suffix"`
		Id                string   `cty:"id" computed:"true"`
		LambdaFunctionArn *string  `cty:"lambda_function_arn"`
	} `cty:"lambda_function"`
	Queue *[]struct {
		Events       []string `cty:"events"`
		FilterPrefix *string  `cty:"filter_prefix"`
		FilterSuffix *string  `cty:"filter_suffix"`
		Id           string   `cty:"id" computed:"true"`
		QueueArn     *string  `cty:"queue_arn"`
	} `cty:"queue"`
	Topic *[]struct {
		Events       []string `cty:"events"`
		FilterPrefix *string  `cty:"filter_prefix"`
		FilterSuffix *string  `cty:"filter_suffix"`
		Id           string   `cty:"id" computed:"true"`
		TopicArn     *string  `cty:"topic_arn"`
	} `cty:"topic"`
}

func (r *AwsS3BucketNotification) TerraformId() string {
	return r.Id
}

func (r *AwsS3BucketNotification) TerraformType() string {
	return AwsS3BucketNotificationResourceType
}
