Files
grafana/pkg/services/ngalert/api/tooling/definitions/time_intervals.go
William Wernert 2ab7d3c725 Alerting: Receivers API (read only endpoints) (#81751)
* Add single receiver method

* Add receiver permissions

* Add single/multi GET endpoints for receivers

* Remove stable tag from time intervals

See end of PR description here: https://github.com/grafana/grafana/pull/81672
2024-02-05 20:12:15 +02:00

65 lines
2.0 KiB
Go

package definitions
// swagger:route GET /v1/notifications/time-intervals notifications RouteNotificationsGetTimeIntervals
//
// Get all the time intervals
//
// Responses:
// 200: GetAllIntervalsResponse
// 403: ForbiddenError
// swagger:route GET /v1/notifications/time-intervals/{name} notifications RouteNotificationsGetTimeInterval
//
// Get a time interval by name.
//
// Responses:
// 200: GetIntervalsByNameResponse
// 404: NotFound
// 403: ForbiddenError
// swagger:parameters RouteNotificationsGetTimeInterval
type RouteTimeIntervalNameParam struct {
// Time interval name
// in:path
Name string `json:"name"`
}
// swagger:response GetAllIntervalsResponse
type GetAllIntervalsResponse struct {
// in:body
Body []GettableTimeIntervals
}
// swagger:response GetIntervalsByNameResponse
type GetIntervalsByNameResponse struct {
// in:body
Body GettableTimeIntervals
}
// swagger:model
type PostableTimeIntervals struct {
Name string `json:"name" hcl:"name"`
TimeIntervals []TimeIntervalItem `json:"time_intervals" hcl:"intervals,block"`
}
type TimeIntervalItem struct {
Times []TimeIntervalTimeRange `json:"times,omitempty" hcl:"times,block"`
Weekdays *[]string `json:"weekdays,omitempty" hcl:"weekdays"`
DaysOfMonth *[]string `json:"days_of_month,omitempty" hcl:"days_of_month"`
Months *[]string `json:"months,omitempty" hcl:"months"`
Years *[]string `json:"years,omitempty" hcl:"years"`
Location *string `json:"location,omitempty" hcl:"location"`
}
type TimeIntervalTimeRange struct {
StartMinute string `json:"start_time" hcl:"start"`
EndMinute string `json:"end_time" hcl:"end"`
}
// swagger:model
type GettableTimeIntervals struct {
Name string `json:"name" hcl:"name"`
TimeIntervals []TimeIntervalItem `json:"time_intervals" hcl:"intervals,block"`
Provenance Provenance `json:"provenance,omitempty"`
}