2017-06-15 17:41:05 +00:00
|
|
|
package google
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
|
|
|
"cloud.google.com/go/bigtable"
|
|
|
|
"golang.org/x/oauth2"
|
|
|
|
"google.golang.org/api/option"
|
|
|
|
)
|
|
|
|
|
2017-06-26 20:34:33 +00:00
|
|
|
type BigtableClientFactory struct {
|
2017-06-15 17:41:05 +00:00
|
|
|
UserAgent string
|
|
|
|
TokenSource oauth2.TokenSource
|
|
|
|
}
|
|
|
|
|
2017-07-11 23:13:46 +00:00
|
|
|
func (s BigtableClientFactory) NewInstanceAdminClient(project string) (*bigtable.InstanceAdminClient, error) {
|
2017-06-15 17:41:05 +00:00
|
|
|
return bigtable.NewInstanceAdminClient(context.Background(), project, option.WithTokenSource(s.TokenSource), option.WithUserAgent(s.UserAgent))
|
|
|
|
}
|
|
|
|
|
2017-07-11 23:13:46 +00:00
|
|
|
func (s BigtableClientFactory) NewAdminClient(project, instance string) (*bigtable.AdminClient, error) {
|
2017-06-15 17:41:05 +00:00
|
|
|
return bigtable.NewAdminClient(context.Background(), project, instance, option.WithTokenSource(s.TokenSource), option.WithUserAgent(s.UserAgent))
|
|
|
|
}
|