Categorygithub.com/influxdata/influxdb/v2
modulepackage
2.7.11
Repository: https://github.com/influxdata/influxdb.git
Documentation: pkg.go.dev

# README

InfluxDB

InfluxDB Logo

CircleCI Slack Status Docker Pulls Docker Pulls

WebsiteDocumentationInfluxDB UniversityBlog


InfluxDB is an open source time series platform. This includes APIs for storing and querying data, processing it in the background for ETL or monitoring and alerting purposes, user dashboards, and visualizing and exploring the data and more. The master branch on this repo now represents the latest InfluxDB, which now includes functionality for Kapacitor (background processing) and Chronograf (the UI) all in a single binary.

The list of InfluxDB Client Libraries that are compatible with the latest version can be found in our documentation.

If you are looking for the 1.x line of releases, there are branches for each minor version as well as a master-1.x branch that will contain the code for the next 1.x release. The master-1.x working branch is here. The InfluxDB 1.x Go Client can be found here.

Try InfluxDB Cloud for free and get started fast with no local setup required. Click here to start building your application on InfluxDB Cloud.

Install

We have nightly and versioned Docker images, Debian packages, RPM packages, and tarballs of InfluxDB available at the InfluxData downloads page. We also provide the influx command line interface (CLI) client as a separate binary available at the same location.

If you are interested in building from source, see the building from source guide for contributors.

Get Started

For a complete getting started guide, please see our full online documentation site.

To write and query data or use the API in any way, you'll need to first create a user, credentials, organization and bucket. Everything in InfluxDB is organized under a concept of an organization. The API is designed to be multi-tenant. Buckets represent where you store time series data. They're synonymous with what was previously in InfluxDB 1.x a database and retention policy.

The simplest way to get set up is to point your browser to http://localhost:8086 and go through the prompts.

You can also get set up from the CLI using the command influx setup:

$ bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx setup
Welcome to InfluxDB 2.0!
Please type your primary username: marty

Please type your password:

Please type your password again:

Please type your primary organization name.: InfluxData

Please type your primary bucket name.: telegraf

Please type your retention period in hours.
Or press ENTER for infinite.: 72


You have entered:
  Username:          marty
  Organization:      InfluxData
  Bucket:            telegraf
  Retention Period:  72 hrs
Confirm? (y/n): y

UserID                  Username        Organization    Bucket
033a3f2c5ccaa000        marty           InfluxData      Telegraf
Your token has been stored in /Users/marty/.influxdbv2/credentials

You can run this command non-interactively using the -f, --force flag if you are automating the setup. Some added flags can help:

$ bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx setup \
--username marty \
--password F1uxKapacit0r85 \
--org InfluxData \
--bucket telegraf \
--retention 168 \
--token where-were-going-we-dont-need-roads \
--force

Once setup is complete, a configuration profile is created to allow you to interact with your local InfluxDB without passing in credentials each time. You can list and manage those profiles using the influx config command.

$ bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx config
Active	Name	URL			            Org
*	    default	http://localhost:8086	InfluxData

Write Data

Write to measurement m, with tag v=2, in bucket telegraf, which belongs to organization InfluxData:

$ bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx write --bucket telegraf --precision s "m v=2 $(date +%s)"

Since you have a default profile set up, you can omit the Organization and Token from the command.

Write the same point using curl:

curl --header "Authorization: Token $(bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx auth list --json | jq -r '.[0].token')" \
--data-raw "m v=2 $(date +%s)" \
"http://localhost:8086/api/v2/write?org=InfluxData&bucket=telegraf&precision=s"

Read that back with a simple Flux query:

$ bin/$(uname -s | tr '[:upper:]' '[:lower:]')/influx query 'from(bucket:"telegraf") |> range(start:-1h)'
Result: _result
Table: keys: [_start, _stop, _field, _measurement]
                   _start:time                      _stop:time           _field:string     _measurement:string                      _time:time                  _value:float
