Documentation
¶
Index ¶
- func AlertStatusStateValidator(s AlertStatusState) error
- func ClusterStatusStatusValidator(s ClusterStatusStatus) error
- func SilenceStatusStateValidator(s SilenceStatusState) error
- type APIClient
- type Alert
- type AlertAPI
- type AlertGroup
- type AlertGroups
- type AlertStatus
- type AlertStatusState
- type AlertmanagerConfig
- type AlertmanagerStatus
- type ClusterStatus
- type ClusterStatusStatus
- type Config
- type DeleteSilenceRequest
- type GeneralAPI
- type GetAlertsRequest
- type GetSilenceRequest
- type GetSilencesRequest
- type GettableAlert
- type GettableAlerts
- type GettableSilence
- type GettableSilences
- type InterceptFunc
- type LabelSet
- type Matcher
- type Matchers
- type PeerStatus
- type PostAlertsRequest
- type PostPushRequest
- type PostSilencesRequest
- type PostSilencesResponse
- type PostableAlert
- type PostableAlerts
- type PostableSilence
- type PushAPI
- type PushData
- type Receiver
- type ReceiverAPI
- type Silence
- type SilenceAPI
- func (a *SilenceAPI) DeleteSilence(ctx context.Context, req *DeleteSilenceRequest) (resp *http.Response, err error)
- func (a *SilenceAPI) GetSilence(ctx context.Context, req *GetSilenceRequest) (ret *GettableSilence, resp *http.Response, err error)
- func (a *SilenceAPI) GetSilences(ctx context.Context, req *GetSilencesRequest) (ret GettableSilences, resp *http.Response, err error)
- func (a *SilenceAPI) PostSilences(ctx context.Context, req *PostSilencesRequest) (ret *PostSilencesResponse, resp *http.Response, err error)
- type SilenceStatus
- type SilenceStatusState
- type VersionInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AlertStatusStateValidator ¶
func AlertStatusStateValidator(s AlertStatusState) error
AlertStatusStateValidator is a validator for the AlertStatusState field enum values.
func ClusterStatusStatusValidator ¶
func ClusterStatusStatusValidator(s ClusterStatusStatus) error
ClusterStatusStatusValidator is a validator for the ClusterStatusStatus field enum values.
func SilenceStatusStateValidator ¶
func SilenceStatusStateValidator(s SilenceStatusState) error
SilenceStatusStateValidator is a validator for the SilenceStatusState field enum values.
Types ¶
type APIClient ¶
type APIClient struct {
GeneralAPI *GeneralAPI
ReceiverAPI *ReceiverAPI
SilenceAPI *SilenceAPI
AlertAPI *AlertAPI
PushAPI *PushAPI
// contains filtered or unexported fields
}
APIClient manages communication with the Alertmanager API API v0.0.1 endpoints.
func NewAPIClient ¶
NewAPIClient creates a new API client. If nil is provided for the httpClient
func (*APIClient) AddInterceptor ¶
func (c *APIClient) AddInterceptor(interceptor InterceptFunc)
AddInterceptor adds an interceptor to the APIClient
type Alert ¶
type Alert struct {
GeneratorURL string `binding:"omitempty,uri" json:"generatorURL,omitempty"`
// Labels A set of labels. Labels are key/value pairs that are attached to
// alerts. Labels are used to specify identifying attributes of alerts,
// such as their tenant, user , instance, and job.
// tenant: specific tenant id.
// user: specific user id. the user is the notify target. Some notification need info from user, such as email address.
// alertname: the name of alert.it is also the event name.
Labels LabelSet `binding:"required" json:"labels"`
}
type AlertAPI ¶
type AlertAPI api
func (*AlertAPI) GetAlerts ¶
func (a *AlertAPI) GetAlerts(ctx context.Context, req *GetAlertsRequest) (ret GettableAlerts, resp *http.Response, err error)
(GET /alerts)
func (*AlertAPI) PostAlerts ¶
func (a *AlertAPI) PostAlerts(ctx context.Context, req *PostAlertsRequest) (resp *http.Response, err error)
(POST /alerts)
type AlertGroup ¶
type AlertGroup struct {
Alerts []*GettableAlert `binding:"required" json:"alerts"`
// Labels A set of labels. Labels are key/value pairs that are attached to
// alerts. Labels are used to specify identifying attributes of alerts,
// such as their tenant, user , instance, and job.
// tenant: specific tenant id.
// user: specific user id. the user is the notify target. Some notification need info from user, such as email address.
// alertname: the name of alert.it is also the event name.
Labels LabelSet `binding:"required" json:"labels"`
Receiver Receiver `binding:"required" json:"receiver"`
}
type AlertGroups ¶
type AlertGroups []*AlertGroup
type AlertStatus ¶
type AlertStatus struct {
InhibitedBy []string `binding:"required" json:"inhibitedBy"`
SilencedBy []int `binding:"required" json:"silencedBy"`
State AlertStatusState `binding:"required,oneof=unprocessed active suppressed" json:"state"`
}
type AlertStatusState ¶
type AlertStatusState string
AlertStatusState defines the type for the state.state enum field.
const ( AlertStatusStateUnprocessed AlertStatusState = "unprocessed" AlertStatusStateActive AlertStatusState = "active" AlertStatusStateSuppressed AlertStatusState = "suppressed" )
AlertStatusState values.
func (AlertStatusState) String ¶
func (s AlertStatusState) String() string
type AlertmanagerConfig ¶
type AlertmanagerConfig struct {
Original string `binding:"required" json:"original"`
}
type AlertmanagerStatus ¶
type AlertmanagerStatus struct {
Cluster ClusterStatus `binding:"required" json:"cluster"`
Config AlertmanagerConfig `json:"config"`
Uptime time.Time `binding:"required" json:"uptime" time_format:"2006-01-02T15:04:05Z07:00"`
VersionInfo VersionInfo `binding:"required" json:"versionInfo"`
}
type ClusterStatus ¶
type ClusterStatus struct {
Name string `json:"name,omitempty"`
Peers []*PeerStatus `json:"peers,omitempty"`
Status ClusterStatusStatus `binding:"required,oneof=ready settling disabled" json:"status"`
}
type ClusterStatusStatus ¶
type ClusterStatusStatus string
ClusterStatusStatus defines the type for the status.status enum field.
const ( ClusterStatusStatusReady ClusterStatusStatus = "ready" ClusterStatusStatusSettling ClusterStatusStatus = "settling" ClusterStatusStatusDisabled ClusterStatusStatus = "disabled" )
ClusterStatusStatus values.
func (ClusterStatusStatus) String ¶
func (s ClusterStatusStatus) String() string
type Config ¶
type Config struct {
BasePath string `json:"basePath,omitempty" yaml:"basePath,omitempty"`
Host string `json:"host,omitempty" yaml:"host,omitempty"`
Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"`
UserAgent string `json:"userAgent,omitempty" yaml:"userAgent,omitempty"`
HTTPClient *http.Client
}
Config stores configuration for API client
type DeleteSilenceRequest ¶
type DeleteSilenceRequest struct {
// SilenceID ID of the silence to get
SilenceID int `binding:"required" uri:"silenceID"`
}
DeleteSilenceRequest is the request object for (DELETE /silence/{silenceID})
type GeneralAPI ¶
type GeneralAPI api
func (*GeneralAPI) GetStatus ¶
func (a *GeneralAPI) GetStatus(ctx context.Context) (ret *AlertmanagerStatus, resp *http.Response, err error)
(GET /status)
type GetAlertsRequest ¶
type GetAlertsRequest struct {
// Active Show active alerts
Active *bool `form:"active"`
// Silenced Show silenced alerts
Silenced *bool `form:"silenced"`
// Inhibited Show inhibited alerts
Inhibited *bool `form:"inhibited"`
// Unprocessed Show unprocessed alerts
Unprocessed *bool `form:"unprocessed"`
// Filter A list of matchers to filter alerts by
Filter []string `form:"filter"`
// Receiver A regex matching receivers to filter alerts by
Receiver *string `form:"receiver"`
}
GetAlertsRequest is the request object for (GET /alerts)
type GetSilenceRequest ¶
type GetSilenceRequest struct {
// SilenceID ID of the silence to get
SilenceID int `binding:"required" uri:"silenceID"`
}
GetSilenceRequest is the request object for (GET /silence/{silenceID})
type GetSilencesRequest ¶
type GetSilencesRequest struct {
// Filter A list of matchers to filter silences by
Filter []string `form:"filter"`
}
GetSilencesRequest is the request object for (GET /silences)
type GettableAlert ¶
type GettableAlert struct {
// Annotations A set of labels. Labels are key/value pairs that are attached to
// alerts. Labels are used to specify identifying attributes of alerts,
// such as their tenant, user , instance, and job.
// tenant: specific tenant id.
// user: specific user id. the user is the notify target. Some notification need info from user, such as email address.
// alertname: the name of alert.it is also the event name.
Annotations LabelSet `binding:"required" json:"annotations"`
EndsAt time.Time `binding:"required" json:"endsAt" time_format:"2006-01-02T15:04:05Z07:00"`
Fingerprint string `binding:"required" json:"fingerprint"`
Receivers []*Receiver `binding:"required" json:"receivers"`
StartsAt time.Time `binding:"required" json:"startsAt" time_format:"2006-01-02T15:04:05Z07:00"`
Status AlertStatus `binding:"required" json:"status"`
UpdatedAt time.Time `binding:"required" json:"updatedAt" time_format:"2006-01-02T15:04:05Z07:00"`
*Alert `json:",inline"`
}
type GettableAlerts ¶
type GettableAlerts []*GettableAlert
type GettableSilence ¶
type GettableSilence struct {
ID int `binding:"required" json:"id"`
Status SilenceStatus `binding:"required" json:"status"`
UpdatedAt time.Time `binding:"required" json:"updatedAt" time_format:"2006-01-02T15:04:05Z07:00"`
*Silence `json:",inline"`
}
type GettableSilences ¶
type GettableSilences []*GettableSilence
type InterceptFunc ¶
InterceptFunc is a function that intercepts a request before it is sent.
type LabelSet ¶
LabelSet A set of labels. Labels are key/value pairs that are attached to alerts. Labels are used to specify identifying attributes of alerts, such as their tenant, user , instance, and job. tenant: specific tenant id. user: specific user id. the user is the notify target. Some notification need info from user, such as email address. alertname: the name of alert.it is also the event name.
type PeerStatus ¶
type PostAlertsRequest ¶
type PostAlertsRequest struct {
PostableAlerts `json:",inline"`
}
PostAlertsRequest is the request object for (POST /alerts)
type PostPushRequest ¶
type PostPushRequest struct {
// PostPushRequestBody Push data is for notify clients.
PushData `json:",inline"`
}
PostPushRequest is the request object for (POST /push)
type PostSilencesRequest ¶
type PostSilencesRequest struct {
PostableSilence `json:",inline"`
}
PostSilencesRequest is the request object for (POST /silences)
type PostSilencesResponse ¶
type PostSilencesResponse struct {
SilenceID int `json:"silenceID,omitempty"`
}
type PostableAlert ¶
type PostableAlert struct {
// Annotations A set of labels. Labels are key/value pairs that are attached to
// alerts. Labels are used to specify identifying attributes of alerts,
// such as their tenant, user , instance, and job.
// tenant: specific tenant id.
// user: specific user id. the user is the notify target. Some notification need info from user, such as email address.
// alertname: the name of alert.it is also the event name.
Annotations LabelSet `binding:"required" json:"annotations,omitempty"`
EndsAt *time.Time `json:"endsAt,omitempty" time_format:"2006-01-02T15:04:05Z07:00"`
StartsAt *time.Time `json:"startsAt,omitempty" time_format:"2006-01-02T15:04:05Z07:00"`
*Alert `json:",inline"`
}
type PostableAlerts ¶
type PostableAlerts []*PostableAlert
type PostableSilence ¶
type ReceiverAPI ¶
type ReceiverAPI api
func (*ReceiverAPI) GetReceivers ¶
func (a *ReceiverAPI) GetReceivers(ctx context.Context) (ret []*Receiver, resp *http.Response, err error)
(GET /receivers)
type Silence ¶
type Silence struct {
Comment string `binding:"required" json:"comment"`
CreatedBy int `binding:"required" json:"createdBy"`
EndsAt time.Time `binding:"required,gt" json:"endsAt" time_format:"2006-01-02T15:04:05Z07:00"`
Matchers Matchers `binding:"required,min=1" json:"matchers"`
StartsAt time.Time `binding:"required,ltfield=EndsAt" json:"startsAt" time_format:"2006-01-02T15:04:05Z07:00"`
TenantID int `binding:"required" json:"tenantID"`
}
type SilenceAPI ¶
type SilenceAPI api
func (*SilenceAPI) DeleteSilence ¶
func (a *SilenceAPI) DeleteSilence(ctx context.Context, req *DeleteSilenceRequest) (resp *http.Response, err error)
(DELETE /silence/{silenceID})
func (*SilenceAPI) GetSilence ¶
func (a *SilenceAPI) GetSilence(ctx context.Context, req *GetSilenceRequest) (ret *GettableSilence, resp *http.Response, err error)
(GET /silence/{silenceID})
func (*SilenceAPI) GetSilences ¶
func (a *SilenceAPI) GetSilences(ctx context.Context, req *GetSilencesRequest) (ret GettableSilences, resp *http.Response, err error)
(GET /silences)
func (*SilenceAPI) PostSilences ¶
func (a *SilenceAPI) PostSilences(ctx context.Context, req *PostSilencesRequest) (ret *PostSilencesResponse, resp *http.Response, err error)
(POST /silences)
type SilenceStatus ¶
type SilenceStatus struct {
State SilenceStatusState `binding:"required,oneof=expired active pending" json:"state"`
}
type SilenceStatusState ¶
type SilenceStatusState string
SilenceStatusState defines the type for the state.state enum field.
const ( SilenceStatusStateExpired SilenceStatusState = "expired" SilenceStatusStateActive SilenceStatusState = "active" SilenceStatusStatePending SilenceStatusState = "pending" )
SilenceStatusState values.
func (SilenceStatusState) String ¶
func (s SilenceStatusState) String() string
type VersionInfo ¶
type VersionInfo struct {
Branch string `binding:"required" json:"branch"`
BuildDate string `binding:"required" json:"buildDate"`
BuildUser string `binding:"required" json:"buildUser"`
GoVersion string `binding:"required" json:"goVersion"`
Revision string `binding:"required" json:"revision"`
Version string `binding:"required" json:"version"`
}