package event

import "time"

const (
	K8sCalendarEventTypeVersionAdded   EventType = "version_added"
	K8sCalendarEventTypeEOSChanged     EventType = "eos_changed"
	K8sCalendarEventTypeEOSApproaching EventType = "eos_approaching"
)

type K8sCalendarEventDetail struct {
	Cloud                string     `json:"cloud"`
	Version              string     `json:"version"`
	CloudProvider        string     `json:"cloud_provider"`
	LifecycleStart       time.Time  `json:"lifecycle_start"`
	EndOfStandardSupport time.Time  `json:"end_of_standard_support"`
	EndOfExtendedSupport *time.Time `json:"end_of_extended_support,omitempty"`
	ReleasePrecision     string     `json:"release_precision"`
	SourceURL            string     `json:"source_url"`
	DaysUntilEOS         int        `json:"days_until_eos"`
}

type K8sCalendarEvent struct {
	BaseEvent `json:",inline"`

	Details K8sCalendarEventDetail `json:"details"`
}