------------------------------  ------------------------------  ----------------------  ----------------------  ------------------------------  ----------------------------
2019-12-30T22:19:39.043918000Z  2019-12-30T23:19:39.043918000Z                       v                       m  2019-12-30T23:17:02.000000000Z                             2

Use the -r, --raw option to return the raw flux response from the query. This is useful for moving data from one instance to another as the influx write command can accept the Flux response using the --format csv option.

Script with Flux

Flux (previously named IFQL) is an open source functional data scripting language designed for querying, analyzing, and acting on data. Flux supports multiple data source types, including:

  • Time series databases (such as InfluxDB)
  • Relational SQL databases (such as MySQL and PostgreSQL)
  • CSV

The source for Flux is available on GitHub. To learn more about Flux, see the latest InfluxData Flux documentation and CTO Paul Dix's presentation.

Contribute to the Project

InfluxDB is an MIT licensed open source project and we love our community. The fastest way to get something fixed is to open a PR. Check out our contributing guide if you're interested in helping out. Also, join us on our Community Slack Workspace if you have questions or comments for our engineering teams.

CI and Static Analysis

CI

All pull requests will run through CI, which is currently hosted by Circle. Community contributors should be able to see the outcome of this process by looking at the checks on their PR. Please fix any issues to ensure a prompt review from members of the team.

The InfluxDB project is used internally in a number of proprietary InfluxData products, and as such, PRs and changes need to be tested internally. This can take some time, and is not really visible to community contributors.

Static Analysis

This project uses the following static analysis tools. Failure during the running of any of these tools results in a failed build. Generally, code must be adjusted to satisfy these tools, though there are exceptions.

  • go vet checks for Go code that should be considered incorrect.
  • go fmt checks that Go code is correctly formatted.
  • go mod tidy ensures that the source code and go.mod agree.
  • staticcheck checks for things like: unused code, code that can be simplified, code that is incorrect and code that will have performance issues.

staticcheck

If your PR fails staticcheck it is easy to dig into why it failed, and also to fix the problem. First, take a look at the error message in Circle under the staticcheck build section, e.g.,

tsdb/tsm1/encoding.gen.go:1445:24: func BooleanValues.assertOrdered is unused (U1000)
tsdb/tsm1/encoding.go:172:7: receiver name should not be an underscore, omit the name if it is unused (ST1006)

Next, go and take a look here for some clarification on the error code that you have received, e.g., U1000. The docs will tell you what's wrong, and often what you need to do to fix the issue.

Generated Code

Sometimes generated code will contain unused code or occasionally that will fail a different check. staticcheck allows for entire files to be ignored, though it's not ideal. A linter directive, in the form of a comment, must be placed within the generated file. This is problematic because it will be erased if the file is re-generated. Until a better solution comes about, below is the list of generated files that need an ignores comment. If you re-generate a file and find that staticcheck has failed, please see this list below for what you need to put back:

FileComment
query/promql/promql.go//lint:file-ignore SA6001 Ignore all unused code, it's generated

End-to-End Tests

CI also runs end-to-end tests. These test the integration between the influxd server the UI. Since the UI is used by interal repositories as well as the influxdb repository, the end-to-end tests cannot be run on forked pull requests or run locally. The extent of end-to-end testing required for forked pull requests will be determined as part of the review process.

Additional Resources

# Packages

This package imports all the influxdb-specific query builtins.
package kv The KV package is a set of services and abstractions built around key value storage.
Package mock is a generated GoMock package.
Package models implements basic objects used throughout the TICK stack.
Package pkger implements a means to create and consume reusable templates for what will eventually come to support all influxdb resources.
Package resource defines an interface for recording changes to InfluxDB resources.
The tenant domain encapsulates all the storage critical metadata services: User Organization Bucket URM's These services are the cornerstone of all other metadata services.
Package tests contains a set of integration tests, which run in-memory versions of various 2.0 services.
Package toml adds support to marshal and unmarshal types not in the official TOML spec.
lint:file-ignore ST1005 this is old code.
Package uuid provides functions to create time-based UUIDs.

