Documentation
¶
Index ¶
- Constants
- type APICheckDefaults
- type AlertChannel
- type AlertSettings
- type Assertion
- type BasicAuth
- type Check
- type Client
- func (c *Client) Create(check Check) (Check, error)
- func (c *Client) CreateGroup(group Group) (Group, error)
- func (c *Client) Delete(ID string) error
- func (c *Client) DeleteGroup(ID int64) error
- func (c *Client) Get(ID string) (Check, error)
- func (c *Client) GetGroup(ID int64) (Group, error)
- func (c *Client) MakeAPICall(method string, URL string, data []byte) (statusCode int, response string, err error)
- func (c *Client) Update(ID string, check Check) (Check, error)
- func (c *Client) UpdateGroup(ID int64, group Group) (Group, error)
- type EnvironmentVariable
- type Group
- type KeyValue
- type Reminders
- type Request
- type RunBasedEscalation
- type SSLCertificates
- type Subscription
- type TimeBasedEscalation
Constants ¶
const Contains = "CONTAINS"
Contains asserts that the source contains a specified value.
const Equals = "EQUALS"
Equals asserts that the source and target are equal.
const GreaterThan = "GREATER_THAN"
GreaterThan asserts that the source is greater than the target.
const Headers = "HEADERS"
Headers identifies the HTTP headers as an assertion source.
const IsEmpty = "IS_EMPTY"
IsEmpty asserts that the source is empty.
const JSONBody = "JSON_BODY"
JSONBody identifies the JSON body data as an assertion source.
const LessThan = "LESS_THAN"
LessThan asserts that the source is less than the target.
const NotContains = "NOT_CONTAINS"
NotContains asserts that the source does not contain a specified value.
const NotEmpty = "NOT_EMPTY"
NotEmpty asserts that the source is not empty.
const NotEquals = "NOT_EQUALS"
NotEquals asserts that the source and target are not equal.
const ResponseTime = "RESPONSE_TIME"
ResponseTime identifies the response time as an assertion source.
const RunBased = "RUN_BASED"
RunBased identifies a run-based escalation type, for use with an AlertSettings.
const StatusCode = "STATUS_CODE"
StatusCode identifies the HTTP status code as an assertion source.
const TextBody = "TEXT_BODY"
TextBody identifies the response body text as an assertion source.
const TimeBased = "TIME_BASED"
TimeBased identifies a time-based escalation type, for use with an AlertSettings.
const TypeAPI = "API"
TypeAPI is used to identify an API check.
const TypeBrowser = "BROWSER"
TypeBrowser is used to identify a browser check.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APICheckDefaults ¶ added in v0.4.0
type APICheckDefaults struct { BaseURL string `json:"url"` Headers []KeyValue `json:"headers"` QueryParameters []KeyValue `json:"queryParameters"` Assertions []Assertion `json:"assertions"` BasicAuth BasicAuth `json:"basicAuth,omitempty"` }
APICheckDefaults represents the default settings for API checks within a given group.
type AlertChannel ¶
type AlertChannel struct { ID string `json:"id"` Type string `json:"type,omitempty"` Config map[string]interface{} `json:"config,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` }
AlertChannel represents an alert channel and its subscribed checks. The API defines this data as read-only.
type AlertSettings ¶
type AlertSettings struct { EscalationType string `json:"escalationType,omitempty"` RunBasedEscalation RunBasedEscalation `json:"runBasedEscalation,omitempty"` TimeBasedEscalation TimeBasedEscalation `json:"timeBasedEscalation,omitempty"` Reminders Reminders `json:"reminders,omitempty"` SSLCertificates SSLCertificates `json:"sslCertificates,omitempty"` }
AlertSettings represents an alert configuration.
type Assertion ¶
type Assertion struct { Edit bool `json:"edit"` Order int `json:"order"` ArrayIndex int `json:"arrayIndex"` ArraySelector int `json:"arraySelector"` Source string `json:"source"` Property string `json:"property"` Comparison string `json:"comparison"` Target string `json:"target"` }
Assertion represents an assertion about an API response, which will be verified as part of the check.
type Check ¶
type Check struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"checkType"` Frequency int `json:"frequency"` Activated bool `json:"activated"` Muted bool `json:"muted"` ShouldFail bool `json:"shouldFail"` Locations []string `json:"locations"` DegradedResponseTime int `json:"degradedResponseTime"` MaxResponseTime int `json:"maxResponseTime"` Script string `json:"script,omitempty"` EnvironmentVariables []EnvironmentVariable `json:"environmentVariables"` DoubleCheck bool `json:"doubleCheck"` Tags []string `json:"tags,omitempty"` SSLCheck bool `json:"sslCheck"` SetupSnippetID int64 `json:"setupSnippetId,omitempty"` TearDownSnippetID int64 `json:"tearDownSnippetId,omitempty"` LocalSetupScript string `json:"localSetupScript,omitempty"` LocalTearDownScript string `json:"localTearDownScript,omitempty"` AlertSettings AlertSettings `json:"alertSettings,omitempty"` UseGlobalAlertSettings bool `json:"useGlobalAlertSettings"` Request Request `json:"request"` GroupID int64 `json:"groupId,omitempty"` GroupOrder int `json:"groupOrder,omitempty"` }
Check represents the parameters for an existing check.
type Client ¶
type Client struct { URL string HTTPClient *http.Client Debug io.Writer // contains filtered or unexported fields }
Client represents a Checkly client. If the Debug field is set to an io.Writer (for example os.Stdout), then the client will dump API requests and responses to it. To use a non-default HTTP client (for example, for testing, or to set a timeout), assign to the HTTPClient field. To set a non-default URL (for example, for testing), assign to the URL field.
func (*Client) Create ¶
Create creates a new check with the specified details. It returns the newly-created check, or an error.
func (*Client) CreateGroup ¶ added in v0.4.0
CreateGroup creates a new check group with the specified details. It returns the newly-created group, or an error.
func (*Client) Delete ¶
Delete deletes the check with the specified ID. It returns a non-nil error if the request failed.
func (*Client) DeleteGroup ¶ added in v0.4.0
DeleteGroup deletes the check group with the specified ID. It returns a non-nil error if the request failed.
func (*Client) Get ¶
Get takes the ID of an existing check, and returns the check parameters, or an error.
func (*Client) GetGroup ¶ added in v0.4.0
GetGroup takes the ID of an existing check group, and returns the corresponding group, or an error.
func (*Client) MakeAPICall ¶
func (c *Client) MakeAPICall(method string, URL string, data []byte) (statusCode int, response string, err error)
MakeAPICall calls the Checkly API with the specified URL and data, and returns the HTTP status code and string data of the response.
type EnvironmentVariable ¶
type EnvironmentVariable struct { Key string `json:"key"` Value string `json:"value"` Locked bool `json:"locked"` }
EnvironmentVariable represents a key-value pair for setting environment values during check execution.
type Group ¶ added in v0.4.0
type Group struct { ID int64 `json:"id,omitempty"` Name string `json:"name"` Activated bool `json:"activated"` Muted bool `json:"muted"` Tags []string `json:"tags,omitempty"` Locations []string `json:"locations"` Concurrency int `json:"concurrency"` APICheckDefaults APICheckDefaults `json:"apiCheckDefaults"` EnvironmentVariables []EnvironmentVariable `json:"environmentVariables"` DoubleCheck bool `json:"doubleCheck"` UseGlobalAlertSettings bool `json:"useGlobalAlertSettings"` AlertSettings AlertSettings `json:"alertSettings,omitempty"` AlertChannelSubscriptions []Subscription `json:"alertChannelSubscriptions,omitempty"` SetupSnippetID int64 `json:"setupSnippetId,omitempty"` TearDownSnippetID int64 `json:"tearDownSnippetId,omitempty"` LocalSetupScript string `json:"localSetupScript,omitempty"` LocalTearDownScript string `json:"localTearDownScript,omitempty"` }
Group represents a check group.
type KeyValue ¶
type KeyValue struct { Key string `json:"key"` Value string `json:"value"` Locked bool `json:"locked"` }
KeyValue represents a key-value pair, for example a request header setting, or a query parameter.
type Reminders ¶
type Reminders struct { Amount int `json:"amount,omitempty"` Interval int `json:"interval,omitempty"` }
Reminders represents the number of reminders to send after an alert notification, and the time interval between them.
type Request ¶
type Request struct { Method string `json:"method"` URL string `json:"url"` FollowRedirects bool `json:"followRedirects"` Body string `json:"body"` BodyType string `json:"bodyType,omitempty"` Headers []KeyValue `json:"headers"` QueryParameters []KeyValue `json:"queryParameters"` Assertions []Assertion `json:"assertions"` BasicAuth BasicAuth `json:"basicAuth,omitempty"` }
Request represents the parameters for the request made by the check.
type RunBasedEscalation ¶
type RunBasedEscalation struct {
FailedRunThreshold int `json:"failedRunThreshold,omitempty"`
}
RunBasedEscalation represents an alert escalation based on a number of failed check runs.
type SSLCertificates ¶
type SSLCertificates struct { Enabled bool `json:"enabled"` AlertThreshold int `json:"alertThreshold"` }
SSLCertificates represents alert settings for expiring SSL certificates.
type Subscription ¶
type Subscription struct { ID string `json:"id,omitempty"` CheckID string `json:"checkId,omitempty"` AlertChannelID int64 `json:"alertChannelId,omitempty"` Activated bool `json:"activated"` }
Subscription represents a subscription to an alert channel. The API defines this data as read-only.
type TimeBasedEscalation ¶
type TimeBasedEscalation struct {
MinutesFailingThreshold int `json:"minutesFailingThreshold,omitempty"`
}
TimeBasedEscalation represents an alert escalation based on the number of minutes after a check first starts failing.