Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action int
Action represents a delete action or other transition actions that will be implemented later.
type And ¶
type And struct { XMLName xml.Name `xml:"And"` Prefix string `xml:"Prefix,omitempty"` Tags []Tag `xml:"Tag,omitempty"` }
And - a tag to combine a prefix and multiple tags for lifecycle configuration rule.
func (And) MarshalXML ¶
MarshalXML is extended to leave out <And></And> tags
func (And) UnmarshalXML ¶
UnmarshalXML is extended to indicate lack of support for And xml tag in object lifecycle configuration
type Expiration ¶
type Expiration struct { XMLName xml.Name `xml:"Expiration"` Days ExpirationDays `xml:"Days,omitempty"` Date ExpirationDate `xml:"Date,omitempty"` }
Expiration - expiration actions for a rule in lifecycle configuration.
func (Expiration) IsDateNull ¶
func (e Expiration) IsDateNull() bool
IsDateNull returns true if date field is null
func (Expiration) IsDaysNull ¶
func (e Expiration) IsDaysNull() bool
IsDaysNull returns true if days field is null
func (Expiration) IsNull ¶
func (e Expiration) IsNull() bool
IsNull returns true if both date and days fields are null
func (Expiration) Validate ¶
func (e Expiration) Validate() error
Validate - validates the "Expiration" element
type ExpirationDate ¶
ExpirationDate is a embedded type containing time.Time to unmarshal Date in Expiration
func (*ExpirationDate) MarshalXML ¶
func (eDate *ExpirationDate) MarshalXML(e *xml.Encoder, startElement xml.StartElement) error
MarshalXML encodes expiration date if it is non-zero and encodes empty string otherwise
func (*ExpirationDate) UnmarshalXML ¶
func (eDate *ExpirationDate) UnmarshalXML(d *xml.Decoder, startElement xml.StartElement) error
UnmarshalXML parses date from Expiration and validates date format
type ExpirationDays ¶
type ExpirationDays int
ExpirationDays is a type alias to unmarshal Days in Expiration
func (*ExpirationDays) MarshalXML ¶
func (eDays *ExpirationDays) MarshalXML(e *xml.Encoder, startElement xml.StartElement) error
MarshalXML encodes number of days to expire if it is non-zero and encodes empty string otherwise
func (*ExpirationDays) UnmarshalXML ¶
func (eDays *ExpirationDays) UnmarshalXML(d *xml.Decoder, startElement xml.StartElement) error
UnmarshalXML parses number of days from Expiration and validates if greater than zero
type Filter ¶
type Filter struct { XMLName xml.Name `xml:"Filter"` And And `xml:"And,omitempty"` Prefix string `xml:"Prefix"` Tag Tag `xml:"Tag,omitempty"` }
Filter - a filter for a lifecycle configuration Rule.
type Lifecycle ¶
Lifecycle - Configuration for bucket lifecycle.
func ParseLifecycleConfig ¶
ParseLifecycleConfig - parses data in given reader to Lifecycle.
func (Lifecycle) ComputeAction ¶
ComputeAction returns the action to perform by evaluating all lifecycle rules against the object name and its modification time.
func (Lifecycle) FilterRuleActions ¶
func (lc Lifecycle) FilterRuleActions(objName string) (Expiration, Transition)
FilterRuleActions returns the expiration and transition from the object name after evaluating all rules.
type NoncurrentVersionExpiration ¶
type NoncurrentVersionExpiration struct { XMLName xml.Name `xml:"NoncurrentVersionExpiration"` NoncurrentDays int `xml:"NoncurrentDays,omitempty"` }
NoncurrentVersionExpiration - an action for lifecycle configuration rule.
func (NoncurrentVersionExpiration) MarshalXML ¶
func (n NoncurrentVersionExpiration) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML is extended to leave out <NoncurrentVersionExpiration></NoncurrentVersionExpiration> tags
func (NoncurrentVersionExpiration) UnmarshalXML ¶
func (n NoncurrentVersionExpiration) UnmarshalXML(d *xml.Decoder, startElement xml.StartElement) error
UnmarshalXML is extended to indicate lack of support for NoncurrentVersionExpiration xml tag in object lifecycle configuration
type NoncurrentVersionTransition ¶
type NoncurrentVersionTransition struct { NoncurrentDays int `xml:"NoncurrentDays"` StorageClass string `xml:"StorageClass"` }
NoncurrentVersionTransition - an action for lifecycle configuration rule.
func (NoncurrentVersionTransition) MarshalXML ¶
func (n NoncurrentVersionTransition) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML is extended to leave out <NoncurrentVersionTransition></NoncurrentVersionTransition> tags
func (NoncurrentVersionTransition) UnmarshalXML ¶
func (n NoncurrentVersionTransition) UnmarshalXML(d *xml.Decoder, startElement xml.StartElement) error
UnmarshalXML is extended to indicate lack of support for NoncurrentVersionTransition xml tag in object lifecycle configuration
type Rule ¶
type Rule struct { XMLName xml.Name `xml:"Rule"` ID string `xml:"ID,omitempty"` Status string `xml:"Status"` Filter Filter `xml:"Filter"` Expiration Expiration `xml:"Expiration,omitempty"` Transition Transition `xml:"Transition,omitempty"` // FIXME: add a type to catch unsupported AbortIncompleteMultipartUpload AbortIncompleteMultipartUpload `xml:"AbortIncompleteMultipartUpload,omitempty"` NoncurrentVersionExpiration NoncurrentVersionExpiration `xml:"NoncurrentVersionExpiration,omitempty"` NoncurrentVersionTransition NoncurrentVersionTransition `xml:"NoncurrentVersionTransition,omitempty"` }
Rule - a rule for lifecycle configuration.
type Tag ¶
type Tag struct { XMLName xml.Name `xml:"Tag"` Key string `xml:"Key,omitempty"` Value string `xml:"Value,omitempty"` }
Tag - a tag for a lifecycle configuration Rule filter.
func (Tag) MarshalXML ¶
MarshalXML is extended to leave out <Tag></Tag> tags
func (Tag) UnmarshalXML ¶
UnmarshalXML is extended to indicate lack of support for Tag xml tag in object lifecycle configuration
type Transition ¶
type Transition struct { XMLName xml.Name `xml:"Transition"` Days int `xml:"Days,omitempty"` Date string `xml:"Date,omitempty"` StorageClass string `xml:"StorageClass"` }
Transition - transition actions for a rule in lifecycle configuration.
func (Transition) MarshalXML ¶
func (t Transition) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML is extended to leave out <Transition></Transition> tags
func (Transition) UnmarshalXML ¶
func (t Transition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
UnmarshalXML is extended to indicate lack of support for Transition xml tag in object lifecycle configuration