package event

var (
	CloudConfigConfigChangeEventTypeCreate         EventType = "create"
	CloudConfigConfigChangeEventTypeSendApproval   EventType = "send_approval"
	CloudConfigConfigChangeEventTypeFinishApproval EventType = "finish_approval"
	CloudConfigConfigChangeEventTypeApply          EventType = "apply"
	CloudConfigConfigChangeEventTypeApplied        EventType = "applied"
	CloudConfigConfigChangeEventTypeCancel         EventType = "cancel"

	CloudConfigDefaultConfigChangeEventTypeCreate          EventType = "create"
	CloudConfigDefaultConfigChangeEventTypeUpdate          EventType = "update"
	CloudConfigDefaultConfigChangeEventTypeReleaseStart    EventType = "release_start"
	CloudConfigDefaultConfigChangeEventTypeReleaseRollback EventType = "release_rollback"
	CloudConfigDefaultConfigChangeEventTypeReleaseApply    EventType = "release_apply"
	CloudConfigDefaultConfigChangeEventTypeReleaseCancel   EventType = "release_cancel"
	CloudConfigDefaultConfigChangeEventTypeClose           EventType = "close"
)

type CloudConfigChangeEventDetail struct {
}

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

	Details CloudConfigChangeEventDetail `json:"details"`
}

type CloudConfigDefaultConfigChangeEventRelease struct {
	Env           string `json:"env"`
	ReleaseNumber uint64 `json:"release_number"`
}

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

	Details any `json:"details"`
}