# Functions

CreateMeasurement returns 16 bytes that represent a measurement.
DecodeFindOptions returns a FindOptions decoded from http request.
GetBuildInfo returns the current build information for the binary.
IsActive is a stub for idpe.
MarshalViewPropertiesJSON encodes a view into JSON bytes.
MemberPermissions are the default permissions for those who can see a resource.
MemberPermissions are the default permissions for those who can see a resource.
MePermissions is the permission to read/write myself.
NewBuilderTag is a constructor for the builder config types.
NewGlobalPermission constructs a global permission capable of accessing any resource of type rt.
NewPagingLinks returns a PagingLinks.
NewPermission returns a permission with provided arguments.
NewPermissionAtID creates a permission with the provided arguments.
NewResourcePermission returns a permission with provided arguments.
NewTag generates a tag pair from a string in the format key:value.
OperPermissions are the default permissions for those who setup the application.
OwnerPermissions are the default permissions for those who own a resource.
ParseBucketType parses a bucket type from a string.
PermissionAllowed determines if a permission is allowed.
ReadAllPermissions represents permission to read all data and metadata.
ReadMeasurement reads the provided measurement name and returns an Org ID and bucket ID.
SchemaTypeFromString returns the SchemaType for s or nil if none exists.
SetBuildInfo sets the build information for the binary.
SortDashboards sorts a slice of dashboards by a field.
ToOperator converts a string into its equivalent Operator.
UnmarshalViewPropertiesJSON unmarshals JSON bytes into a ViewProperties.
ValidateMeasurementSchemaName determines if name is a valid identifier for a measurement schema or column name and if not, returns an error.
ValidScraperType returns true is the type string is valid.

# Constants

