Documentation ¶
Index ¶
- Constants
- Variables
- func BucketAlreadyExistsError(b *influxdb.Bucket) error
- func CorruptScraperError(err error) *influxdb.Error
- func CorruptTelegrafError(err error) *influxdb.Error
- func CorruptURMError(err error) *influxdb.Error
- func CorruptUserIDError(userID string, err error) *influxdb.Error
- func DecIndexID(key, val []byte) ([]byte, interface{}, error)
- func DecodeOrgNameKey(k []byte) (influxdb.ID, string, error)
- func EncBodyJSON(ent Entity) ([]byte, string, error)
- func EncIDKey(ent Entity) ([]byte, string, error)
- func EncUniqKey(ent Entity) ([]byte, string, error)
- func ErrCorruptUser(err error) *influxdb.Error
- func ErrCorruptUserID(err error) *influxdb.Error
- func ErrInternalUserServiceError(err error) *influxdb.Error
- func ErrUnprocessableMapping(err error) *influxdb.Error
- func ErrUnprocessableScraper(err error) *influxdb.Error
- func ErrUnprocessableTelegraf(err error) *influxdb.Error
- func ErrUnprocessableUser(err error) *influxdb.Error
- func InternalNotificationRuleStoreError(err error) *influxdb.Error
- func InternalPasswordHashError(err error) *influxdb.Error
- func InternalScraperServiceError(err error) *influxdb.Error
- func InternalTelegrafServiceError(err error) *influxdb.Error
- func InvalidUserIDError(err error) *influxdb.Error
- func IsErrUnexpectedDecodeVal(ok bool) error
- func IsNotFound(err error) bool
- func MarshalUser(u *influxdb.User) ([]byte, error)
- func NewIndexer(log *zap.Logger, kv Store) *kvIndexer
- func NonUniqueMappingError(userID influxdb.ID) error
- func OrgAlreadyExistsError(o *influxdb.Organization) error
- func UnavailableNotificationRuleStoreError(err error) *influxdb.Error
- func UnavailablePasswordServiceError(err error) *influxdb.Error
- func UnavailableTelegrafServiceError(err error) *influxdb.Error
- func UnavailableURMServiceError(err error) *influxdb.Error
- func UnexpectedAuthIndexError(err error) *influxdb.Error
- func UnexpectedBucketError(err error) *influxdb.Error
- func UnexpectedBucketIndexError(err error) *influxdb.Error
- func UnexpectedIndexError(err error) *influxdb.Error
- func UnexpectedScrapersBucketError(err error) *influxdb.Error
- func UnexpectedUserBucketError(err error) *influxdb.Error
- func UnexpectedUserIndexError(err error) *influxdb.Error
- func UnmarshalUser(v []byte) (*influxdb.User, error)
- func UserAlreadyExistsError(n string) *influxdb.Error
- func WithoutOwners(id influxdb.ID, idx influxdb.DocumentIndex) error
- type Bcrypt
- type Bucket
- type ConvertValToEntFn
- type Crypt
- type Cursor
- type CursorConfig
- type CursorDirection
- type CursorHint
- type CursorHints
- type CursorOption
- type CursorPredicateFunc
- type DecodeBucketValFn
- type DeleteOpts
- type DeleteRelationsFn
- type DocumentDecorator
- type DocumentIndex
- func (i *DocumentIndex) AddDocumentLabel(docID, labelID influxdb.ID) error
- func (i *DocumentIndex) AddDocumentOwner(id influxdb.ID, ownerType string, ownerID influxdb.ID) error
- func (i *DocumentIndex) FindLabelByID(id influxdb.ID) error
- func (i *DocumentIndex) FindOrganizationByID(id influxdb.ID) error
- func (i *DocumentIndex) FindOrganizationByName(org string) (influxdb.ID, error)
- func (i *DocumentIndex) GetAccessorsDocuments(ownerType string, ownerID influxdb.ID) ([]influxdb.ID, error)
- func (i *DocumentIndex) GetDocumentsAccessors(docID influxdb.ID) ([]influxdb.ID, error)
- func (i *DocumentIndex) IsOrgAccessor(userID influxdb.ID, orgID influxdb.ID) error
- func (i *DocumentIndex) RemoveDocumentLabel(docID, labelID influxdb.ID) error
- func (i *DocumentIndex) RemoveDocumentOwner(id influxdb.ID, ownerType string, ownerID influxdb.ID) error
- func (i *DocumentIndex) UsersOrgs(userID influxdb.ID) ([]influxdb.ID, error)
- type DocumentStore
- func (s *DocumentStore) CreateDocument(ctx context.Context, d *influxdb.Document, opts ...influxdb.DocumentOptions) error
- func (s *DocumentStore) DeleteDocuments(ctx context.Context, opts ...influxdb.DocumentFindOptions) error
- func (s *DocumentStore) FindDocuments(ctx context.Context, opts ...influxdb.DocumentFindOptions) ([]*influxdb.Document, error)
- func (s *DocumentStore) PutDocument(ctx context.Context, d *influxdb.Document) error
- func (s *DocumentStore) UpdateDocument(ctx context.Context, d *influxdb.Document, opts ...influxdb.DocumentOptions) error
- type EncodeEntFn
- type EncodeFn
- type Entity
- type FilterFn
- type FindCaptureFn
- type FindOpts
- type ForwardCursor
- type IndexStore
- func (s *IndexStore) Delete(ctx context.Context, tx Tx, opts DeleteOpts) error
- func (s *IndexStore) DeleteEnt(ctx context.Context, tx Tx, ent Entity) error
- func (s *IndexStore) Find(ctx context.Context, tx Tx, opts FindOpts) error
- func (s *IndexStore) FindEnt(ctx context.Context, tx Tx, ent Entity) (interface{}, error)
- func (s *IndexStore) Init(ctx context.Context, tx Tx) error
- func (s *IndexStore) Put(ctx context.Context, tx Tx, ent Entity, opts ...PutOptionFn) error
- type Pair
- type PutOptionFn
- type Service
- func (s *Service) AddDashboardCell(ctx context.Context, id influxdb.ID, cell *influxdb.Cell, ...) error
- func (s *Service) AddLogEntry(ctx context.Context, k, v []byte, t time.Time) error
- func (s *Service) AddRunLog(ctx context.Context, taskID, runID influxdb.ID, when time.Time, log string) error
- func (s *Service) AddTarget(ctx context.Context, target *influxdb.ScraperTarget, userID influxdb.ID) (err error)
- func (s *Service) Backup(ctx context.Context, w io.Writer) error
- func (s *Service) CancelRun(ctx context.Context, taskID, runID influxdb.ID) error
- func (s *Service) CompareAndSetPassword(ctx context.Context, userID influxdb.ID, old string, new string) error
- func (s *Service) ComparePassword(ctx context.Context, userID influxdb.ID, password string) error
- func (s *Service) CreateAuthorization(ctx context.Context, a *influxdb.Authorization) error
- func (s *Service) CreateBucket(ctx context.Context, b *influxdb.Bucket) error
- func (s *Service) CreateCheck(ctx context.Context, c influxdb.CheckCreate, userID influxdb.ID) error
- func (s *Service) CreateDashboard(ctx context.Context, d *influxdb.Dashboard) error
- func (s *Service) CreateDocumentStore(ctx context.Context, ns string) (influxdb.DocumentStore, error)
- func (s *Service) CreateLabel(ctx context.Context, l *influxdb.Label) error
- func (s *Service) CreateLabelMapping(ctx context.Context, m *influxdb.LabelMapping) error
- func (s *Service) CreateNotificationEndpoint(ctx context.Context, edp influxdb.NotificationEndpoint, userID influxdb.ID) error
- func (s *Service) CreateNotificationRule(ctx context.Context, nr influxdb.NotificationRuleCreate, userID influxdb.ID) error
- func (s *Service) CreateOrganization(ctx context.Context, o *influxdb.Organization) error
- func (s *Service) CreateRun(ctx context.Context, taskID influxdb.ID, scheduledFor time.Time, ...) (*influxdb.Run, error)
- func (s *Service) CreateSession(ctx context.Context, user string) (*influxdb.Session, error)
- func (s *Service) CreateSource(ctx context.Context, src *influxdb.Source) error
- func (s *Service) CreateTask(ctx context.Context, tc influxdb.TaskCreate) (*influxdb.Task, error)
- func (s *Service) CreateTelegrafConfig(ctx context.Context, tc *influxdb.TelegrafConfig, userID influxdb.ID) error
- func (s *Service) CreateUser(ctx context.Context, u *influxdb.User) error
- func (s *Service) CreateUserResourceMapping(ctx context.Context, m *influxdb.UserResourceMapping) error
- func (s *Service) CreateVariable(ctx context.Context, v *influxdb.Variable) error
- func (s *Service) CurrentlyRunning(ctx context.Context, taskID influxdb.ID) ([]*influxdb.Run, error)
- func (s *Service) DefaultSource(ctx context.Context) (*influxdb.Source, error)
- func (s *Service) DeleteAuthorization(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteBucket(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteCheck(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteDashboard(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteLabel(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteLabelMapping(ctx context.Context, m *influxdb.LabelMapping) error
- func (s *Service) DeleteNotificationEndpoint(ctx context.Context, id influxdb.ID) (flds []influxdb.SecretField, orgID influxdb.ID, err error)
- func (s *Service) DeleteNotificationRule(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteOrganization(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteSecret(ctx context.Context, orgID influxdb.ID, ks ...string) error
- func (s *Service) DeleteSource(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteTask(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteTelegrafConfig(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteUser(ctx context.Context, id influxdb.ID) error
- func (s *Service) DeleteUserResourceMapping(ctx context.Context, resourceID influxdb.ID, userID influxdb.ID) error
- func (s *Service) DeleteVariable(ctx context.Context, id influxdb.ID) error
- func (s *Service) ExpireSession(ctx context.Context, key string) error
- func (s *Service) FindAuthorizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Authorization, error)
- func (s *Service) FindAuthorizationByToken(ctx context.Context, n string) (*influxdb.Authorization, error)
- func (s *Service) FindAuthorizations(ctx context.Context, filter influxdb.AuthorizationFilter, ...) ([]*influxdb.Authorization, int, error)
- func (s *Service) FindBucket(ctx context.Context, filter influxdb.BucketFilter) (*influxdb.Bucket, error)
- func (s *Service) FindBucketByID(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error)
- func (s *Service) FindBucketByName(ctx context.Context, orgID influxdb.ID, n string) (*influxdb.Bucket, error)
- func (s *Service) FindBuckets(ctx context.Context, filter influxdb.BucketFilter, ...) ([]*influxdb.Bucket, int, error)
- func (s *Service) FindCheck(ctx context.Context, filter influxdb.CheckFilter) (influxdb.Check, error)
- func (s *Service) FindCheckByID(ctx context.Context, id influxdb.ID) (influxdb.Check, error)
- func (s *Service) FindChecks(ctx context.Context, filter influxdb.CheckFilter, opts ...influxdb.FindOptions) ([]influxdb.Check, int, error)
- func (s *Service) FindDashboard(ctx context.Context, filter influxdb.DashboardFilter, ...) (*influxdb.Dashboard, error)
- func (s *Service) FindDashboardByID(ctx context.Context, id influxdb.ID) (*influxdb.Dashboard, error)
- func (s *Service) FindDashboards(ctx context.Context, filter influxdb.DashboardFilter, ...) ([]*influxdb.Dashboard, int, error)
- func (s *Service) FindDocumentStore(ctx context.Context, ns string) (influxdb.DocumentStore, error)
- func (s *Service) FindLabelByID(ctx context.Context, id influxdb.ID) (*influxdb.Label, error)
- func (s *Service) FindLabels(ctx context.Context, filter influxdb.LabelFilter, opt ...influxdb.FindOptions) ([]*influxdb.Label, error)
- func (s *Service) FindLogs(ctx context.Context, filter influxdb.LogFilter) ([]*influxdb.Log, int, error)
- func (s *Service) FindNotificationEndpointByID(ctx context.Context, id influxdb.ID) (influxdb.NotificationEndpoint, error)
- func (s *Service) FindNotificationEndpoints(ctx context.Context, filter influxdb.NotificationEndpointFilter, ...) (edps []influxdb.NotificationEndpoint, n int, err error)
- func (s *Service) FindNotificationRuleByID(ctx context.Context, id influxdb.ID) (influxdb.NotificationRule, error)
- func (s *Service) FindNotificationRules(ctx context.Context, filter influxdb.NotificationRuleFilter, ...) (nrs []influxdb.NotificationRule, n int, err error)
- func (s *Service) FindOrganization(ctx context.Context, filter influxdb.OrganizationFilter) (*influxdb.Organization, error)
- func (s *Service) FindOrganizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Organization, error)
- func (s *Service) FindOrganizationByName(ctx context.Context, n string) (*influxdb.Organization, error)
- func (s *Service) FindOrganizations(ctx context.Context, filter influxdb.OrganizationFilter, ...) ([]*influxdb.Organization, int, error)
- func (s *Service) FindResourceLabels(ctx context.Context, filter influxdb.LabelMappingFilter) ([]*influxdb.Label, error)
- func (s *Service) FindResourceOrganizationID(ctx context.Context, rt influxdb.ResourceType, id influxdb.ID) (influxdb.ID, error)
- func (s *Service) FindRunByID(ctx context.Context, taskID, runID influxdb.ID) (*influxdb.Run, error)
- func (s *Service) FindRuns(ctx context.Context, filter influxdb.RunFilter) ([]*influxdb.Run, int, error)
- func (s *Service) FindSession(ctx context.Context, key string) (*influxdb.Session, error)
- func (s *Service) FindSourceByID(ctx context.Context, id influxdb.ID) (*influxdb.Source, error)
- func (s *Service) FindSources(ctx context.Context, opt influxdb.FindOptions) ([]*influxdb.Source, int, error)
- func (s *Service) FindTaskByID(ctx context.Context, id influxdb.ID) (*influxdb.Task, error)
- func (s *Service) FindTasks(ctx context.Context, filter influxdb.TaskFilter) ([]*influxdb.Task, int, error)
- func (s *Service) FindTelegrafConfigByID(ctx context.Context, id influxdb.ID) (*influxdb.TelegrafConfig, error)
- func (s *Service) FindTelegrafConfigs(ctx context.Context, filter influxdb.TelegrafConfigFilter, ...) (tcs []*influxdb.TelegrafConfig, n int, err error)
- func (s *Service) FindUser(ctx context.Context, filter influxdb.UserFilter) (*influxdb.User, error)
- func (s *Service) FindUserByID(ctx context.Context, id influxdb.ID) (*influxdb.User, error)
- func (s *Service) FindUserByName(ctx context.Context, n string) (*influxdb.User, error)
- func (s *Service) FindUserResourceMappings(ctx context.Context, filter influxdb.UserResourceMappingFilter, ...) ([]*influxdb.UserResourceMapping, int, error)
- func (s *Service) FindUsers(ctx context.Context, filter influxdb.UserFilter, opt ...influxdb.FindOptions) ([]*influxdb.User, int, error)
- func (s *Service) FindVariableByID(ctx context.Context, id influxdb.ID) (*influxdb.Variable, error)
- func (s *Service) FindVariables(ctx context.Context, filter influxdb.VariableFilter, ...) ([]*influxdb.Variable, error)
- func (s *Service) FinishRun(ctx context.Context, taskID, runID influxdb.ID) (*influxdb.Run, error)
- func (s *Service) FirstLogEntry(ctx context.Context, k []byte) ([]byte, time.Time, error)
- func (s *Service) ForEachLogEntry(ctx context.Context, k []byte, opts platform.FindOptions, ...) error
- func (s *Service) ForceRun(ctx context.Context, taskID influxdb.ID, scheduledFor int64) (*influxdb.Run, error)
- func (s *Service) Generate(ctx context.Context, req *influxdb.OnboardingRequest) (*influxdb.OnboardingResults, error)
- func (s *Service) GetBucketOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
- func (s *Service) GetDashboardCellView(ctx context.Context, dashboardID, cellID influxdb.ID) (*influxdb.View, error)
- func (s *Service) GetDashboardOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
- func (s *Service) GetOrganizationOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
- func (s *Service) GetSecretKeys(ctx context.Context, orgID influxdb.ID) ([]string, error)
- func (s *Service) GetTargetByID(ctx context.Context, id influxdb.ID) (*influxdb.ScraperTarget, error)
- func (s *Service) GetUserOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
- func (s *Service) Initialize(ctx context.Context) error
- func (s *Service) IsOnboarding(ctx context.Context) (bool, error)
- func (s *Service) LastLogEntry(ctx context.Context, k []byte) ([]byte, time.Time, error)
- func (s *Service) ListTargets(ctx context.Context, filter influxdb.ScraperTargetFilter) ([]influxdb.ScraperTarget, error)
- func (s *Service) LoadSecret(ctx context.Context, orgID influxdb.ID, k string) (string, error)
- func (s *Service) ManualRuns(ctx context.Context, taskID influxdb.ID) ([]*influxdb.Run, error)
- func (s *Service) Name(ctx context.Context, resource influxdb.ResourceType, id influxdb.ID) (string, error)
- func (s *Service) PatchCheck(ctx context.Context, id influxdb.ID, upd influxdb.CheckUpdate) (influxdb.Check, error)
- func (s *Service) PatchNotificationEndpoint(ctx context.Context, id influxdb.ID, upd influxdb.NotificationEndpointUpdate) (influxdb.NotificationEndpoint, error)
- func (s *Service) PatchNotificationRule(ctx context.Context, id influxdb.ID, upd influxdb.NotificationRuleUpdate) (influxdb.NotificationRule, error)
- func (s *Service) PatchSecrets(ctx context.Context, orgID influxdb.ID, m map[string]string) error
- func (s *Service) PutAuthorization(ctx context.Context, a *influxdb.Authorization) error
- func (s *Service) PutBucket(ctx context.Context, b *influxdb.Bucket) error
- func (s *Service) PutCheck(ctx context.Context, c influxdb.Check) error
- func (s *Service) PutDashboard(ctx context.Context, d *influxdb.Dashboard) error
- func (s *Service) PutLabel(ctx context.Context, l *influxdb.Label) error
- func (s *Service) PutLabelMapping(ctx context.Context, m *influxdb.LabelMapping) error
- func (s *Service) PutNotificationEndpoint(ctx context.Context, edp influxdb.NotificationEndpoint) error
- func (s *Service) PutNotificationRule(ctx context.Context, nr influxdb.NotificationRuleCreate) error
- func (s *Service) PutOnboardingStatus(ctx context.Context, hasBeenOnboarded bool) error
- func (s *Service) PutOrganization(ctx context.Context, o *influxdb.Organization) error
- func (s *Service) PutSecret(ctx context.Context, orgID influxdb.ID, k, v string) error
- func (s *Service) PutSecrets(ctx context.Context, orgID influxdb.ID, m map[string]string) error
- func (s *Service) PutSession(ctx context.Context, sn *influxdb.Session) error
- func (s *Service) PutSource(ctx context.Context, src *influxdb.Source) error
- func (s *Service) PutTarget(ctx context.Context, target *influxdb.ScraperTarget) error
- func (s *Service) PutTelegrafConfig(ctx context.Context, tc *influxdb.TelegrafConfig) error
- func (s *Service) PutUser(ctx context.Context, u *influxdb.User) error
- func (s *Service) RemoveDashboardCell(ctx context.Context, dashboardID, cellID influxdb.ID) error
- func (s *Service) RemoveTarget(ctx context.Context, id influxdb.ID) error
- func (s *Service) RenewSession(ctx context.Context, session *influxdb.Session, newExpiration time.Time) error
- func (s *Service) ReplaceDashboardCells(ctx context.Context, id influxdb.ID, cs []*influxdb.Cell) error
- func (s *Service) ReplaceVariable(ctx context.Context, v *influxdb.Variable) error
- func (s *Service) RetryRun(ctx context.Context, taskID, runID influxdb.ID) (*influxdb.Run, error)
- func (s *Service) SetPassword(ctx context.Context, userID influxdb.ID, password string) error
- func (s *Service) StartManualRun(ctx context.Context, taskID, runID influxdb.ID) (*influxdb.Run, error)
- func (s *Service) Stop()
- func (s *Service) UpdateAuthorization(ctx context.Context, id influxdb.ID, upd *influxdb.AuthorizationUpdate) (*influxdb.Authorization, error)
- func (s *Service) UpdateBucket(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error)
- func (s *Service) UpdateCheck(ctx context.Context, id influxdb.ID, chk influxdb.CheckCreate) (influxdb.Check, error)
- func (s *Service) UpdateDashboard(ctx context.Context, id influxdb.ID, upd influxdb.DashboardUpdate) (*influxdb.Dashboard, error)
- func (s *Service) UpdateDashboardCell(ctx context.Context, dashboardID, cellID influxdb.ID, upd influxdb.CellUpdate) (*influxdb.Cell, error)
- func (s *Service) UpdateDashboardCellView(ctx context.Context, dashboardID, cellID influxdb.ID, upd influxdb.ViewUpdate) (*influxdb.View, error)
- func (s *Service) UpdateLabel(ctx context.Context, id influxdb.ID, upd influxdb.LabelUpdate) (*influxdb.Label, error)
- func (s *Service) UpdateNotificationEndpoint(ctx context.Context, id influxdb.ID, edp influxdb.NotificationEndpoint, ...) (influxdb.NotificationEndpoint, error)
- func (s *Service) UpdateNotificationRule(ctx context.Context, id influxdb.ID, nr influxdb.NotificationRuleCreate, ...) (influxdb.NotificationRule, error)
- func (s *Service) UpdateOrganization(ctx context.Context, id influxdb.ID, upd influxdb.OrganizationUpdate) (*influxdb.Organization, error)
- func (s *Service) UpdateRunState(ctx context.Context, taskID, runID influxdb.ID, when time.Time, ...) error
- func (s *Service) UpdateSource(ctx context.Context, id influxdb.ID, upd influxdb.SourceUpdate) (*influxdb.Source, error)
- func (s *Service) UpdateTarget(ctx context.Context, update *influxdb.ScraperTarget, userID influxdb.ID) (*influxdb.ScraperTarget, error)
- func (s *Service) UpdateTask(ctx context.Context, id influxdb.ID, upd influxdb.TaskUpdate) (*influxdb.Task, error)
- func (s *Service) UpdateTelegrafConfig(ctx context.Context, id influxdb.ID, tc *influxdb.TelegrafConfig, ...) (*influxdb.TelegrafConfig, error)
- func (s *Service) UpdateUser(ctx context.Context, id influxdb.ID, upd influxdb.UserUpdate) (*influxdb.User, error)
- func (s *Service) UpdateVariable(ctx context.Context, id influxdb.ID, update *influxdb.VariableUpdate) (*influxdb.Variable, error)
- func (s *Service) WithResourceLogger(audit resource.Logger)
- func (s *Service) WithSpecialOrgBucketIDs(gen influxdb.IDGenerator)
- func (s *Service) WithStore(store Store)
- type ServiceConfig
- type Store
- type StoreBase
- func (s *StoreBase) Delete(ctx context.Context, tx Tx, opts DeleteOpts) error
- func (s *StoreBase) DeleteEnt(ctx context.Context, tx Tx, ent Entity) error
- func (s *StoreBase) EntKey(ctx context.Context, ent Entity) ([]byte, error)
- func (s *StoreBase) Find(ctx context.Context, tx Tx, opts FindOpts) error
- func (s *StoreBase) FindEnt(ctx context.Context, tx Tx, ent Entity) (interface{}, error)
- func (s *StoreBase) Init(ctx context.Context, tx Tx) error
- func (s *StoreBase) Put(ctx context.Context, tx Tx, ent Entity, opts ...PutOptionFn) error
- type Tx
Constants ¶
const ( // MaxIDGenerationN is the maximum number of times an ID generation is done before failing. MaxIDGenerationN = 100 // ReservedIDs are the number of IDs reserved from 1 - ReservedIDs we use // for our system org/buckets ReservedIDs = 1000 )
const ( // DefaultSourceID it the default source identifier DefaultSourceID = "020f755c3c082000" // DefaultSourceOrganizationID is the default source's organization identifier DefaultSourceOrganizationID = "50616e67652c206c" )
const MinPasswordLength = 8
MinPasswordLength is the shortest password we allow into the system.
const OpPrefix = "kv/"
OpPrefix is the prefix for kv errors.
Variables ¶
var ( // ErrNotificationRuleNotFound is used when the notification rule is not found. ErrNotificationRuleNotFound = &influxdb.Error{ Msg: "notification rule not found", Code: influxdb.ENotFound, } // ErrInvalidNotificationRuleID is used when the service was provided // an invalid ID format. ErrInvalidNotificationRuleID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided notification rule ID has invalid format", } )
var ( // EIncorrectPassword is returned when any password operation fails in which // we do not want to leak information. EIncorrectPassword = &influxdb.Error{ Code: influxdb.EForbidden, Msg: "your username or password is incorrect", } // EIncorrectUser is returned when any user is failed to be found which indicates // the userID provided is for a user that does not exist. EIncorrectUser = &influxdb.Error{ Code: influxdb.EForbidden, Msg: "your userID is incorrect", } // EShortPassword is used when a password is less than the minimum // acceptable password length. EShortPassword = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "passwords must be at least 8 characters long", } )
var ( // ErrScraperNotFound is used when the scraper configuration is not found. ErrScraperNotFound = &influxdb.Error{ Msg: "scraper target is not found", Code: influxdb.ENotFound, } // ErrInvalidScraperID is used when the service was provided // an invalid ID format. ErrInvalidScraperID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided scraper target ID has invalid format", } // ErrInvalidScrapersBucketID is used when the service was provided // an invalid ID format. ErrInvalidScrapersBucketID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided bucket ID has invalid format", } // ErrInvalidScrapersOrgID is used when the service was provided // an invalid ID format. ErrInvalidScrapersOrgID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided organization ID has invalid format", } )
var ( // ErrKeyNotFound is the error returned when the key requested is not found. ErrKeyNotFound = errors.New("key not found") // ErrTxNotWritable is the error returned when an mutable operation is called during // a non-writable transaction. ErrTxNotWritable = errors.New("transaction is not writable") // ErrSeekMissingPrefix is returned when seek bytes is missing the prefix defined via // WithCursorPrefix ErrSeekMissingPrefix = errors.New("seek missing prefix bytes") )
var ( // ErrTelegrafNotFound is used when the telegraf configuration is not found. ErrTelegrafNotFound = &influxdb.Error{ Msg: "telegraf configuration not found", Code: influxdb.ENotFound, } // ErrInvalidTelegrafID is used when the service was provided // an invalid ID format. ErrInvalidTelegrafID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided telegraf configuration ID has invalid format", } // ErrInvalidTelegrafOrgID is the error message for a missing or invalid organization ID. ErrInvalidTelegrafOrgID = &influxdb.Error{ Code: influxdb.EEmptyValue, Msg: "provided telegraf configuration organization ID is missing or invalid", } )
var ( // ErrInvalidURMID is used when the service was provided // an invalid ID format. ErrInvalidURMID = &influxdb.Error{ Code: influxdb.EInvalid, Msg: "provided user resource mapping ID has invalid format", } // ErrURMNotFound is used when the user resource mapping is not found. ErrURMNotFound = &influxdb.Error{ Msg: "user to resource mapping not found", Code: influxdb.ENotFound, } )
var DefaultCost = bcrypt.DefaultCost
DefaultCost is the cost that will actually be set if a cost below MinCost is passed into GenerateFromPassword
var DefaultSource = influxdb.Source{ Default: true, Name: "autogen", Type: influxdb.SelfSourceType, }
DefaultSource is the default source.
var ErrFailureGeneratingID = &influxdb.Error{ Code: influxdb.EInternal, Msg: "unable to generate valid id", }
ErrFailureGeneratingID occurs ony when the random number generator cannot generate an ID in MaxIDGenerationN times.
var ( // ErrNotificationEndpointNotFound is used when the notification endpoint is not found. ErrNotificationEndpointNotFound = &influxdb.Error{ Msg: "notification endpoint not found", Code: influxdb.ENotFound, } )
var ( // ErrUserNotFound is used when the user is not found. ErrUserNotFound = &influxdb.Error{ Msg: "user not found", Code: influxdb.ENotFound, } )
var NotUniqueError = &influxdb.Error{ Code: influxdb.EConflict, Msg: "name already exists", }
NotUniqueError is used when attempting to create a resource that already exists.
var NotUniqueIDError = &influxdb.Error{ Code: influxdb.EConflict, Msg: "ID already exists", }
NotUniqueIDError is used when attempting to create an org or bucket that already exists.
Functions ¶
func BucketAlreadyExistsError ¶
BucketAlreadyExistsError is used when creating a bucket with a name that already exists within an organization.
func CorruptScraperError ¶
CorruptScraperError is used when the config cannot be unmarshalled from the bytes stored in the kv.
func CorruptTelegrafError ¶
CorruptTelegrafError is used when the config cannot be unmarshalled from the bytes stored in the kv.
func CorruptURMError ¶
CorruptURMError is used when the config cannot be unmarshalled from the bytes stored in the kv.
func CorruptUserIDError ¶
CorruptUserIDError is used when the ID was encoded incorrectly previously. This is some sort of internal server error.
func DecIndexID ¶
DecIndexID decodes the bucket val into an influxdb.ID.
func DecodeOrgNameKey ¶
DecodeOrgNameKey decodes a raw bucket key into the organization id and name used to create it.
func EncBodyJSON ¶
EncBodyJSON JSON encodes the entity body and returns the raw bytes and indicates that it uses the entity body.
func EncUniqKey ¶
EncUniqKey encodes the unique key.
func ErrCorruptUser ¶
ErrCorruptUser is used when the user cannot be unmarshalled from the bytes stored in the kv.
func ErrCorruptUserID ¶
ErrCorruptUserID the ID stored in the Store is corrupt.
func ErrInternalUserServiceError ¶
ErrInternalUserServiceError is used when the error comes from an internal system.
func ErrUnprocessableMapping ¶
ErrUnprocessableMapping is used when a user resource mapping is not able to be converted to JSON.
func ErrUnprocessableScraper ¶
ErrUnprocessableScraper is used when a scraper is not able to be converted to JSON.
func ErrUnprocessableTelegraf ¶
ErrUnprocessableTelegraf is used when a telegraf is not able to be converted to JSON.
func ErrUnprocessableUser ¶
ErrUnprocessableUser is used when a user is not able to be processed.
func InternalNotificationRuleStoreError ¶
InternalNotificationRuleStoreError is used when the error comes from an internal system.
func InternalPasswordHashError ¶
InternalPasswordHashError is used if the hasher is unable to generate a hash of the password. This is some sort of internal server error.
func InternalScraperServiceError ¶
InternalScraperServiceError is used when the error comes from an internal system.
func InternalTelegrafServiceError ¶
InternalTelegrafServiceError is used when the error comes from an internal system.
func InvalidUserIDError ¶
InvalidUserIDError is used when a service was provided an invalid ID. This is some sort of internal server error.
func IsNotFound ¶
IsNotFound returns a boolean indicating whether the error is known to report that a key or was not found.
func MarshalUser ¶
MarshalUser turns an *influxdb.User into a byte slice.
func NewIndexer ¶
func NonUniqueMappingError ¶
NonUniqueMappingError is an internal error when a user already has been mapped to a resource
func OrgAlreadyExistsError ¶
func OrgAlreadyExistsError(o *influxdb.Organization) error
OrgAlreadyExistsError is used when creating a new organization with a name that has already been used. Organization names must be unique.
func UnavailableNotificationRuleStoreError ¶
UnavailableNotificationRuleStoreError is used if we aren't able to interact with the store, it means the store is not available at the moment (e.g. network).
func UnavailablePasswordServiceError ¶
UnavailablePasswordServiceError is used if we aren't able to add the password to the store, it means the store is not available at the moment (e.g. network).
func UnavailableTelegrafServiceError ¶
UnavailableTelegrafServiceError is used if we aren't able to interact with the store, it means the store is not available at the moment (e.g. network).
func UnavailableURMServiceError ¶
UnavailableURMServiceError is used if we aren't able to interact with the store, it means the store is not available at the moment (e.g. network).
func UnexpectedAuthIndexError ¶
UnexpectedAuthIndexError is used when the error comes from an internal system.
func UnexpectedBucketError ¶
UnexpectedBucketError is used when the error comes from an internal system.
func UnexpectedBucketIndexError ¶
UnexpectedBucketIndexError is used when the error comes from an internal system.
func UnexpectedIndexError ¶
UnexpectedIndexError is used when the error comes from an internal system.
func UnexpectedScrapersBucketError ¶
UnexpectedScrapersBucketError is used when the error comes from an internal system.
func UnexpectedUserBucketError ¶
UnexpectedUserBucketError is used when the error comes from an internal system.
func UnexpectedUserIndexError ¶
UnexpectedUserIndexError is used when the error comes from an internal system.
func UnmarshalUser ¶
UnmarshalUser turns the stored byte slice in the kv into a *influxdb.User.
func UserAlreadyExistsError ¶
UserAlreadyExistsError is used when attempting to create a user with a name that already exists.
func WithoutOwners ¶
func WithoutOwners(id influxdb.ID, idx influxdb.DocumentIndex) error
WithoutOwners removes all owners from a document. In particular it is used to cleanup urms on document delete.
Types ¶
type Bcrypt ¶
type Bcrypt struct{}
Bcrypt implements Crypt using golang.org/x/crypto/bcrypt
func (*Bcrypt) CompareHashAndPassword ¶
CompareHashAndPassword compares a hashed password with its possible plaintext equivalent. Returns nil on success, or an error on failure.
type Bucket ¶
type Bucket interface { // TODO context? // Get returns a key within this bucket. Errors if key does not exist. Get(key []byte) ([]byte, error) // Cursor returns a cursor at the beginning of this bucket optionally // using the provided hints to improve performance. Cursor(hints ...CursorHint) (Cursor, error) // Put should error if the transaction it was called in is not writable. Put(key, value []byte) error // Delete should error if the transaction it was called in is not writable. Delete(key []byte) error // ForwardCursor returns a forward cursor from the seek position provided. // Other options can be supplied to provide direction and hints. ForwardCursor(seek []byte, opts ...CursorOption) (ForwardCursor, error) }
Bucket is the abstraction used to perform get/put/delete/get-many operations in a key value store.
type ConvertValToEntFn ¶
ConvertValToEntFn converts a key and decoded bucket value to an entity.
type Crypt ¶
type Crypt interface { // CompareHashAndPassword compares a hashed password with its possible plaintext equivalent. // Returns nil on success, or an error on failure. CompareHashAndPassword(hashedPassword, password []byte) error // GenerateFromPassword returns the hash of the password at the given cost. // If the cost given is less than MinCost, the cost will be set to DefaultCost, instead. GenerateFromPassword(password []byte, cost int) ([]byte, error) }
Crypt represents a cryptographic hashing function.
type Cursor ¶
type Cursor interface { // Seek moves the cursor forward until reaching prefix in the key name. Seek(prefix []byte) (k []byte, v []byte) // First moves the cursor to the first key in the bucket. First() (k []byte, v []byte) // Last moves the cursor to the last key in the bucket. Last() (k []byte, v []byte) // Next moves the cursor to the next key in the bucket. Next() (k []byte, v []byte) // Prev moves the cursor to the prev key in the bucket. Prev() (k []byte, v []byte) }
Cursor is an abstraction for iterating/ranging through data. A concrete implementation of a cursor can be found in cursor.go.
func NewStaticCursor ¶
NewStaticCursor returns an instance of a StaticCursor. It destructively sorts the provided pairs to be in key ascending order.
type CursorConfig ¶
type CursorConfig struct { Direction CursorDirection Hints CursorHints Prefix []byte SkipFirst bool }
CursorConfig is a type used to configure a new forward cursor. It includes a direction and a set of hints
func NewCursorConfig ¶
func NewCursorConfig(opts ...CursorOption) CursorConfig
NewCursorConfig constructs and configures a CursorConfig used to configure a forward cursor.
type CursorDirection ¶
type CursorDirection int
CursorDirection is an integer used to define the direction a request cursor operates in.
const ( // CursorAscending directs a cursor to range in ascending order CursorAscending CursorDirection = iota // CursorAscending directs a cursor to range in descending order CursorDescending )
type CursorHint ¶
type CursorHint func(*CursorHints)
CursorHint configures CursorHints
func WithCursorHintKeyStart ¶
func WithCursorHintKeyStart(start string) CursorHint
WithCursorHintKeyStart is a hint to the store that the caller is interested in reading keys from start.
func WithCursorHintPredicate ¶
func WithCursorHintPredicate(f CursorPredicateFunc) CursorHint
WithCursorHintPredicate is a hint to the store to return only key / values which return true for the f.
The primary concern of the predicate is to improve performance. Therefore, it should perform tests on the data at minimal cost. If the predicate has no meaningful impact on reducing memory or CPU usage, there is no benefit to using it.
func WithCursorHintPrefix ¶
func WithCursorHintPrefix(prefix string) CursorHint
WithCursorHintPrefix is a hint to the store that the caller is only interested keys with the specified prefix.
type CursorHints ¶
type CursorHints struct { KeyPrefix *string KeyStart *string PredicateFn CursorPredicateFunc }
type CursorOption ¶
type CursorOption func(*CursorConfig)
CursorOption is a functional option for configuring a forward cursor
func WithCursorDirection ¶
func WithCursorDirection(direction CursorDirection) CursorOption
WithCursorDirection sets the cursor direction on a provided cursor config
func WithCursorHints ¶
func WithCursorHints(hints ...CursorHint) CursorOption
WithCursorHints configs the provided hints on the cursor config
func WithCursorPrefix ¶
func WithCursorPrefix(prefix []byte) CursorOption
WithCursorPrefix configures the forward cursor to retrieve keys with a particular prefix. This implies the cursor will start and end at a specific location based on the prefix [prefix, prefix + 1).
The value of the seek bytes must be prefixed with the provided prefix, otherwise an error will be returned.
func WithCursorSkipFirstItem ¶
func WithCursorSkipFirstItem() CursorOption
WithCursorSkipFirstItem skips returning the first item found within the seek.
type CursorPredicateFunc ¶
type DecodeBucketValFn ¶
DecodeBucketValFn decodes the raw []byte.
type DeleteOpts ¶
type DeleteOpts struct { DeleteRelationFns []DeleteRelationsFn FilterFn FilterFn }
DeleteOpts provides indicators to the store.Delete call for deleting a given entity. The FilterFn indicates the current value should be deleted when returning true.
type DeleteRelationsFn ¶
DeleteRelationsFn is a hook that a store that composes other stores can use to delete an entity and any relations it may share. An example would be deleting an an entity and its associated index.
type DocumentDecorator ¶
type DocumentDecorator struct {
// contains filtered or unexported fields
}
DocumentDecorator is used to communication the decoration of documents to the document store.
func (*DocumentDecorator) IncludeContent ¶
func (d *DocumentDecorator) IncludeContent() error
IncludeContent signals that the document should include its content when returned.
func (*DocumentDecorator) IncludeLabels ¶
func (d *DocumentDecorator) IncludeLabels() error
IncludeLabels signals that the document should include its labels when returned.
type DocumentIndex ¶
type DocumentIndex struct {
// contains filtered or unexported fields
}
DocumentIndex implements influxdb.DocumentIndex. It is used to access labels/owners of documents.
func (*DocumentIndex) AddDocumentLabel ¶
func (i *DocumentIndex) AddDocumentLabel(docID, labelID influxdb.ID) error
AddDocumentLabel creates a label mapping for the label provided.
func (*DocumentIndex) AddDocumentOwner ¶
func (i *DocumentIndex) AddDocumentOwner(id influxdb.ID, ownerType string, ownerID influxdb.ID) error
AddDocumentOwner creates a urm for the document id and owner id provided.
func (*DocumentIndex) FindLabelByID ¶
func (i *DocumentIndex) FindLabelByID(id influxdb.ID) error
FindLabelByID retrieves a label by id.
func (*DocumentIndex) FindOrganizationByID ¶
func (i *DocumentIndex) FindOrganizationByID(id influxdb.ID) error
FindOrganizationByID checks if the org existence by the org id provided.
func (*DocumentIndex) FindOrganizationByName ¶
func (i *DocumentIndex) FindOrganizationByName(org string) (influxdb.ID, error)
FindOrganizationByName retrieves the organization ID of the org provided.
func (*DocumentIndex) GetAccessorsDocuments ¶
func (i *DocumentIndex) GetAccessorsDocuments(ownerType string, ownerID influxdb.ID) ([]influxdb.ID, error)
GetAccessorsDocuments retrieves the list of documents a user is allowed to access.
func (*DocumentIndex) GetDocumentsAccessors ¶
GetDocumentsAccessors retrieves the list of accessors of a document.
func (*DocumentIndex) IsOrgAccessor ¶
IsOrgAccessor checks to see if the user is an accessor of the org provided. If the operation is writable it ensures that the user is owner.
func (*DocumentIndex) RemoveDocumentLabel ¶
func (i *DocumentIndex) RemoveDocumentLabel(docID, labelID influxdb.ID) error
RemoveDocumentLabel removes a label mapping for the label provided.
func (*DocumentIndex) RemoveDocumentOwner ¶
func (i *DocumentIndex) RemoveDocumentOwner(id influxdb.ID, ownerType string, ownerID influxdb.ID) error
RemoveDocumentOwner deletes the urm for the document id and owner id provided.
type DocumentStore ¶
type DocumentStore struct {
// contains filtered or unexported fields
}
DocumentStore implements influxdb.DocumentStore.
func (*DocumentStore) CreateDocument ¶
func (s *DocumentStore) CreateDocument(ctx context.Context, d *influxdb.Document, opts ...influxdb.DocumentOptions) error
CreateDocument creates an instance of a document and sets the ID. After which it applies each of the options provided.
func (*DocumentStore) DeleteDocuments ¶
func (s *DocumentStore) DeleteDocuments(ctx context.Context, opts ...influxdb.DocumentFindOptions) error
DeleteDocuments removes all documents returned by the options.
func (*DocumentStore) FindDocuments ¶
func (s *DocumentStore) FindDocuments(ctx context.Context, opts ...influxdb.DocumentFindOptions) ([]*influxdb.Document, error)
FindDocuments retrieves all documenst returned by the document find options.
func (*DocumentStore) PutDocument ¶
func (*DocumentStore) UpdateDocument ¶
func (s *DocumentStore) UpdateDocument(ctx context.Context, d *influxdb.Document, opts ...influxdb.DocumentOptions) error
UpdateDocument updates the document.
type EncodeEntFn ¶
EncodeEntFn encodes the entity. This is used both for the key and vals in the store base.
type EncodeFn ¶
EncodeFn returns an encoding when called. Closures are your friend here.
func EncStringCaseInsensitive ¶
EncStringCaseInsensitive encodes a string and makes it case insensitive by lower casing everything.
type FilterFn ¶
FilterFn will provide an indicator to the Find or Delete calls that the entity that was seen is one that is valid and should be either captured or deleted (depending on the caller of the filter func).
type FindCaptureFn ¶
FindCaptureFn is the mechanism for closing over the key and decoded value pair for adding results to the call sites collection. This generic implementation allows it to be reused. The returned decodedVal should always satisfy whatever decoding of the bucket value was set on the storeo that calls Find.
type FindOpts ¶
type FindOpts struct { Descending bool Offset int Limit int Prefix []byte CaptureFn FindCaptureFn FilterEntFn FilterFn }
FindOpts provided a means to search through the bucket. When a filter func is provided, that will run against the entity and if the filter responds true, will count it towards the number of entries seen and the capture func will be run with it provided to it.
type ForwardCursor ¶
type ForwardCursor interface { // Next moves the cursor to the next key in the bucket. Next() (k, v []byte) // Err returns non-nil if an error occurred during cursor iteration. // This should always be checked after Next returns a nil key/value. Err() error // Close is reponsible for freeing any resources created by the cursor. Close() error }
ForwardCursor is an abstraction for interacting/ranging through data in one direction.
type IndexStore ¶
IndexStore provides a entity store that uses an index lookup. The index store manages deleting and creating indexes for the caller. The index is automatically used if the FindEnt entity entity does not have the primary key.
func (*IndexStore) Delete ¶
func (s *IndexStore) Delete(ctx context.Context, tx Tx, opts DeleteOpts) error
Delete deletes entities and associated indexes.
func (*IndexStore) Find ¶
Find provides a mechanism for looking through the bucket via the set options. When a prefix is provided, it will be used within the entity store. If you would like to search the index store, then you can by calling the index store directly.
func (*IndexStore) FindEnt ¶
FindEnt returns the decoded entity body via teh provided entity. An example entity should not include a Body, but rather the ID, Name, or OrgID. If no ID is provided, then the algorithm assumes you are looking up the entity by the index.
func (*IndexStore) Init ¶
func (s *IndexStore) Init(ctx context.Context, tx Tx) error
Init creates the entity and index buckets.
func (*IndexStore) Put ¶
func (s *IndexStore) Put(ctx context.Context, tx Tx, ent Entity, opts ...PutOptionFn) error
Put will persist the entity into both the entity store and the index store.
type PutOptionFn ¶
type PutOptionFn func(o *putOption) error
PutOptionFn provides a hint to the store to make some guarantees about the put action. I.e. If it is new, then will validate there is no existing entity by the given PK.
func PutNew ¶
func PutNew() PutOptionFn
PutNew will create an entity that is not does not already exist. Guarantees uniqueness by the store's uniqueness guarantees.
func PutUpdate ¶
func PutUpdate() PutOptionFn
PutUpdate will update an entity that must already exist.
type Service ¶
type Service struct { Config ServiceConfig IDGenerator influxdb.IDGenerator // special ID generator that never returns bytes with backslash, // comma, or space. Used to support very specific encoding of org & // bucket into the old measurement in storage. OrgBucketIDs influxdb.IDGenerator TokenGenerator influxdb.TokenGenerator // TODO(desa:ariel): this should not be embedded influxdb.TimeGenerator Hash Crypt // contains filtered or unexported fields }
Service is the struct that influxdb services are implemented on.
func NewService ¶
func NewService(log *zap.Logger, kv Store, configs ...ServiceConfig) *Service
NewService returns an instance of a Service.
func (*Service) AddDashboardCell ¶
func (s *Service) AddDashboardCell(ctx context.Context, id influxdb.ID, cell *influxdb.Cell, opts influxdb.AddDashboardCellOptions) error
AddDashboardCell adds a cell to a dashboard and sets the cells ID.
func (*Service) AddLogEntry ¶
AddLogEntry logs an keyValue for a particular resource type ID pairing.
func (*Service) AddRunLog ¶
func (s *Service) AddRunLog(ctx context.Context, taskID, runID influxdb.ID, when time.Time, log string) error
AddRunLog adds a log line to the run.
func (*Service) AddTarget ¶
func (s *Service) AddTarget(ctx context.Context, target *influxdb.ScraperTarget, userID influxdb.ID) (err error)
AddTarget add a new scraper target into storage.
func (*Service) CompareAndSetPassword ¶
func (s *Service) CompareAndSetPassword(ctx context.Context, userID influxdb.ID, old string, new string) error
CompareAndSetPassword checks the password and if they match updates to the new password.
func (*Service) ComparePassword ¶
ComparePassword checks if the password matches the password recorded. Passwords that do not match return errors.
func (*Service) CreateAuthorization ¶
CreateAuthorization creates a influxdb authorization and sets b.ID, and b.UserID if not provided.
func (*Service) CreateBucket ¶
CreateBucket creates a influxdb bucket and sets b.ID.
func (*Service) CreateCheck ¶
func (s *Service) CreateCheck(ctx context.Context, c influxdb.CheckCreate, userID influxdb.ID) error
CreateCheck creates a influxdb check and sets ID.
func (*Service) CreateDashboard ¶
CreateDashboard creates a influxdb dashboard and sets d.ID.
func (*Service) CreateDocumentStore ¶
func (s *Service) CreateDocumentStore(ctx context.Context, ns string) (influxdb.DocumentStore, error)
CreateDocumentStore creates an instance of a document store by instantiating the buckets for the store.
func (*Service) CreateLabel ¶
CreateLabel creates a new label.
func (*Service) CreateLabelMapping ¶
CreateLabelMapping creates a new mapping between a resource and a label.
func (*Service) CreateNotificationEndpoint ¶
func (s *Service) CreateNotificationEndpoint(ctx context.Context, edp influxdb.NotificationEndpoint, userID influxdb.ID) error
CreateNotificationEndpoint creates a new notification endpoint and sets b.ID with the new identifier.
func (*Service) CreateNotificationRule ¶
func (s *Service) CreateNotificationRule(ctx context.Context, nr influxdb.NotificationRuleCreate, userID influxdb.ID) error
CreateNotificationRule creates a new notification rule and sets b.ID with the new identifier.
func (*Service) CreateOrganization ¶
CreateOrganization creates a influxdb organization and sets b.ID.
func (*Service) CreateRun ¶
func (s *Service) CreateRun(ctx context.Context, taskID influxdb.ID, scheduledFor time.Time, runAt time.Time) (*influxdb.Run, error)
CreateRun creates a run with a scheduledFor time as now.
func (*Service) CreateSession ¶
CreateSession creates a session for a user with the users maximal privileges.
func (*Service) CreateSource ¶
CreateSource creates a influxdb source and sets s.ID.
func (*Service) CreateTask ¶
CreateTask creates a new task. The owner of the task is inferred from the authorizer associated with ctx.
func (*Service) CreateTelegrafConfig ¶
func (s *Service) CreateTelegrafConfig(ctx context.Context, tc *influxdb.TelegrafConfig, userID influxdb.ID) error
CreateTelegrafConfig creates a new telegraf config and sets b.ID with the new identifier.
func (*Service) CreateUser ¶
CreateUser creates a influxdb user and sets b.ID.
func (*Service) CreateUserResourceMapping ¶
func (s *Service) CreateUserResourceMapping(ctx context.Context, m *influxdb.UserResourceMapping) error
CreateUserResourceMapping associates a user to a resource either as a member or owner.
func (*Service) CreateVariable ¶
CreateVariable creates a new variable and assigns it an ID
func (*Service) CurrentlyRunning ¶
func (*Service) DefaultSource ¶
DefaultSource retrieves the default source.
func (*Service) DeleteAuthorization ¶
DeleteAuthorization deletes a authorization and prunes it from the index.
func (*Service) DeleteBucket ¶
DeleteBucket deletes a bucket and prunes it from the index.
func (*Service) DeleteCheck ¶
DeleteCheck deletes a check and prunes it from the index.
func (*Service) DeleteDashboard ¶
DeleteDashboard deletes a dashboard and prunes it from the index.
func (*Service) DeleteLabel ¶
DeleteLabel deletes a label.
func (*Service) DeleteLabelMapping ¶
DeleteLabelMapping deletes a label mapping.
func (*Service) DeleteNotificationEndpoint ¶
func (s *Service) DeleteNotificationEndpoint(ctx context.Context, id influxdb.ID) (flds []influxdb.SecretField, orgID influxdb.ID, err error)
DeleteNotificationEndpoint removes a notification endpoint by ID.
func (*Service) DeleteNotificationRule ¶
DeleteNotificationRule removes a notification rule by ID.
func (*Service) DeleteOrganization ¶
DeleteOrganization deletes a organization and prunes it from the index.
func (*Service) DeleteSecret ¶
DeleteSecret removes secrets from the secret store.
func (*Service) DeleteSource ¶
DeleteSource deletes a source and prunes it from the index.
func (*Service) DeleteTask ¶
DeleteTask removes a task by ID and purges all associated data and scheduled runs.
func (*Service) DeleteTelegrafConfig ¶
DeleteTelegrafConfig removes a telegraf config by ID.
func (*Service) DeleteUser ¶
DeleteUser deletes a user and prunes it from the index.
func (*Service) DeleteUserResourceMapping ¶
func (s *Service) DeleteUserResourceMapping(ctx context.Context, resourceID influxdb.ID, userID influxdb.ID) error
DeleteUserResourceMapping deletes a user resource mapping.
func (*Service) DeleteVariable ¶
DeleteVariable removes a single variable from the store by its ID
func (*Service) ExpireSession ¶
ExpireSession expires the session at the provided key.
func (*Service) FindAuthorizationByID ¶
func (s *Service) FindAuthorizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Authorization, error)
FindAuthorizationByID retrieves a authorization by id.
func (*Service) FindAuthorizationByToken ¶
func (s *Service) FindAuthorizationByToken(ctx context.Context, n string) (*influxdb.Authorization, error)
FindAuthorizationByToken returns a authorization by token for a particular authorization.
func (*Service) FindAuthorizations ¶
func (s *Service) FindAuthorizations(ctx context.Context, filter influxdb.AuthorizationFilter, opt ...influxdb.FindOptions) ([]*influxdb.Authorization, int, error)
FindAuthorizations retrives all authorizations that match an arbitrary authorization filter. Filters using ID, or Token should be efficient. Other filters will do a linear scan across all authorizations searching for a match.
func (*Service) FindBucket ¶
func (s *Service) FindBucket(ctx context.Context, filter influxdb.BucketFilter) (*influxdb.Bucket, error)
FindBucket retrives a bucket using an arbitrary bucket filter. Filters using ID, or OrganizationID and bucket Name should be efficient. Other filters will do a linear scan across buckets until it finds a match.
func (*Service) FindBucketByID ¶
FindBucketByID retrieves a bucket by id.
func (*Service) FindBucketByName ¶
func (s *Service) FindBucketByName(ctx context.Context, orgID influxdb.ID, n string) (*influxdb.Bucket, error)
FindBucketByName returns a bucket by name for a particular organization. TODO: have method for finding bucket using organization name and bucket name.
func (*Service) FindBuckets ¶
func (s *Service) FindBuckets(ctx context.Context, filter influxdb.BucketFilter, opts ...influxdb.FindOptions) ([]*influxdb.Bucket, int, error)
FindBuckets retrives all buckets that match an arbitrary bucket filter. Filters using ID, or OrganizationID and bucket Name should be efficient. Other filters will do a linear scan across all buckets searching for a match.
func (*Service) FindCheck ¶
func (s *Service) FindCheck(ctx context.Context, filter influxdb.CheckFilter) (influxdb.Check, error)
FindCheck retrives a check using an arbitrary check filter. Filters using ID, or OrganizationID and check Name should be efficient. Other filters will do a linear scan across checks until it finds a match.
func (*Service) FindCheckByID ¶
FindCheckByID retrieves a check by id.
func (*Service) FindChecks ¶
func (s *Service) FindChecks(ctx context.Context, filter influxdb.CheckFilter, opts ...influxdb.FindOptions) ([]influxdb.Check, int, error)
FindChecks retrieves all checks that match an arbitrary check filter. Filters using ID, or OrganizationID and check Name should be efficient. Other filters will do a linear scan across all checks searching for a match.
func (*Service) FindDashboard ¶
func (s *Service) FindDashboard(ctx context.Context, filter influxdb.DashboardFilter, opts ...influxdb.FindOptions) (*influxdb.Dashboard, error)
FindDashboard retrieves a dashboard using an arbitrary dashboard filter.
func (*Service) FindDashboardByID ¶
func (s *Service) FindDashboardByID(ctx context.Context, id influxdb.ID) (*influxdb.Dashboard, error)
FindDashboardByID retrieves a dashboard by id.
func (*Service) FindDashboards ¶
func (s *Service) FindDashboards(ctx context.Context, filter influxdb.DashboardFilter, opts influxdb.FindOptions) ([]*influxdb.Dashboard, int, error)
FindDashboards retrives all dashboards that match an arbitrary dashboard filter.
func (*Service) FindDocumentStore ¶
FindDocumentStore finds the buckets associated with the namespace provided.
func (*Service) FindLabelByID ¶
FindLabelByID finds a label by its ID
func (*Service) FindLabels ¶
func (s *Service) FindLabels(ctx context.Context, filter influxdb.LabelFilter, opt ...influxdb.FindOptions) ([]*influxdb.Label, error)
FindLabels returns a list of labels that match a filter.
func (*Service) FindLogs ¶
func (s *Service) FindLogs(ctx context.Context, filter influxdb.LogFilter) ([]*influxdb.Log, int, error)
FindLogs returns logs for a run.
func (*Service) FindNotificationEndpointByID ¶
func (s *Service) FindNotificationEndpointByID(ctx context.Context, id influxdb.ID) (influxdb.NotificationEndpoint, error)
FindNotificationEndpointByID returns a single notification endpoint by ID.
func (*Service) FindNotificationEndpoints ¶
func (s *Service) FindNotificationEndpoints(ctx context.Context, filter influxdb.NotificationEndpointFilter, opt ...influxdb.FindOptions) (edps []influxdb.NotificationEndpoint, n int, err error)
FindNotificationEndpoints returns a list of notification endpoints that match isNext and the total count of matching notification endpoints. Additional options provide pagination & sorting.
func (*Service) FindNotificationRuleByID ¶
func (s *Service) FindNotificationRuleByID(ctx context.Context, id influxdb.ID) (influxdb.NotificationRule, error)
FindNotificationRuleByID returns a single notification rule by ID.
func (*Service) FindNotificationRules ¶
func (s *Service) FindNotificationRules(ctx context.Context, filter influxdb.NotificationRuleFilter, opt ...influxdb.FindOptions) (nrs []influxdb.NotificationRule, n int, err error)
FindNotificationRules returns a list of notification rules that match filter and the total count of matching notification rules. Additional options provide pagination & sorting.
func (*Service) FindOrganization ¶
func (s *Service) FindOrganization(ctx context.Context, filter influxdb.OrganizationFilter) (*influxdb.Organization, error)
FindOrganization retrives a organization using an arbitrary organization filter. Filters using ID, or Name should be efficient. Other filters will do a linear scan across organizations until it finds a match.
func (*Service) FindOrganizationByID ¶
func (s *Service) FindOrganizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Organization, error)
FindOrganizationByID retrieves a organization by id.
func (*Service) FindOrganizationByName ¶
func (s *Service) FindOrganizationByName(ctx context.Context, n string) (*influxdb.Organization, error)
FindOrganizationByName returns a organization by name for a particular organization.
func (*Service) FindOrganizations ¶
func (s *Service) FindOrganizations(ctx context.Context, filter influxdb.OrganizationFilter, opt ...influxdb.FindOptions) ([]*influxdb.Organization, int, error)
FindOrganizations retrives all organizations that match an arbitrary organization filter. Filters using ID, or Name should be efficient. Other filters will do a linear scan across all organizations searching for a match.
func (*Service) FindResourceLabels ¶
func (*Service) FindResourceOrganizationID ¶
func (s *Service) FindResourceOrganizationID(ctx context.Context, rt influxdb.ResourceType, id influxdb.ID) (influxdb.ID, error)
FindResourceOrganizationID is used to find the organization that a resource belongs to five the id of a resource and a resource type.
func (*Service) FindRunByID ¶
func (s *Service) FindRunByID(ctx context.Context, taskID, runID influxdb.ID) (*influxdb.Run, error)
FindRunByID returns a single run.
func (*Service) FindRuns ¶
func (s *Service) FindRuns(ctx context.Context, filter influxdb.RunFilter) ([]*influxdb.Run, int, error)
FindRuns returns a list of runs that match a filter and the total count of returned runs.
func (*Service) FindSession ¶
FindSession retrieves the session found at the provided key.
func (*Service) FindSourceByID ¶
FindSourceByID retrieves a source by id.
func (*Service) FindSources ¶
func (s *Service) FindSources(ctx context.Context, opt influxdb.FindOptions) ([]*influxdb.Source, int, error)
FindSources retrives all sources that match an arbitrary source filter. Filters using ID, or OrganizationID and source Name should be efficient. Other filters will do a linear scan across all sources searching for a match.
func (*Service) FindTaskByID ¶
FindTaskByID returns a single task
func (*Service) FindTasks ¶
func (s *Service) FindTasks(ctx context.Context, filter influxdb.TaskFilter) ([]*influxdb.Task, int, error)
FindTasks returns a list of tasks that match a filter (limit 100) and the total count of matching tasks.
func (*Service) FindTelegrafConfigByID ¶
func (s *Service) FindTelegrafConfigByID(ctx context.Context, id influxdb.ID) (*influxdb.TelegrafConfig, error)
FindTelegrafConfigByID returns a single telegraf config by ID.
func (*Service) FindTelegrafConfigs ¶
func (s *Service) FindTelegrafConfigs(ctx context.Context, filter influxdb.TelegrafConfigFilter, opt ...influxdb.FindOptions) (tcs []*influxdb.TelegrafConfig, n int, err error)
FindTelegrafConfigs returns a list of telegraf configs that match filter and the total count of matching telegraf configs. Additional options provide pagination & sorting.
func (*Service) FindUser ¶
FindUser retrives a user using an arbitrary user filter. Filters using ID, or Name should be efficient. Other filters will do a linear scan across users until it finds a match.
func (*Service) FindUserByID ¶
FindUserByID retrieves a user by id.
func (*Service) FindUserByName ¶
FindUserByName returns a user by name for a particular user.
func (*Service) FindUserResourceMappings ¶
func (s *Service) FindUserResourceMappings(ctx context.Context, filter influxdb.UserResourceMappingFilter, opt ...influxdb.FindOptions) ([]*influxdb.UserResourceMapping, int, error)
FindUserResourceMappings returns a list of UserResourceMappings that match filter and the total count of matching mappings.
func (*Service) FindUsers ¶
func (s *Service) FindUsers(ctx context.Context, filter influxdb.UserFilter, opt ...influxdb.FindOptions) ([]*influxdb.User, int, error)
FindUsers retrives all users that match an arbitrary user filter. Filters using ID, or Name should be efficient. Other filters will do a linear scan across all users searching for a match.
func (*Service) FindVariableByID ¶
FindVariableByID finds a single variable in the store by its ID
func (*Service) FindVariables ¶
func (s *Service) FindVariables(ctx context.Context, filter influxdb.VariableFilter, opt ...influxdb.FindOptions) ([]*influxdb.Variable, error)
FindVariables returns all variables in the store
func (*Service) FinishRun ¶
FinishRun removes runID from the list of running tasks and if its `now` is later then last completed update it.
func (*Service) FirstLogEntry ¶
FirstLogEntry retrieves the first log entry for a key value log.
func (*Service) ForEachLogEntry ¶
func (s *Service) ForEachLogEntry(ctx context.Context, k []byte, opts platform.FindOptions, fn func([]byte, time.Time) error) error
ForEachLogEntry retrieves the keyValue log for a resource type ID combination. KeyValues may be returned in ascending and descending order.
func (*Service) ForceRun ¶
func (s *Service) ForceRun(ctx context.Context, taskID influxdb.ID, scheduledFor int64) (*influxdb.Run, error)
ForceRun forces a run to occur with unix timestamp scheduledFor, to be executed as soon as possible. The value of scheduledFor may or may not align with the task's schedule.
func (*Service) Generate ¶
func (s *Service) Generate(ctx context.Context, req *influxdb.OnboardingRequest) (*influxdb.OnboardingResults, error)
Generate OnboardingResults from onboarding request, update db so this request will be disabled for the second run.
func (*Service) GetBucketOperationLog ¶
func (s *Service) GetBucketOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
GetBucketOperationLog retrieves a buckets operation log.
func (*Service) GetDashboardCellView ¶
func (s *Service) GetDashboardCellView(ctx context.Context, dashboardID, cellID influxdb.ID) (*influxdb.View, error)
GetDashboardCellView retrieves the view for a dashboard cell.
func (*Service) GetDashboardOperationLog ¶
func (s *Service) GetDashboardOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
GetDashboardOperationLog retrieves a dashboards operation log.
func (*Service) GetOrganizationOperationLog ¶
func (s *Service) GetOrganizationOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
GetOrganizationOperationLog retrieves a organization operation log.
func (*Service) GetSecretKeys ¶
GetSecretKeys retrieves all secret keys that are stored for the organization orgID.
func (*Service) GetTargetByID ¶
func (s *Service) GetTargetByID(ctx context.Context, id influxdb.ID) (*influxdb.ScraperTarget, error)
GetTargetByID retrieves a scraper target by id.
func (*Service) GetUserOperationLog ¶
func (s *Service) GetUserOperationLog(ctx context.Context, id influxdb.ID, opts influxdb.FindOptions) ([]*influxdb.OperationLogEntry, int, error)
GetUserOperationLog retrieves a user operation log.
func (*Service) Initialize ¶
Initialize creates Buckets needed.
func (*Service) IsOnboarding ¶
IsOnboarding means if the initial setup of influxdb has happened. true means that the onboarding setup has not yet happened. false means that the onboarding has been completed.
func (*Service) LastLogEntry ¶
LastLogEntry retrieves the first log entry for a key value log.
func (*Service) ListTargets ¶
func (s *Service) ListTargets(ctx context.Context, filter influxdb.ScraperTargetFilter) ([]influxdb.ScraperTarget, error)
ListTargets will list all scrape targets.
func (*Service) LoadSecret ¶
LoadSecret retrieves the secret value v found at key k for organization orgID.
func (*Service) ManualRuns ¶
func (*Service) Name ¶
func (s *Service) Name(ctx context.Context, resource influxdb.ResourceType, id influxdb.ID) (string, error)
Name returns the name for the resource and ID.
func (*Service) PatchCheck ¶
func (s *Service) PatchCheck(ctx context.Context, id influxdb.ID, upd influxdb.CheckUpdate) (influxdb.Check, error)
PatchCheck updates a check according the parameters set on upd.
func (*Service) PatchNotificationEndpoint ¶
func (s *Service) PatchNotificationEndpoint(ctx context.Context, id influxdb.ID, upd influxdb.NotificationEndpointUpdate) (influxdb.NotificationEndpoint, error)
PatchNotificationEndpoint updates a single notification endpoint with changeset. Returns the new notification endpoint state after update.
func (*Service) PatchNotificationRule ¶
func (s *Service) PatchNotificationRule(ctx context.Context, id influxdb.ID, upd influxdb.NotificationRuleUpdate) (influxdb.NotificationRule, error)
PatchNotificationRule updates a single notification rule with changeset. Returns the new notification rule state after update.
func (*Service) PatchSecrets ¶
PatchSecrets patches all provided secrets and updates any previous values.
func (*Service) PutAuthorization ¶
PutAuthorization will put a authorization without setting an ID.
func (*Service) PutDashboard ¶
PutDashboard will put a dashboard without setting an ID.
func (*Service) PutLabel ¶
PutLabel creates a label from the provided struct, without generating a new ID.
func (*Service) PutLabelMapping ¶
PutLabelMapping writes a label mapping to boltdb
func (*Service) PutNotificationEndpoint ¶
func (s *Service) PutNotificationEndpoint(ctx context.Context, edp influxdb.NotificationEndpoint) error
PutNotificationEndpoint put a notification endpoint to storage.
func (*Service) PutNotificationRule ¶
func (s *Service) PutNotificationRule(ctx context.Context, nr influxdb.NotificationRuleCreate) error
PutNotificationRule put a notification rule to storage.
func (*Service) PutOnboardingStatus ¶
PutOnboardingStatus will update the flag, so future onboarding request will be denied. true means that onboarding is NOT needed. false means that onboarding is needed.
func (*Service) PutOrganization ¶
PutOrganization will put a organization without setting an ID.
func (*Service) PutSecrets ¶
PutSecrets puts all provided secrets and overwrites any previous values.
func (*Service) PutSession ¶
PutSession puts the session at key.
func (*Service) PutTelegrafConfig ¶
PutTelegrafConfig put a telegraf config to storage.
func (*Service) RemoveDashboardCell ¶
RemoveDashboardCell removes a cell from a dashboard.
func (*Service) RemoveTarget ¶
RemoveTarget removes a scraper target from the bucket.
func (*Service) RenewSession ¶
func (s *Service) RenewSession(ctx context.Context, session *influxdb.Session, newExpiration time.Time) error
RenewSession extends the expire time to newExpiration.
func (*Service) ReplaceDashboardCells ¶
func (s *Service) ReplaceDashboardCells(ctx context.Context, id influxdb.ID, cs []*influxdb.Cell) error
ReplaceDashboardCells updates the positions of each cell in a dashboard concurrently.
func (*Service) ReplaceVariable ¶
ReplaceVariable puts a variable in the store
func (*Service) RetryRun ¶
RetryRun creates and returns a new run (which is a retry of another run).
func (*Service) SetPassword ¶
SetPassword overrides the password of a known user.
func (*Service) StartManualRun ¶
func (*Service) UpdateAuthorization ¶
func (s *Service) UpdateAuthorization(ctx context.Context, id influxdb.ID, upd *influxdb.AuthorizationUpdate) (*influxdb.Authorization, error)
UpdateAuthorization updates the status and description if available.
func (*Service) UpdateBucket ¶
func (s *Service) UpdateBucket(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error)
UpdateBucket updates a bucket according the parameters set on upd.
func (*Service) UpdateCheck ¶
func (s *Service) UpdateCheck(ctx context.Context, id influxdb.ID, chk influxdb.CheckCreate) (influxdb.Check, error)
UpdateCheck updates the check.
func (*Service) UpdateDashboard ¶
func (s *Service) UpdateDashboard(ctx context.Context, id influxdb.ID, upd influxdb.DashboardUpdate) (*influxdb.Dashboard, error)
UpdateDashboard updates a dashboard according the parameters set on upd.
func (*Service) UpdateDashboardCell ¶
func (s *Service) UpdateDashboardCell(ctx context.Context, dashboardID, cellID influxdb.ID, upd influxdb.CellUpdate) (*influxdb.Cell, error)
UpdateDashboardCell udpates a cell on a dashboard.
func (*Service) UpdateDashboardCellView ¶
func (s *Service) UpdateDashboardCellView(ctx context.Context, dashboardID, cellID influxdb.ID, upd influxdb.ViewUpdate) (*influxdb.View, error)
UpdateDashboardCellView updates the view for a dashboard cell.
func (*Service) UpdateLabel ¶
func (s *Service) UpdateLabel(ctx context.Context, id influxdb.ID, upd influxdb.LabelUpdate) (*influxdb.Label, error)
UpdateLabel updates a label.
func (*Service) UpdateNotificationEndpoint ¶
func (s *Service) UpdateNotificationEndpoint(ctx context.Context, id influxdb.ID, edp influxdb.NotificationEndpoint, userID influxdb.ID) (influxdb.NotificationEndpoint, error)
UpdateNotificationEndpoint updates a single notification endpoint. Returns the new notification endpoint after update.
func (*Service) UpdateNotificationRule ¶
func (s *Service) UpdateNotificationRule(ctx context.Context, id influxdb.ID, nr influxdb.NotificationRuleCreate, userID influxdb.ID) (influxdb.NotificationRule, error)
UpdateNotificationRule updates a single notification rule. Returns the new notification rule after update.
func (*Service) UpdateOrganization ¶
func (s *Service) UpdateOrganization(ctx context.Context, id influxdb.ID, upd influxdb.OrganizationUpdate) (*influxdb.Organization, error)
UpdateOrganization updates a organization according the parameters set on upd.
func (*Service) UpdateRunState ¶
func (s *Service) UpdateRunState(ctx context.Context, taskID, runID influxdb.ID, when time.Time, state backend.RunStatus) error
UpdateRunState sets the run state at the respective time.
func (*Service) UpdateSource ¶
func (s *Service) UpdateSource(ctx context.Context, id influxdb.ID, upd influxdb.SourceUpdate) (*influxdb.Source, error)
UpdateSource updates a source according the parameters set on upd.
func (*Service) UpdateTarget ¶
func (s *Service) UpdateTarget(ctx context.Context, update *influxdb.ScraperTarget, userID influxdb.ID) (*influxdb.ScraperTarget, error)
UpdateTarget updates a scraper target.
func (*Service) UpdateTask ¶
func (s *Service) UpdateTask(ctx context.Context, id influxdb.ID, upd influxdb.TaskUpdate) (*influxdb.Task, error)
UpdateTask updates a single task with changeset.
func (*Service) UpdateTelegrafConfig ¶
func (s *Service) UpdateTelegrafConfig(ctx context.Context, id influxdb.ID, tc *influxdb.TelegrafConfig, userID influxdb.ID) (*influxdb.TelegrafConfig, error)
UpdateTelegrafConfig updates a single telegraf config. Returns the new telegraf config after update.
func (*Service) UpdateUser ¶
func (s *Service) UpdateUser(ctx context.Context, id influxdb.ID, upd influxdb.UserUpdate) (*influxdb.User, error)
UpdateUser updates a user according the parameters set on upd.
func (*Service) UpdateVariable ¶
func (s *Service) UpdateVariable(ctx context.Context, id influxdb.ID, update *influxdb.VariableUpdate) (*influxdb.Variable, error)
UpdateVariable updates a single variable in the store with a changeset
func (*Service) WithResourceLogger ¶
WithResourceLogger sets the resource audit logger for the service.
func (*Service) WithSpecialOrgBucketIDs ¶
func (s *Service) WithSpecialOrgBucketIDs(gen influxdb.IDGenerator)
WithSpecialOrgBucketIDs sets the generator for the org and bucket ids.
Should only be used in tests for mocking.
type ServiceConfig ¶
ServiceConfig allows us to configure Services
type Store ¶
type Store interface { // View opens up a transaction that will not write to any data. Implementing interfaces // should take care to ensure that all view transactions do not mutate any data. View(context.Context, func(Tx) error) error // Update opens up a transaction that will mutate data. Update(context.Context, func(Tx) error) error // Backup copies all K:Vs to a writer, file format determined by implementation. Backup(ctx context.Context, w io.Writer) error }
Store is an interface for a generic key value store. It is modeled after the boltdb database struct.
type StoreBase ¶
type StoreBase struct { Resource string BktName []byte EncodeEntKeyFn EncodeEntFn EncodeEntBodyFn EncodeEntFn DecodeEntFn DecodeBucketValFn ConvertValToEntFn ConvertValToEntFn }
StoreBase is the base behavior for accessing buckets in kv. It provides mechanisms that can be used in composing stores together (i.e. IndexStore).
func NewOrgNameKeyStore ¶
NewOrgNameKeyStore creates a store for an entity's unique index on organization id and name. This is used throughout the kv pkg here to provide an entity uniquness by name within an org.
func NewStoreBase ¶
func NewStoreBase(resource string, bktName []byte, encKeyFn, encBodyFn EncodeEntFn, decFn DecodeBucketValFn, decToEntFn ConvertValToEntFn) *StoreBase
NewStoreBase creates a new store base.
func (*StoreBase) EntKey ¶
EntKey returns the key for the entity provided. This is a shortcut for grabbing the EntKey without having to juggle the encoding funcs.
func (*StoreBase) Find ¶
Find provides a mechanism for looking through the bucket via the set options. When a prefix is provided, the prefix is used to seek the bucket.
func (*StoreBase) FindEnt ¶
FindEnt returns the decoded entity body via the provided entity. An example entity should not include a Body, but rather the ID, Name, or OrgID.
type Tx ¶
type Tx interface { // Bucket possibly creates and returns bucket, b. Bucket(b []byte) (Bucket, error) // Context returns the context associated with this Tx. Context() context.Context // WithContext associates a context with this Tx. WithContext(ctx context.Context) }
Tx is a transaction in the store.
Source Files ¶
- auth.go
- backup.go
- bucket.go
- check.go
- cursor.go
- dashboard.go
- document.go
- encode.go
- indexer.go
- kvlog.go
- label.go
- lookup_service.go
- notification_endpoint.go
- notification_rule.go
- onboarding.go
- org.go
- passwords.go
- scrapers.go
- secret.go
- service.go
- session.go
- source.go
- store.go
- store_base.go
- store_index.go
- task.go
- telegraf.go
- unique.go
- urm.go
- user.go
- variable.go