1package coordinator 2 3import ( 4 "time" 5 6 "github.com/influxdata/influxdb/services/meta" 7 "github.com/influxdata/influxql" 8) 9 10// MetaClient is an interface for accessing meta data. 11type MetaClient interface { 12 CreateContinuousQuery(database, name, query string) error 13 CreateDatabase(name string) (*meta.DatabaseInfo, error) 14 CreateDatabaseWithRetentionPolicy(name string, spec *meta.RetentionPolicySpec) (*meta.DatabaseInfo, error) 15 CreateRetentionPolicy(database string, spec *meta.RetentionPolicySpec, makeDefault bool) (*meta.RetentionPolicyInfo, error) 16 CreateSubscription(database, rp, name, mode string, destinations []string) error 17 CreateUser(name, password string, admin bool) (meta.User, error) 18 Database(name string) *meta.DatabaseInfo 19 Databases() []meta.DatabaseInfo 20 DropShard(id uint64) error 21 DropContinuousQuery(database, name string) error 22 DropDatabase(name string) error 23 DropRetentionPolicy(database, name string) error 24 DropSubscription(database, rp, name string) error 25 DropUser(name string) error 26 RetentionPolicy(database, name string) (rpi *meta.RetentionPolicyInfo, err error) 27 SetAdminPrivilege(username string, admin bool) error 28 SetPrivilege(username, database string, p influxql.Privilege) error 29 ShardGroupsByTimeRange(database, policy string, min, max time.Time) (a []meta.ShardGroupInfo, err error) 30 TruncateShardGroups(t time.Time) error 31 UpdateRetentionPolicy(database, name string, rpu *meta.RetentionPolicyUpdate, makeDefault bool) error 32 UpdateUser(name, password string) error 33 UserPrivilege(username, database string) (*influxql.Privilege, error) 34 UserPrivileges(username string) (map[string]influxql.Privilege, error) 35 Users() []meta.UserInfo 36} 37