Active status means that the resource can be used.
19.
AuthorizationKind is returned by (*Authorization).Kind().
0.
Length of components of measurement names.
1.
BucketTypeSystem is an internally created bucket that cannot be deleted/renamed.
BucketTypeUser is a user created bucket.
consts for checks config.
consts for checks config.
16.
2.
17.
DefaultLeaseTTL is used when a specific lease TTL is not requested.
1 week, in seconds.
13.
operators.
ErrCellNotFound is the error msg for a missing cell.
ErrDashboardNotFound is the error msg for a missing dashboard.
ErrDocumentNotFound is the error msg for a missing document.
ErrLabelNotFound is the error for a missing Label.
ErrScraperTargetNotFound is the error msg for a missing scraper target.
ErrSecretNotFound is the error msg for a missing secret.
ErrSessionExpired is the error message for expired sessions.
ErrSessionNotFound is the error messages for a missing sessions.
ErrSourceNotFound is an error message when a source does not exist.
ErrTelegrafConfigInvalidOrgID is the error message for a missing or invalid organization ID.
ErrTelegrafConfigNotFound is the error message for a missing telegraf config.
ErrVariableNotFound is the error msg for a missing variable.
ErrViewNotFound is the error msg for a missing View.
Inactive status means that the resource cannot be used.
InfiniteRetention is default infinite retention period.
22.
11.
Length of components of measurement names.
2.
32 MiB.
Bucket names constants.
MonitoringSystemBucketRetention is the time we should retain monitoring system bucket information.
18.
operators.
15.
14.
operators.
ops for dashboard service.
ops for ScraperTarget Store.
auth service op.
ops for dashboard service.
ops for orgs error and orgs op logs.
ops for sources.
Ops for user errors and op log.
ops for variable error.
ops for sources.
auth service op.
ops for dashboard service.
ops for orgs error and orgs op logs.
ops for sources.
Ops for user errors and op log.
ops for variable error.
auth service op.
auth service op.
auth service op.
ops for dashboard service.
ops for dashboard service.
ops for orgs error and orgs op logs.
ops for orgs error and orgs op logs.
ops for orgs error and orgs op logs.
ops for sources.
ops for sources.
Ops for user errors and op log.
Ops for user errors and op log.
Ops for user errors and op log.
ops for variable error.
ops for variable error.
ops for dashboard service.
ops for ScraperTarget Store.
ops for ScraperTarget Store.
ops for orgs error and orgs op logs.
ops for dashboard service.
ops for ScraperTarget Store.
ops for dashboard service.
ops for variable error.
auth service op.
ops for dashboard service.
ops for dashboard service.
ops for dashboard service.
ops for orgs error and orgs op logs.
ops for sources.
ops for ScraperTarget Store.
Ops for user errors and op log.
ops for variable error.
Length of components of measurement names.
3.
1.
PrometheusScraperType parses metrics from a prometheus endpoint.
1.
operators.
20.
21.
SchemaTypeExplicit specifies the bucket has an explicit schema.
SchemaTypeImplicit specifies the bucket has an implicit schema.
SchemeV1Basic indicates the credentials came from an Authorization header using the BASIC scheme.
SchemeV1Token indicates the credentials came from an Authorization header using the Token scheme.
SchemeV1URL indicates the credentials came from the u and p query parameters.
9.
10.
SelfSourceType is the source hosting the UI.
SemanticColumnTypeField identifies the column is used as a field.
SemanticColumnTypeTag identifies the column is used as a tag.
SemanticColumnTypeTimestamp identifies the column is used as the timestamp.
SessionAuthorizationKind defines the type of authorizer.
4.
5.
Bucket names constants.
TasksSystemBucketRetention is the time we should retain task system bucket information.
6.
UsageQueryRequestBytes is the name of the metrics for tracking the number of query bytes.
UsageQueryRequestCount is the name of the metrics for tracking query request count.
UsageSeries is the name of the metrics for tracking the number of series written.
UsageValues is the name of the metrics for tracking the number of values.
UsageWriteRequestBytes is the name of the metrics for tracking the number of write bytes.
UsageWriteRequestCount is the name of the metrics for tracking write request count.
7.
V1SourceType is an InfluxDBv1 type.
V2SourceType is an InfluxDBv2 type.
8.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
Values for all supported view property types.
12.
2.

# Variables

AllResourceTypes is the list of all known resource types.
DefaultDashboardFindOptions are the default find options for dashboards.
DefaultOperationLogFindOptions are the default options for the operation log.
DefaultSessionLength is the default session length on initial creation.
DefaultSourceFindOptions are the default find options for sources.
DefaultVariableFindOptions are the default find options for variables.
ErrAuthorizerNotSupported notes that the provided authorizer is not supported for the action you are trying to perform.
ErrCredentialsUnauthorized is the error returned when CredentialsV1 cannot be authorized.
ErrInvalidAction notes that the provided action is invalid.
ErrInvalidMappingType notes that the provided MappingType is invalid.
ErrInvalidNotificationEndpointType denotes that the provided NotificationEndpoint is not a valid type.
ErrInvalidOrgFilter is the error indicate org filter is empty.
ErrInvalidResourceType notes that the provided resource is invalid.
ErrInvalidUserType notes that the provided UserType is invalid.
ErrLabelExistsOnResource is used when attempting to add a label to a resource when that label already exists on the resource.
ErrLabelNameisEmpty is error when org name is empty.
ErrNoAcquire is returned when it was not possible to acquire ownership of the semaphore.
ErrOrgNameisEmpty is error when org name is empty.
ErrResourceIDRequired notes that the provided ID was not provided.
ErrUnableToCreateToken sanitized error message for all errors when a user cannot create a token.
ErrUserIDRequired notes that the ID was not provided.
NopSemaphore is a Semaphore that always hands out leases.
ops for buckets error and buckets op logs.
ops for checks error.
ops for checks error.
OpCreateSession represents the operation that creates a session for a given user.
ops for buckets error and buckets op logs.
ops for buckets error and buckets op logs.
ops for checks error.
ops for checks error.
ops for buckets error and buckets op logs.
OpExpireSession represents the operation that expires sessions.
ops for buckets error and buckets op logs.
ops for buckets error and buckets op logs.
ops for buckets error and buckets op logs.
ops for checks error.
ops for checks error.
ops for checks error.
ops for checks error.
ops for checks error.
ops for checks error.
OpFindSession represents the operation that looks for sessions.
ops for buckets error and buckets op logs.
ops for buckets error and buckets op logs.
ops for buckets error and buckets op logs.
OpRenewSession = "RenewSession".
ops for buckets error and buckets op logs.
ops for checks error.
ops for checks error.
ops for buckets error and buckets op logs.
RenewSessionTime is the time to extend session, currently set to 5min.

