package data import "encoding/xml" type ( NotificationConfiguration struct { XMLName xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ NotificationConfiguration" json:"-"` QueueConfigurations []QueueConfiguration `xml:"QueueConfiguration" json:"QueueConfigurations"` // Not supported topics TopicConfigurations []TopicConfiguration `xml:"TopicConfiguration" json:"TopicConfigurations"` LambdaFunctionConfigurations []LambdaFunctionConfiguration `xml:"CloudFunctionConfiguration" json:"CloudFunctionConfigurations"` } QueueConfiguration struct { ID string `xml:"Id" json:"Id"` QueueArn string `xml:"Queue" json:"Queue"` Events []string `xml:"Event" json:"Events"` Filter Filter `xml:"Filter" json:"Filter"` } Filter struct { Key Key `xml:"S3Key" json:"S3Key"` } Key struct { FilterRules []FilterRule `xml:"FilterRule" json:"FilterRules"` } FilterRule struct { Name string `xml:"Name" json:"Name"` Value string `xml:"Value" json:"Value"` } // TopicConfiguration and LambdaFunctionConfiguration -- we don't support these configurations, // but we need them to detect in notification configurations in requests. TopicConfiguration struct{} LambdaFunctionConfiguration struct{} ) func (n NotificationConfiguration) IsEmpty() bool { return len(n.QueueConfigurations) == 0 && len(n.TopicConfigurations) == 0 && len(n.LambdaFunctionConfigurations) == 0 }