1package queues
2
3type StorageServiceProperties struct {
4	Logging       *LoggingConfig `xml:"Logging,omitempty"`
5	HourMetrics   *MetricsConfig `xml:"HourMetrics,omitempty"`
6	MinuteMetrics *MetricsConfig `xml:"MinuteMetrics,omitempty"`
7	Cors          *Cors          `xml:"Cors,omitempty"`
8}
9
10type LoggingConfig struct {
11	Version         string          `xml:"Version"`
12	Delete          bool            `xml:"Delete"`
13	Read            bool            `xml:"Read"`
14	Write           bool            `xml:"Write"`
15	RetentionPolicy RetentionPolicy `xml:"RetentionPolicy"`
16}
17
18type MetricsConfig struct {
19	Version         string          `xml:"Version"`
20	Enabled         bool            `xml:"Enabled"`
21	RetentionPolicy RetentionPolicy `xml:"RetentionPolicy"`
22
23	// Element IncludeAPIs is only expected when Metrics is enabled
24	IncludeAPIs *bool `xml:"IncludeAPIs,omitempty"`
25}
26
27type RetentionPolicy struct {
28	Enabled bool `xml:"Enabled"`
29	Days    int  `xml:"Days"`
30}
31
32type Cors struct {
33	CorsRule []CorsRule `xml:"CorsRule"`
34}
35
36type CorsRule struct {
37	AllowedOrigins  string `xml:"AllowedOrigins"`
38	AllowedMethods  string `xml:"AllowedMethods"`
39	AllowedHeaders  string `xml:"AllowedHeaders`
40	ExposedHeaders  string `xml:"ExposedHeaders"`
41	MaxAgeInSeconds int    `xml:"MaxAgeInSeconds"`
42}
43