# Structs

AddDashboardCellOptions are options for adding a dashboard.
AnnotationCreate contains user providable fields for annotating an event.
AnnotationDeleteFilter contains fields for deleting an annotated event.
AnnotationEvent contains fields for annotating an event.
AnnotationList defines the structure of the response when listing annotations.
AnnotationListFilter is a selection filter for listing annotations.
Authorization is an authorization.
AuthorizationFilter represents a set of filter that restrict the returned results.
AuthorizationUpdate is the authorization update request.
Axis represents the visible extents of a visualization.
BandViewProperties represents options for the band view.
BasicFilter defines common filter options.
BasicStream defines a stream by name.
Bucket is a bucket.
BucketFilter represents a set of filter that restrict the returned results.
BucketMetadataManifest contains the information about a bucket for backup purposes.
BucketUpdate represents updates to a bucket.
BuildInfo represents the information about InfluxDB build.
Cell holds positional information about a cell on dashboard and a reference to a cell.
CellProperty contains the properties of a cell.
CellUpdate is the patch structure for a cell.
CheckCreate represent data to create a new Check.
CheckFilter represents a set of filters that restrict the returned results.
CheckUpdate are properties than can be updated on a check.
CheckViewProperties represents options for a view representing a check.
CreateRemoteConnectionRequest contains all info needed to establish a new connection to a remote InfluxDB instance.
CreateReplicationRequest contains all info needed to establish a new replication to a remote InfluxDB bucket.
CredentialsV1 encapsulates the required credentials to authorize a v1 HTTP request.
CRUDLog is the struct to store crud related ops.
Dashboard represents all visual and query data for a dashboard.
DashboardFilter is a filter for dashboards.
DashboardMeta contains meta information about dashboards.
DashboardQuery represents a query used in a dashboard cell.
DashboardUpdate is the patch structure for a dashboard.
Geographical coordinates.
DBRPMapping represents a mapping of a database and retention policy to an organization ID and bucket ID.
DBRPMappingFilter represents a set of filters that restrict the returned results.
DecimalPlaces indicates whether decimal places should be enforced, and how many digits it should show.
Document is a generic structure for stating data.
DocumentMeta is information that is universal across documents.
Duration is based on time.Duration to embed in any struct.
EmptyViewProperties is visualization that has no values.
FindOptions represents options passed to all find methods with multiple results.
GaugeViewProperties represents options for gauge view in Chronograf.
Single visualization layer properties of a chronograf map widget.
GeoViewProperties represents options for map view in Chronograf.
HeatmapViewProperties represents options for heatmap view in Chronograf.
HistogramViewProperties represents options for histogram view in Chronograf.
Label is a tag set on a resource, typically used for filtering on a UI.
LabelFilter represents a set of filters that restrict the returned results.
LabelMapping is used to map resource to its labels.
LabelMappingFilter represents a set of filters that restrict the returned results.
LabelUpdate represents a changeset for a label.
Limit don't notify me more than <limit> times every <limitEvery> seconds.
LinePlusSingleStatProperties represents options for line plus single stat view in Chronograf.
LogColumnSetting represent the settings for a specific column of a Log Viewer.
LogViewerColumn represents a specific column in a Log Viewer.
LogViewProperties represents options for log viewer in Chronograf.
Manifest lists the KV and shard file information contained in the backup.
ManifestEntry contains the data information for a backed up shard.
ManifestKVEntry contains the KV store information for a backup.
MosaicViewProperties represents options for mosaic view in Chronograf.
Notebook represents all visual and query data for a notebook.
NotebookListFilter is a selection filter for listing notebooks.
NotebookReqBody contains fields for creating or updating notebooks.
NotificationEndpointFilter represents a set of filter that restrict the returned notification endpoints.
NotificationEndpointUpdate is the set of upgrade fields for patch request.
NotificationRuleCreate is the struct providing data to create a Notification Rule.
NotificationRuleFilter represents a set of filter that restrict the returned notification rules.
NotificationRuleUpdate is the set of upgrade fields for patch request.
OnboardingRequest is the request to setup defaults.
OnboardingResults is a group of elements required for first run.
OperationLogEntry is a record in an operation log.
Organization is an organization.
OrganizationFilter represents a set of filter that restrict the returned results.
OrganizationUpdate represents updates to a organization.
Page contains pagination information.
PagingLinks represents paging links.
Permission defines an action and a resource.
ReadAnnotation defines the simplest form of an annotation to be returned.
ReadStream defines the returned stream.
RealTimeGenerator will generate the real time.
RemoteConnection contains all info about a remote InfluxDB instance that should be returned to users.
RemoteConnectionListFilter is a selection filter for listing remote InfluxDB instances.
RemoteConnections is a collection of metadata about remote InfluxDB instances.
RenamableField is a column/row field in a DashboardView of type Table.
Replication contains all info about a replication that should be returned to users.
ReplicationHTTPConfig contains all info needed by a client to make HTTP requests against the remote bucket targeted by a replication.
ReplicationListFilter is a selection filter for listing replications.
Replications is a collection of metadata about replications.
Resource is an authorizable resource.
ScatterViewProperties represents options for scatter view in Chronograf.
ScraperTarget is a target to scrape.
ScraperTargetFilter represents a set of filter that restrict the returned results.
SecretField contains a key string, and value pointer.
Session is a user session.
SingleStatViewProperties represents options for single stat view in Chronograf.
Source is an external Influx with time series data.
SourceFields is used to authorize against an influx 2.0 source.
SourceUpdate represents updates to a source.
StaticLegend represents the options specific to the static legend.
StoredAnnotation represents annotation data to be stored in the database.
StoredStream represents stream data to be stored in the metadata database.
Stream defines the stream metadata.
StreamListFilter is a selection filter for listing streams.
TableOptions is a type of options for a DashboardView with type Table.
TableViewProperties represents options for table view in Chronograf.
Tag is a tag key-value pair.
TagRule is the struct of tag rule.
TelegrafConfig stores telegraf config for one telegraf instance.
TelegrafConfigFilter represents a set of filter that restrict the returned telegraf configs.
Timespan represents a range of time.
TrackedReplication defines a replication stream which is currently being tracked via sqlite.
UpdateRemoteConnectionRequest contains a partial update to existing info about a remote InfluxDB instance.
UpdateReplicationRequest contains a partial update to existing info about a replication.
Usage is a metric associated with the utilization of a particular resource.
UsageFilter is used to filter usage.
User is a user.
UserFilter represents a set of filter that restrict the returned results.
UserResourceMapping represents a mapping of a resource to its user.
UserResourceMappingFilter represents a set of filters that restrict the returned results.
UserResponse is the response of user.
UserUpdate represents updates to a user.
V1SourceFields are the fields for connecting to a 1.0 source (oss or enterprise).
A Variable describes a keyword that can be expanded into several possible values when used in an InfluxQL or Flux query.
A VariableArguments contains arguments used when expanding a Variable.
VariableFilter represents a set of filter that restrict the returned results.
VariableQueryValues contains a query used when expanding a query-based Variable.
A VariableUpdate describes a set of changes that can be applied to a Variable.
View holds positional and visual information for a View.
ViewColor represents the encoding of data into visualizations.
ViewContents is the id and name of a specific view.
ViewContentsUpdate is a struct for updating the non properties content of a View.
ViewFilter represents a set of filter that restrict the returned results.
ViewUpdate is a struct for updating Views.
XYViewProperties represents options for line, bar, step, or stacked view in Chronograf.

