Categorygithub.com/circonus-labs/go-apiclient
modulepackage
0.7.24
Repository: https://github.com/circonus-labs/go-apiclient.git
Documentation: pkg.go.dev

# README

Circonus API Client Go package

Full documentation (for using this package) is available at godoc.org. Links in the lists below go directly to the generic Circonus API documentation for the endpoint.

NOTE: This package is a replacement for github.com/circonus-labs/circonus-gometrics/api (which should now be considered DEPRECATED)

Examples

There are rudimentary examples in the examples directory for basic Fetch* calls.

Configuration

  • Config.TokenKey required Circonus API Token key
  • Config.TokenApp Circonus API Token application name (default: circonus-goapiclient)
  • Config.URL the Circonus API URL (default: https://api.circonus.com/v2)
  • Config.TLSConfig a *tls.Config for contacting the API URL when it is not using a public SSL certificate (default: none)
  • Config.Log a *log.Logger instance where log messages should be sent (default: discard log messages)
  • Config.Debug turn on debugging messages (default: false)

Minimal example:

package main

import (
    "fmt"

    api "github.com/circonus-labs/go-apiclient"
)

func main() {
    client, err := api.New(&api.Config{TokenKey: "..."})
    if err != nil {
        panic(err)
    }
    user, err := client.FetchUser(nil)    
    if err != nil {
        panic(err)
    }
    fmt.Printf("%#v\n", user)
}

Straight [raw] API access

  • Get
  • Post (for creates)
  • Put (for updates)
  • Delete

Helpers for currently supported API endpoints

Note, these interfaces are still being actively developed. For example, many of the New* methods only return an empty struct; sensible defaults will be added going forward. Other, common helper methods for the various endpoints may be added as use cases emerge. The organization of the API may change if common use contexts would benefit significantly.

  • Account
    • FetchAccount
    • FetchAccounts
    • UpdateAccount
    • SearchAccounts
  • Acknowledgement
    • NewAcknowledgement
    • FetchAcknowledgement
    • FetchAcknowledgements
    • UpdateAcknowledgement
    • CreateAcknowledgement
    • DeleteAcknowledgement
    • DeleteAcknowledgementByCID
    • SearchAcknowledgements
  • Alert
    • FetchAlert
    • FetchAlerts
    • SearchAlerts
  • Annotation
    • NewAnnotation
    • FetchAnnotation
    • FetchAnnotations
    • UpdateAnnotation
    • CreateAnnotation
    • DeleteAnnotation
    • DeleteAnnotationByCID
    • SearchAnnotations
  • Broker
    • FetchBroker
    • FetchBrokers
    • SearchBrokers
  • Check Bundle
    • NewCheckBundle
    • FetchCheckBundle
    • FetchCheckBundles
    • UpdateCheckBundle
    • CreateCheckBundle
    • DeleteCheckBundle
    • DeleteCheckBundleByCID
    • SearchCheckBundles
  • Check Bundle Metrics
    • FetchCheckBundleMetrics
    • UpdateCheckBundleMetrics
  • Check
    • FetchCheck
    • FetchChecks
    • SearchChecks
  • Contact Group
    • NewContactGroup
    • FetchContactGroup
    • FetchContactGroups
    • UpdateContactGroup
    • CreateContactGroup
    • DeleteContactGroup
    • DeleteContactGroupByCID
    • SearchContactGroups
  • Dashboard -- note, this is a work in progress, the methods/types may still change
    • NewDashboard
    • FetchDashboard
    • FetchDashboards
    • UpdateDashboard
    • CreateDashboard
    • DeleteDashboard
    • DeleteDashboardByCID
    • SearchDashboards
  • Graph
    • NewGraph
    • FetchGraph
    • FetchGraphs
    • UpdateGraph
    • CreateGraph
    • DeleteGraph
    • DeleteGraphByCID
    • SearchGraphs
  • Metric Cluster
    • NewMetricCluster
    • FetchMetricCluster
    • FetchMetricClusters
    • UpdateMetricCluster
    • CreateMetricCluster
    • DeleteMetricCluster
    • DeleteMetricClusterByCID
    • SearchMetricClusters
  • Metric
    • FetchMetric
    • FetchMetrics
    • UpdateMetric
    • SearchMetrics
  • Maintenance window
    • NewMaintenanceWindow
    • FetchMaintenanceWindow
    • FetchMaintenanceWindows
    • UpdateMaintenanceWindow
    • CreateMaintenanceWindow
    • DeleteMaintenanceWindow
    • DeleteMaintenanceWindowByCID
    • SearchMaintenanceWindows
  • Outlier Report
    • NewOutlierReport
    • FetchOutlierReport
    • FetchOutlierReports
    • UpdateOutlierReport
    • CreateOutlierReport
    • DeleteOutlierReport
    • DeleteOutlierReportByCID
    • SearchOutlierReports
  • Provision Broker
    • NewProvisionBroker
    • FetchProvisionBroker
    • UpdateProvisionBroker
    • CreateProvisionBroker
  • Rule Set
    • NewRuleset
    • FetchRuleset
    • FetchRulesets
    • UpdateRuleset
    • CreateRuleset
    • DeleteRuleset
    • DeleteRulesetByCID
    • SearchRulesets
  • Rule Set Group
    • NewRulesetGroup
    • FetchRulesetGroup
    • FetchRulesetGroups
    • UpdateRulesetGroup
    • CreateRulesetGroup
    • DeleteRulesetGroup
    • DeleteRulesetGroupByCID
    • SearchRulesetGroups
  • User
    • FetchUser
    • FetchUsers
    • UpdateUser
    • SearchUsers
  • Worksheet
    • NewWorksheet
    • FetchWorksheet
    • FetchWorksheets
    • UpdateWorksheet
    • CreateWorksheet
    • DeleteWorksheet
    • DeleteWorksheetByCID
    • SearchWorksheets

Unless otherwise noted, the source files are distributed under the BSD-style license found in the LICENSE file.

# Packages

No description provided by the author
No description provided by the author

# Functions

New returns a new Circonus API.
NewAcknowledgement returns new Acknowledgement (with defaults, if applicable).
NewAnnotation returns a new Annotation (with defaults, if applicable).
NewAPI returns a new Circonus API (alias for New).
NewCheckBundle returns new CheckBundle (with defaults, if applicable).
NewClient returns a new Circonus API (alias for New).
NewContactGroup returns a ContactGroup (with defaults, if applicable).
NewDashboard returns a new Dashboard (with defaults, if applicable).
NewGraph returns a Graph (with defaults, if applicable).
NewMaintenanceWindow returns a new Maintenance window (with defaults, if applicable).
NewMetricCluster returns a new MetricCluster (with defaults, if applicable).
NewOutlierReport returns a new OutlierReport (with defaults, if applicable).
NewProvisionBroker returns a new ProvisionBroker (with defaults, if applicable).
NewRuleSet returns a new RuleSet (with defaults if applicable).
NewRuleSetGroup returns a new RuleSetGroup (with defaults, if applicable).
NewWorksheet returns a new Worksheet (with defaults, if applicable).

# Structs

Account defines an account.
AccountInvite defines outstanding invites.
AccountLimit defines a usage limit imposed on account.
AccountUser defines current users.
Acknowledgement defines a acknowledgement.
Alert defines a alert.
Annotation defines a annotation.
API Circonus API.
Broker defines a broker.
BrokerDetail defines instance attributes.
BrokerStratcon defines stratcons for broker.
ChartTextWidgetDatapoint defines datapoints for charts.
ChartWidgetDefinitionLegend defines chart widget definition legend.
ChartWidgetWedgeLabels defines chart widget wedge labels.
ChartWidgetWedgeValues defines chart widget wedge values.
ChartWidgtDefinition defines chart widget definition.
Check defines a check.
CheckBundle defines a check bundle.
CheckBundleMetric individual metric configuration.
CheckBundleMetrics defines metrics for a specific check bundle.
Config options for Circonus API.
ContactGroup defines a contact group.
ContactGroupAlertFormats define alert formats.
ContactGroupContacts list of contacts.
ContactGroupContactsExternal external contacts.
ContactGroupContactsUser user contacts.
ContactGroupEscalation defines escalations for severity levels.
Dashboard defines a dashboard.
DashboardAccessConfig defines access config.
DashboardGridLayout defines layout.
DashboardOptions defines options.
DashboardWidget defines widget.
DashboardWidgetSettings defines settings specific to widget Note: optional attributes which are structs need to be pointers so they will be omitted.
ForecastGaugeWidgetThresholds defines forecast widget thresholds.
Graph defines a graph.
GraphAccessKey defines an access key for a graph.
GraphComposite defines a composite.
GraphDatapoint defines a datapoint.
GraphGuide defines a guide.
GraphMetricCluster defines a metric cluster.
GraphOverlay defines a single overlay in an overlay set.
OverlaySet defines an overlay set for a graph.
Maintenance defines a maintenance window.
Metric defines a metric.
MetricCluster defines a metric cluster.
MetricQuery object.
OutlierReport defines a outlier report.
OverlayDataOptions defines overlay options for data.
OverlayUISpecs defines UI specs for overlay.
ProvisionBroker defines a provision broker [request].
RuleSet defines a ruleset.
RuleSetGroup defines a ruleset group.
RuleSetGroupCondition defines conditions for raising alerts.
RuleSetGroupFormula defines a formula for raising alerts.
RuleSetRule defines a ruleset rule.
StatusWidgetAgentStatusSettings defines agent status settings.
StatusWidgetAgentStatusSettings defines agent status settings.
StatusWidgetHostStatusSettings defines host status settings.
User defines a user.
UserContactInfo defines known contact details.
Worksheet defines a worksheet.
WorksheetGraph defines a worksheet cid to be include in the worksheet.
WorksheetSmartQuery defines a query to include multiple worksheets.

# Interfaces

Logger facilitates use of any logger supporting the required methods rather than just standard log package log.Logger.

# Type aliases

CheckBundleConfig contains the check type specific configuration settings as k/v pairs (see https://login.circonus.com/resources/api/calls/check_bundle for the specific settings available for each distinct check type).
CheckDetails contains [undocumented] check type specific information.
IDType Circonus object id.
SearchFilterType search filter (see: https://login.circonus.com/resources/api#filtering).
SearchQueryType search query (see: https://login.circonus.com/resources/api#searching).
TagType search/select/custom tag(s) type.
TokenAccountIDType - Circonus API Token account id.
TokenAppType - Circonus API Token app name.
TokenKeyType - Circonus API Token key.
URLType submission url type.