mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 08:13:47 +08:00
160 lines
4.5 KiB
Go
160 lines
4.5 KiB
Go
package definitions
|
|
|
|
import (
|
|
"github.com/prometheus/alertmanager/config"
|
|
)
|
|
|
|
// swagger:route GET /v1/provisioning/mute-timings provisioning stable RouteGetMuteTimings
|
|
//
|
|
// Get all the mute timings.
|
|
//
|
|
// Responses:
|
|
// 200: MuteTimings
|
|
|
|
// swagger:route GET /v1/provisioning/mute-timings/export provisioning stable RouteExportMuteTimings
|
|
//
|
|
// Export all mute timings in provisioning format.
|
|
//
|
|
// Produces:
|
|
// - application/json
|
|
// - application/yaml
|
|
// - application/terraform+hcl
|
|
// - text/yaml
|
|
// - text/hcl
|
|
//
|
|
// Responses:
|
|
// 200: AlertingFileExport
|
|
// 403: PermissionDenied
|
|
|
|
// swagger:route GET /v1/provisioning/mute-timings/{name} provisioning stable RouteGetMuteTiming
|
|
//
|
|
// Get a mute timing.
|
|
//
|
|
// Responses:
|
|
// 200: MuteTimeInterval
|
|
// 404: description: Not found.
|
|
|
|
// swagger:route GET /v1/provisioning/mute-timings/{name}/export provisioning stable RouteExportMuteTiming
|
|
//
|
|
// Export a mute timing in provisioning format.
|
|
//
|
|
// Produces:
|
|
// - application/json
|
|
// - application/yaml
|
|
// - application/terraform+hcl
|
|
// - text/yaml
|
|
// - text/hcl
|
|
//
|
|
// Responses:
|
|
// 200: AlertingFileExport
|
|
// 403: PermissionDenied
|
|
|
|
// swagger:route POST /v1/provisioning/mute-timings provisioning stable RoutePostMuteTiming
|
|
//
|
|
// Create a new mute timing.
|
|
//
|
|
// Consumes:
|
|
// - application/json
|
|
//
|
|
// Responses:
|
|
// 201: MuteTimeInterval
|
|
// 400: ValidationError
|
|
|
|
// swagger:route PUT /v1/provisioning/mute-timings/{name} provisioning stable RoutePutMuteTiming
|
|
//
|
|
// Replace an existing mute timing.
|
|
//
|
|
// Consumes:
|
|
// - application/json
|
|
//
|
|
// Responses:
|
|
// 202: MuteTimeInterval
|
|
// 400: ValidationError
|
|
// 409: PublicError
|
|
|
|
// swagger:route DELETE /v1/provisioning/mute-timings/{name} provisioning stable RouteDeleteMuteTiming
|
|
//
|
|
// Delete a mute timing.
|
|
//
|
|
// Responses:
|
|
// 204: description: The mute timing was deleted successfully.
|
|
// 409: PublicError
|
|
|
|
// swagger:route
|
|
|
|
// swagger:model
|
|
type MuteTimings []MuteTimeInterval
|
|
|
|
// swagger:parameters RouteGetTemplate RouteGetMuteTiming RoutePutMuteTiming stable RouteExportMuteTiming
|
|
type RouteGetMuteTimingParam struct {
|
|
// Mute timing name
|
|
// in:path
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// swagger:parameters stable RouteDeleteMuteTiming
|
|
type RouteDeleteMuteTimingParam struct {
|
|
// Mute timing name
|
|
// in:path
|
|
Name string `json:"name"`
|
|
|
|
// Version of mute timing to use for optimistic concurrency. Leave empty to disable validation
|
|
// in:query
|
|
Version string `json:"version"`
|
|
}
|
|
|
|
// swagger:parameters RoutePostMuteTiming RoutePutMuteTiming
|
|
type MuteTimingPayload struct {
|
|
// in:body
|
|
Body MuteTimeInterval
|
|
}
|
|
|
|
// swagger:parameters RoutePostMuteTiming RoutePutMuteTiming RouteDeleteMuteTiming
|
|
type MuteTimingHeaders struct {
|
|
// in:header
|
|
XDisableProvenance string `json:"X-Disable-Provenance"`
|
|
}
|
|
|
|
// swagger:model
|
|
type MuteTimeInterval struct {
|
|
UID string `json:"-" yaml:"-"`
|
|
config.MuteTimeInterval `json:",inline" yaml:",inline"`
|
|
Version string `json:"version,omitempty"`
|
|
Provenance Provenance `json:"provenance,omitempty"`
|
|
}
|
|
|
|
func (mt *MuteTimeInterval) ResourceType() string {
|
|
return "muteTimeInterval"
|
|
}
|
|
|
|
func (mt *MuteTimeInterval) ResourceID() string {
|
|
return mt.Name
|
|
}
|
|
|
|
type MuteTimeIntervalExport struct {
|
|
OrgID int64 `json:"orgId" yaml:"orgId"`
|
|
config.MuteTimeInterval `json:",inline" yaml:",inline"`
|
|
}
|
|
|
|
// MuteTimeIntervalExportHcl is a representation of the MuteTimeInterval in HCL
|
|
type MuteTimeIntervalExportHcl struct {
|
|
Name string `json:"name" hcl:"name"`
|
|
TimeIntervals []TimeIntervalExportHcl `json:"time_intervals" hcl:"intervals,block"`
|
|
}
|
|
|
|
// TimeIntervalExportHcl is a representation of the timeinterval.TimeInterval in HCL
|
|
type TimeIntervalExportHcl struct {
|
|
Times []TimeRangeExportHcl `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"`
|
|
}
|
|
|
|
// TimeRangeExportHcl is a representation of the timeinterval.TimeRange in HCL
|
|
type TimeRangeExportHcl struct {
|
|
StartMinute string `json:"start_time" hcl:"start"`
|
|
EndMinute string `json:"end_time" hcl:"end"`
|
|
}
|