# Interfaces

AnnotationService is the service contract for Annotations.
AuthorizationService represents a service for managing authorization data.
Authorizer will authorize a permission.
BackupService represents the data backup functions of InfluxDB.
BucketOperationLogService is an interface for retrieving the operation log for a bucket.
BucketService represents a service for managing bucket data.
Check represents the information required to generate a periodic check task.
CheckService represents a service for managing checks.
CRUDLogSetter is the interface to set the crudlog.
DashboardOperationLogService is an interface for retrieving the operation log for a dashboard.
DashboardService represents a service for managing dashboard data.
DBRPMappingService provides CRUD to DBRPMappingV2s.
DeleteService will delete a bucket from the range and predict.
DocumentService is used to create/find instances of document stores.
DocumentStore is used to perform CRUD operations on documents.
KeyValueLog is a generic type logs key-value pairs.
LabelService represents a service for managing resource labels.
A Lease represents ownership over a semaphore.
LookupService provides field lookup for the resource and ID.
NotebookService is the service contract for Notebooks.
NotificationEndpoint is the configuration describing how to call a 3rd party service.
NotificationEndpointService represents a service for managing notification endpoints.
NotificationRule is a *Query* of a *Status Bucket* that returns the *Status*.
NotificationRuleStore represents a service for managing notification rule.
OnboardingService represents a service for the first run.
OrganizationOperationLogService is an interface for retrieving the operation log for an org.
OrganizationService represents a service for managing organization data.
PagingFilter represents a filter containing url query params.
PasswordsService is the service for managing basic auth passwords.
Predicate is something that can match on a series key.
RestoreService represents the data restore functions of InfluxDB.
ScraperTargetStoreService defines the crud service for ScraperTarget.
SecretService a service for storing and retrieving secrets.
A Semaphore provides an API for requesting ownership of an expirable semaphore.
SessionService represents a service for managing user sessions.
SourceService is a service for managing sources.
SqlBackupRestoreService represents the backup and restore functions for the sqlite database.
TelegrafConfigStore represents a service for managing telegraf config data.
TimeGenerator represents a generator for now.
TokenGenerator represents a generator for API tokens.
UsageService is a service for accessing usage statistics.
UserOperationLogService is an interface for retrieving the operation log for a user.
UserResourceMappingService maps the relationships between users and resources.
UserService represents a service for managing user data.
VariableService describes a service for managing Variables.
ViewProperties is used to mark other structures as conforming to a View.
WriteService writes data read from the reader.

# Type aliases

Action is an enum defining all possible resource operations.
BucketType differentiates system buckets from user buckets.
NotebookSpec is an abitrary JSON object provided by the client.
Operator is an Enum value of operators.
ReadAnnotations allows annotations to be assigned to a stream.
ResourceType is an enum defining all resource types that have a permission model in platform.
SchemaType differentiates the supported schema for a bucket.
SchemeV1 is an enumeration of supported authorization types.
ScraperType defines the scraper methods.
SemanticColumnType specifies the semantics of a measurement column.
SourceType is a string for types of sources.
Status defines if a resource is active or inactive.
UsageMetric used to track classes of usage.
UserStatus indicates whether a user is active or inactive.
UserType can either be owner or member.
VariableConstantValues are the data for expanding a constants-based Variable.
VariableMapValues are the data for expanding a map-based Variable.