diff --git a/google/resource_bigtable_instance.go b/google/resource_bigtable_instance.go index d064afbc95e..94e6a6379c3 100644 --- a/google/resource_bigtable_instance.go +++ b/google/resource_bigtable_instance.go @@ -44,11 +44,17 @@ func resourceBigtableInstance() *schema.Resource { }, "num_nodes": { - Type: schema.TypeInt, + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + }, + + "instance_type": { + Type: schema.TypeString, Optional: true, ForceNew: true, - Default: 3, - ValidateFunc: validation.IntAtLeast(3), + Default: "PRODUCTION", + ValidateFunc: validation.StringInSlice([]string{"DEVELOPMENT", "PRODUCTION"}, false), }, "storage_type": { @@ -91,13 +97,27 @@ func resourceBigtableInstanceCreate(d *schema.ResourceData, meta interface{}) er storageType = bigtable.SSD } + numNodes := int32(d.Get("num_nodes").(int)) + var instanceType bigtable.InstanceType + switch value := d.Get("instance_type"); value { + case "DEVELOPMENT": + instanceType = bigtable.DEVELOPMENT + + if numNodes > 0 { + return fmt.Errorf("Can't specify a non-zero number of nodes: %d for DEVELOPMENT Bigtable instance: %s", numNodes, name) + } + case "PRODUCTION": + instanceType = bigtable.PRODUCTION + } + instanceConf := &bigtable.InstanceConf{ - InstanceId: name, - DisplayName: displayName.(string), - ClusterId: d.Get("cluster_id").(string), - NumNodes: int32(d.Get("num_nodes").(int)), - StorageType: storageType, - Zone: d.Get("zone").(string), + InstanceId: name, + DisplayName: displayName.(string), + ClusterId: d.Get("cluster_id").(string), + NumNodes: numNodes, + InstanceType: instanceType, + StorageType: storageType, + Zone: d.Get("zone").(string), } c, err := config.bigtableClientFactory.NewInstanceAdminClient(project) diff --git a/google/resource_bigtable_instance_test.go b/google/resource_bigtable_instance_test.go index 4ada449e50c..84b9f56ae73 100644 --- a/google/resource_bigtable_instance_test.go +++ b/google/resource_bigtable_instance_test.go @@ -29,6 +29,25 @@ func TestAccBigtableInstance_basic(t *testing.T) { }) } +func TestAccBigtableInstance_development(t *testing.T) { + instanceName := fmt.Sprintf("tf-test-%s", acctest.RandString(10)) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckBigtableInstanceDestroy, + Steps: []resource.TestStep{ + { + Config: testAccBigtableInstance_development(instanceName), + Check: resource.ComposeTestCheckFunc( + testAccBigtableInstanceExists( + "google_bigtable_instance.instance"), + ), + }, + }, + }) +} + func testAccCheckBigtableInstanceDestroy(s *terraform.State) error { var ctx = context.Background() for _, rs := range s.RootModule().Resources { @@ -92,3 +111,14 @@ resource "google_bigtable_instance" "instance" { } `, instanceName, instanceName) } + +func testAccBigtableInstance_development(instanceName string) string { + return fmt.Sprintf(` +resource "google_bigtable_instance" "instance" { + name = "%s" + cluster_id = "%s" + zone = "us-central1-b" + instance_type = "DEVELOPMENT" +} +`, instanceName, instanceName) +} diff --git a/google/resource_bigtable_table_test.go b/google/resource_bigtable_table_test.go index ff79ff98c09..e948e0a1231 100644 --- a/google/resource_bigtable_table_test.go +++ b/google/resource_bigtable_table_test.go @@ -106,11 +106,10 @@ func testAccBigtableTableExists(n string) resource.TestCheckFunc { func testAccBigtableTable(instanceName, tableName string) string { return fmt.Sprintf(` resource "google_bigtable_instance" "instance" { - name = "%s" - cluster_id = "%s" - zone = "us-central1-b" - num_nodes = 3 - storage_type = "HDD" + name = "%s" + cluster_id = "%s" + zone = "us-central1-b" + instance_type = "DEVELOPMENT" } resource "google_bigtable_table" "table" { @@ -123,11 +122,10 @@ resource "google_bigtable_table" "table" { func testAccBigtableTable_splitKeys(instanceName, tableName string) string { return fmt.Sprintf(` resource "google_bigtable_instance" "instance" { - name = "%s" - cluster_id = "%s" - zone = "us-central1-b" - num_nodes = 3 - storage_type = "HDD" + name = "%s" + cluster_id = "%s" + zone = "us-central1-b" + instance_type = "DEVELOPMENT" } resource "google_bigtable_table" "table" { diff --git a/vendor/cloud.google.com/go/bigtable/admin.go b/vendor/cloud.google.com/go/bigtable/admin.go index a1f5f01c0c6..5a7304a6dee 100644 --- a/vendor/cloud.google.com/go/bigtable/admin.go +++ b/vendor/cloud.google.com/go/bigtable/admin.go @@ -26,7 +26,7 @@ import ( lroauto "cloud.google.com/go/longrunning/autogen" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" btapb "google.golang.org/genproto/googleapis/bigtable/admin/v2" "google.golang.org/grpc" "google.golang.org/grpc/metadata" @@ -52,7 +52,7 @@ func NewAdminClient(ctx context.Context, project, instance string, opts ...optio return nil, err } o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -92,17 +92,18 @@ func (ac *AdminClient) Tables(ctx context.Context) ([]string, error) { return names, nil } +// TableConf contains all of the information necessary to create a table with column families. +type TableConf struct { + TableID string + SplitKeys []string + // Families is a map from family name to GCPolicy + Families map[string]GCPolicy +} + // CreateTable creates a new table in the instance. // This method may return before the table's creation is complete. func (ac *AdminClient) CreateTable(ctx context.Context, table string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) - prefix := ac.instancePrefix() - req := &btapb.CreateTableRequest{ - Parent: prefix, - TableId: table, - } - _, err := ac.tClient.CreateTable(ctx, req) - return err + return ac.CreateTableFromConf(ctx, &TableConf{TableID: table}) } // CreatePresplitTable creates a new table in the instance. @@ -110,16 +111,29 @@ func (ac *AdminClient) CreateTable(ctx context.Context, table string) error { // Given two split keys, "s1" and "s2", three tablets will be created, // spanning the key ranges: [, s1), [s1, s2), [s2, ). // This method may return before the table's creation is complete. -func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, split_keys []string) error { +func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, splitKeys []string) error { + return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, SplitKeys: splitKeys}) +} + +// CreateTableFromConf creates a new table in the instance from the given configuration. +func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) error { + ctx = mergeOutgoingMetadata(ctx, ac.md) var req_splits []*btapb.CreateTableRequest_Split - for _, split := range split_keys { + for _, split := range conf.SplitKeys { req_splits = append(req_splits, &btapb.CreateTableRequest_Split{[]byte(split)}) } - ctx = mergeOutgoingMetadata(ctx, ac.md) + var tbl btapb.Table + if conf.Families != nil { + tbl.ColumnFamilies = make(map[string]*btapb.ColumnFamily) + for fam, policy := range conf.Families { + tbl.ColumnFamilies[fam] = &btapb.ColumnFamily{policy.proto()} + } + } prefix := ac.instancePrefix() req := &btapb.CreateTableRequest{ Parent: prefix, - TableId: table, + TableId: conf.TableID, + Table: &tbl, InitialSplits: req_splits, } _, err := ac.tClient.CreateTable(ctx, req) @@ -171,13 +185,13 @@ func (ac *AdminClient) DeleteColumnFamily(ctx context.Context, table, family str // TableInfo represents information about a table. type TableInfo struct { // DEPRECATED - This field is deprecated. Please use FamilyInfos instead. - Families []string + Families []string FamilyInfos []FamilyInfo } // FamilyInfo represents information about a column family. type FamilyInfo struct { - Name string + Name string GCPolicy string } @@ -251,7 +265,7 @@ func NewInstanceAdminClient(ctx context.Context, project string, opts ...option. return nil, err } o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -297,6 +311,14 @@ func (st StorageType) proto() btapb.StorageType { return btapb.StorageType_SSD } +// InstanceType is the type of the instance +type InstanceType int32 + +const ( + PRODUCTION InstanceType = InstanceType(btapb.Instance_PRODUCTION) + DEVELOPMENT = InstanceType(btapb.Instance_DEVELOPMENT) +) + // InstanceInfo represents information about an instance type InstanceInfo struct { Name string // name of the instance @@ -306,8 +328,10 @@ type InstanceInfo struct { // InstanceConf contains the information necessary to create an Instance type InstanceConf struct { InstanceId, DisplayName, ClusterId, Zone string - NumNodes int32 - StorageType StorageType + // NumNodes must not be specified for DEVELOPMENT instance types + NumNodes int32 + StorageType StorageType + InstanceType InstanceType } var instanceNameRegexp = regexp.MustCompile(`^projects/([^/]+)/instances/([a-z][-a-z0-9]*)$`) @@ -319,7 +343,7 @@ func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *Instan req := &btapb.CreateInstanceRequest{ Parent: "projects/" + iac.project, InstanceId: conf.InstanceId, - Instance: &btapb.Instance{DisplayName: conf.DisplayName}, + Instance: &btapb.Instance{DisplayName: conf.DisplayName, Type: btapb.Instance_Type(conf.InstanceType)}, Clusters: map[string]*btapb.Cluster{ conf.ClusterId: { ServeNodes: conf.NumNodes, diff --git a/vendor/cloud.google.com/go/bigtable/bigtable.go b/vendor/cloud.google.com/go/bigtable/bigtable.go index 316e3d3c056..e65549e3d2f 100644 --- a/vendor/cloud.google.com/go/bigtable/bigtable.go +++ b/vendor/cloud.google.com/go/bigtable/bigtable.go @@ -28,7 +28,7 @@ import ( "github.com/golang/protobuf/proto" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" btpb "google.golang.org/genproto/googleapis/bigtable/v2" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -55,7 +55,7 @@ func NewClient(ctx context.Context, project, instance string, opts ...option.Cli // Default to a small connection pool that can be overridden. o = append(o, option.WithGRPCConnectionPool(4)) o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } diff --git a/vendor/cloud.google.com/go/bigtable/filter.go b/vendor/cloud.google.com/go/bigtable/filter.go index a1cf748adb9..f9d5cee3413 100644 --- a/vendor/cloud.google.com/go/bigtable/filter.go +++ b/vendor/cloud.google.com/go/bigtable/filter.go @@ -285,4 +285,34 @@ func (cf conditionFilter) proto() *btpb.RowFilter { }}} } +// CellsPerRowOffsetFilter returns a filter that skips the first N cells of each row, matching all subsequent cells. +func CellsPerRowOffsetFilter(n int) Filter { + return cellsPerRowOffsetFilter(n) +} + +type cellsPerRowOffsetFilter int32 + +func (cof cellsPerRowOffsetFilter) String() string { + return fmt.Sprintf("cells_per_row_offset(%d)", cof) +} + +func (cof cellsPerRowOffsetFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_CellsPerRowOffsetFilter{int32(cof)}} +} + +// CellsPerRowLimitFilter returns a filter that matches only the first N cells of each row. +func CellsPerRowLimitFilter(n int) Filter { + return cellsPerRowLimitFilter(n) +} + +type cellsPerRowLimitFilter int32 + +func (clf cellsPerRowLimitFilter) String() string { + return fmt.Sprintf("cells_per_row_limit(%d)", clf) +} + +func (clf cellsPerRowLimitFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_CellsPerRowLimitFilter{int32(clf)}} +} + // TODO(dsymonds): More filters: sampling diff --git a/vendor/golang.org/x/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE index d02f24fd528..6a66aea5eaf 100644 --- a/vendor/golang.org/x/oauth2/LICENSE +++ b/vendor/golang.org/x/oauth2/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The oauth2 Authors. All rights reserved. +Copyright (c) 2009 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/vendor/golang.org/x/oauth2/README.md b/vendor/golang.org/x/oauth2/README.md index 1643c08ef87..eb8dcee179e 100644 --- a/vendor/golang.org/x/oauth2/README.md +++ b/vendor/golang.org/x/oauth2/README.md @@ -11,6 +11,9 @@ oauth2 package contains a client implementation for OAuth 2.0 spec. go get golang.org/x/oauth2 ~~~~ +Or you can manually git clone the repository to +`$(go env GOPATH)/src/golang.org/x/oauth2`. + See godoc for further documentation and examples. * [godoc.org/golang.org/x/oauth2](http://godoc.org/golang.org/x/oauth2) @@ -19,11 +22,11 @@ See godoc for further documentation and examples. ## App Engine -In change 96e89be (March 2015) we removed the `oauth2.Context2` type in favor +In change 96e89be (March 2015), we removed the `oauth2.Context2` type in favor of the [`context.Context`](https://golang.org/x/net/context#Context) type from the `golang.org/x/net/context` package -This means its no longer possible to use the "Classic App Engine" +This means it's no longer possible to use the "Classic App Engine" `appengine.Context` type with the `oauth2` package. (You're using Classic App Engine if you import the package `"appengine"`.) @@ -39,27 +42,36 @@ If you don't want to update your entire app to use the new App Engine packages, you may use both sets of packages in parallel, using only the new packages with the `oauth2` package. - import ( - "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - newappengine "google.golang.org/appengine" - newurlfetch "google.golang.org/appengine/urlfetch" - - "appengine" - ) - - func handler(w http.ResponseWriter, r *http.Request) { - var c appengine.Context = appengine.NewContext(r) - c.Infof("Logging a message with the old package") - - var ctx context.Context = newappengine.NewContext(r) - client := &http.Client{ - Transport: &oauth2.Transport{ - Source: google.AppEngineTokenSource(ctx, "scope"), - Base: &newurlfetch.Transport{Context: ctx}, - }, - } - client.Get("...") +```go +import ( + "golang.org/x/net/context" + "golang.org/x/oauth2" + "golang.org/x/oauth2/google" + newappengine "google.golang.org/appengine" + newurlfetch "google.golang.org/appengine/urlfetch" + + "appengine" +) + +func handler(w http.ResponseWriter, r *http.Request) { + var c appengine.Context = appengine.NewContext(r) + c.Infof("Logging a message with the old package") + + var ctx context.Context = newappengine.NewContext(r) + client := &http.Client{ + Transport: &oauth2.Transport{ + Source: google.AppEngineTokenSource(ctx, "scope"), + Base: &newurlfetch.Transport{Context: ctx}, + }, } + client.Get("...") +} +``` + +## Report Issues / Send Patches + +This repository uses Gerrit for code changes. To learn how to submit changes to +this repository, see https://golang.org/doc/contribute.html. +The main issue tracker for the oauth2 repository is located at +https://github.com/golang/oauth2/issues. diff --git a/vendor/golang.org/x/oauth2/google/appengine.go b/vendor/golang.org/x/oauth2/google/appengine.go index 4243f4cb96c..50d918b8788 100644 --- a/vendor/golang.org/x/oauth2/google/appengine.go +++ b/vendor/golang.org/x/oauth2/google/appengine.go @@ -14,8 +14,8 @@ import ( "golang.org/x/oauth2" ) -// Set at init time by appenginevm_hook.go. If true, we are on App Engine Managed VMs. -var appengineVM bool +// appengineFlex is set at init time by appengineflex_hook.go. If true, we are on App Engine Flex. +var appengineFlex bool // Set at init time by appengine_hook.go. If nil, we're not on App Engine. var appengineTokenFunc func(c context.Context, scopes ...string) (token string, expiry time.Time, err error) diff --git a/vendor/golang.org/x/oauth2/google/appenginevm_hook.go b/vendor/golang.org/x/oauth2/google/appengine_hook.go similarity index 71% rename from vendor/golang.org/x/oauth2/google/appenginevm_hook.go rename to vendor/golang.org/x/oauth2/google/appengine_hook.go index 10747801f38..56669eaa98d 100644 --- a/vendor/golang.org/x/oauth2/google/appenginevm_hook.go +++ b/vendor/golang.org/x/oauth2/google/appengine_hook.go @@ -1,15 +1,14 @@ -// Copyright 2015 The oauth2 Authors. All rights reserved. +// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build appenginevm +// +build appengine appenginevm package google import "google.golang.org/appengine" func init() { - appengineVM = true appengineTokenFunc = appengine.AccessToken appengineAppIDFunc = appengine.AppID } diff --git a/vendor/golang.org/x/oauth2/google/appengineflex_hook.go b/vendor/golang.org/x/oauth2/google/appengineflex_hook.go new file mode 100644 index 00000000000..5d0231af2dd --- /dev/null +++ b/vendor/golang.org/x/oauth2/google/appengineflex_hook.go @@ -0,0 +1,11 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build appenginevm + +package google + +func init() { + appengineFlex = true // Flex doesn't support appengine.AccessToken; depend on metadata server. +} diff --git a/vendor/golang.org/x/oauth2/google/default.go b/vendor/golang.org/x/oauth2/google/default.go index b45e7961650..b4b62745c45 100644 --- a/vendor/golang.org/x/oauth2/google/default.go +++ b/vendor/golang.org/x/oauth2/google/default.go @@ -24,6 +24,12 @@ import ( type DefaultCredentials struct { ProjectID string // may be empty TokenSource oauth2.TokenSource + + // JSON contains the raw bytes from a JSON credentials file. + // This field may be nil if authentication is provided by the + // environment and not with a credentials file, e.g. when code is + // running on Google Cloud Platform. + JSON []byte } // DefaultClient returns an HTTP Client that uses the @@ -81,7 +87,7 @@ func FindDefaultCredentials(ctx context.Context, scope ...string) (*DefaultCrede } // Third, if we're on Google App Engine use those credentials. - if appengineTokenFunc != nil && !appengineVM { + if appengineTokenFunc != nil && !appengineFlex { return &DefaultCredentials{ ProjectID: appengineAppIDFunc(ctx), TokenSource: AppEngineTokenSource(ctx, scope...), @@ -126,5 +132,6 @@ func readCredentialsFile(ctx context.Context, filename string, scopes []string) return &DefaultCredentials{ ProjectID: f.ProjectID, TokenSource: ts, + JSON: b, }, nil } diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go index 7b06bfe1ef1..3e4835d7e95 100644 --- a/vendor/golang.org/x/oauth2/oauth2.go +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -180,7 +180,6 @@ func (c *Config) Exchange(ctx context.Context, code string) (*Token, error) { "grant_type": {"authorization_code"}, "code": {code}, "redirect_uri": internal.CondVal(c.RedirectURL), - "scope": internal.CondVal(strings.Join(c.Scopes, " ")), }) } diff --git a/vendor/google.golang.org/api/internal/creds.go b/vendor/google.golang.org/api/internal/creds.go new file mode 100644 index 00000000000..b546b63b472 --- /dev/null +++ b/vendor/google.golang.org/api/internal/creds.go @@ -0,0 +1,104 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package internal + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "time" + + "golang.org/x/net/context" + "golang.org/x/oauth2" + "golang.org/x/oauth2/google" +) + +// Creds returns credential information obtained from DialSettings, or if none, then +// it returns default credential information. +func Creds(ctx context.Context, ds *DialSettings) (*google.DefaultCredentials, error) { + if ds.CredentialsFile != "" { + return credFileTokenSource(ctx, ds.CredentialsFile, ds.Scopes...) + } + if ds.TokenSource != nil { + return &google.DefaultCredentials{TokenSource: ds.TokenSource}, nil + } + return google.FindDefaultCredentials(ctx, ds.Scopes...) +} + +// credFileTokenSource reads a refresh token file or a service account and returns +// a TokenSource constructed from the config. +func credFileTokenSource(ctx context.Context, filename string, scope ...string) (*google.DefaultCredentials, error) { + data, err := ioutil.ReadFile(filename) + if err != nil { + return nil, fmt.Errorf("cannot read credentials file: %v", err) + } + // See if it is a refresh token credentials file first. + ts, ok, err := refreshTokenTokenSource(ctx, data, scope...) + if err != nil { + return nil, err + } + if ok { + return &google.DefaultCredentials{ + TokenSource: ts, + JSON: data, + }, nil + } + + // If not, it should be a service account. + cfg, err := google.JWTConfigFromJSON(data, scope...) + if err != nil { + return nil, fmt.Errorf("google.JWTConfigFromJSON: %v", err) + } + // jwt.Config does not expose the project ID, so re-unmarshal to get it. + var pid struct { + ProjectID string `json:"project_id"` + } + if err := json.Unmarshal(data, &pid); err != nil { + return nil, err + } + return &google.DefaultCredentials{ + ProjectID: pid.ProjectID, + TokenSource: cfg.TokenSource(ctx), + JSON: data, + }, nil +} + +func refreshTokenTokenSource(ctx context.Context, data []byte, scope ...string) (oauth2.TokenSource, bool, error) { + var c cred + if err := json.Unmarshal(data, &c); err != nil { + return nil, false, fmt.Errorf("cannot unmarshal credentials file: %v", err) + } + if c.ClientID == "" || c.ClientSecret == "" || c.RefreshToken == "" || c.Type != "authorized_user" { + return nil, false, nil + } + cfg := &oauth2.Config{ + ClientID: c.ClientID, + ClientSecret: c.ClientSecret, + Endpoint: google.Endpoint, + RedirectURL: "urn:ietf:wg:oauth:2.0:oob", + Scopes: scope, + } + return cfg.TokenSource(ctx, &oauth2.Token{ + RefreshToken: c.RefreshToken, + Expiry: time.Now(), + }), true, nil +} + +type cred struct { + ClientID string `json:"client_id"` + ClientSecret string `json:"client_secret"` + RefreshToken string `json:"refresh_token"` + Type string `json:"type"` +} diff --git a/vendor/google.golang.org/api/internal/service-account.json b/vendor/google.golang.org/api/internal/service-account.json new file mode 100644 index 00000000000..2cb54c292e0 --- /dev/null +++ b/vendor/google.golang.org/api/internal/service-account.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "project_id", + "private_key_id": "private_key_id", + "private_key": "private_key", + "client_email": "xyz@developer.gserviceaccount.com", + "client_id": "123", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://accounts.google.com/o/oauth2/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xyz%40developer.gserviceaccount.com" +} diff --git a/vendor/google.golang.org/api/internal/settings.go b/vendor/google.golang.org/api/internal/settings.go index d7b9f5789a7..5147191780d 100644 --- a/vendor/google.golang.org/api/internal/settings.go +++ b/vendor/google.golang.org/api/internal/settings.go @@ -25,13 +25,13 @@ import ( // DialSettings holds information needed to establish a connection with a // Google API service. type DialSettings struct { - Endpoint string - Scopes []string - ServiceAccountJSONFilename string // if set, TokenSource is ignored. - TokenSource oauth2.TokenSource - UserAgent string - APIKey string - HTTPClient *http.Client - GRPCDialOpts []grpc.DialOption - GRPCConn *grpc.ClientConn + Endpoint string + Scopes []string + TokenSource oauth2.TokenSource + CredentialsFile string // if set, Token Source is ignored. + UserAgent string + APIKey string + HTTPClient *http.Client + GRPCDialOpts []grpc.DialOption + GRPCConn *grpc.ClientConn } diff --git a/vendor/google.golang.org/api/option/option.go b/vendor/google.golang.org/api/option/option.go index 4b14a2e5780..37a11b80b5f 100644 --- a/vendor/google.golang.org/api/option/option.go +++ b/vendor/google.golang.org/api/option/option.go @@ -40,19 +40,25 @@ func (w withTokenSource) Apply(o *internal.DialSettings) { o.TokenSource = w.ts } -// WithServiceAccountFile returns a ClientOption that uses a Google service -// account credentials file to authenticate. -// Use WithTokenSource with a token source created from -// golang.org/x/oauth2/google.JWTConfigFromJSON -// if reading the file from disk is not an option. -func WithServiceAccountFile(filename string) ClientOption { - return withServiceAccountFile(filename) +type withCredFile string + +func (w withCredFile) Apply(o *internal.DialSettings) { + o.CredentialsFile = string(w) } -type withServiceAccountFile string +// WithCredentialsFile returns a ClientOption that authenticates +// API calls with the given service account or refresh token JSON +// credentials file. +func WithCredentialsFile(filename string) ClientOption { + return withCredFile(filename) +} -func (w withServiceAccountFile) Apply(o *internal.DialSettings) { - o.ServiceAccountJSONFilename = string(w) +// WithServiceAccountFile returns a ClientOption that uses a Google service +// account credentials file to authenticate. +// +// Deprecated: Use WithCredentialsJSONFile instead. +func WithServiceAccountFile(filename string) ClientOption { + return WithCredentialsFile(filename) } // WithEndpoint returns a ClientOption that overrides the default endpoint diff --git a/vendor/google.golang.org/api/transport/dial.go b/vendor/google.golang.org/api/transport/dial.go index e1434bacda3..91d83257565 100644 --- a/vendor/google.golang.org/api/transport/dial.go +++ b/vendor/google.golang.org/api/transport/dial.go @@ -18,184 +18,44 @@ package transport import ( - "errors" - "fmt" - "io/ioutil" "net/http" "golang.org/x/net/context" - "golang.org/x/oauth2" "golang.org/x/oauth2/google" "google.golang.org/grpc" - "google.golang.org/grpc/credentials" - "google.golang.org/grpc/credentials/oauth" - gtransport "google.golang.org/api/googleapi/transport" "google.golang.org/api/internal" "google.golang.org/api/option" + gtransport "google.golang.org/api/transport/grpc" + htransport "google.golang.org/api/transport/http" ) // NewHTTPClient returns an HTTP client for use communicating with a Google cloud // service, configured with the given ClientOptions. It also returns the endpoint // for the service as specified in the options. func NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) { - var o internal.DialSettings - for _, opt := range opts { - opt.Apply(&o) - } - if o.GRPCConn != nil { - return nil, "", errors.New("unsupported gRPC connection specified") - } - // TODO(cbro): consider injecting the User-Agent even if an explicit HTTP client is provided? - if o.HTTPClient != nil { - return o.HTTPClient, o.Endpoint, nil - } - if o.APIKey != "" { - hc := &http.Client{ - Transport: >ransport.APIKey{ - Key: o.APIKey, - Transport: userAgentTransport{ - base: baseTransport(ctx), - userAgent: o.UserAgent, - }, - }, - } - return hc, o.Endpoint, nil - } - if o.ServiceAccountJSONFilename != "" { - ts, err := serviceAcctTokenSource(ctx, o.ServiceAccountJSONFilename, o.Scopes...) - if err != nil { - return nil, "", err - } - o.TokenSource = ts - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, "", fmt.Errorf("google.DefaultTokenSource: %v", err) - } - } - hc := &http.Client{ - Transport: &oauth2.Transport{ - Source: o.TokenSource, - Base: userAgentTransport{ - base: baseTransport(ctx), - userAgent: o.UserAgent, - }, - }, - } - return hc, o.Endpoint, nil -} - -type userAgentTransport struct { - userAgent string - base http.RoundTripper -} - -func (t userAgentTransport) RoundTrip(req *http.Request) (*http.Response, error) { - rt := t.base - if rt == nil { - return nil, errors.New("transport: no Transport specified") - } - if t.userAgent == "" { - return rt.RoundTrip(req) - } - newReq := *req - newReq.Header = make(http.Header) - for k, vv := range req.Header { - newReq.Header[k] = vv - } - // TODO(cbro): append to existing User-Agent header? - newReq.Header["User-Agent"] = []string{t.userAgent} - return rt.RoundTrip(&newReq) -} - -// Set at init time by dial_appengine.go. If nil, we're not on App Engine. -var appengineDialerHook func(context.Context) grpc.DialOption -var appengineUrlfetchHook func(context.Context) http.RoundTripper - -// baseTransport returns the base HTTP transport. -// On App Engine, this is urlfetch.Transport, otherwise it's http.DefaultTransport. -func baseTransport(ctx context.Context) http.RoundTripper { - if appengineUrlfetchHook != nil { - return appengineUrlfetchHook(ctx) - } - return http.DefaultTransport + return htransport.NewClient(ctx, opts...) } // DialGRPC returns a GRPC connection for use communicating with a Google cloud // service, configured with the given ClientOptions. func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { - var o internal.DialSettings - for _, opt := range opts { - opt.Apply(&o) - } - if o.HTTPClient != nil { - return nil, errors.New("unsupported HTTP client specified") - } - if o.GRPCConn != nil { - return o.GRPCConn, nil - } - if o.ServiceAccountJSONFilename != "" { - ts, err := serviceAcctTokenSource(ctx, o.ServiceAccountJSONFilename, o.Scopes...) - if err != nil { - return nil, err - } - o.TokenSource = ts - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, fmt.Errorf("google.DefaultTokenSource: %v", err) - } - } - grpcOpts := []grpc.DialOption{ - grpc.WithPerRPCCredentials(oauth.TokenSource{o.TokenSource}), - grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), - } - if appengineDialerHook != nil { - // Use the Socket API on App Engine. - grpcOpts = append(grpcOpts, appengineDialerHook(ctx)) - } - grpcOpts = append(grpcOpts, o.GRPCDialOpts...) - if o.UserAgent != "" { - grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) - } - return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) -} - -func serviceAcctTokenSource(ctx context.Context, filename string, scope ...string) (oauth2.TokenSource, error) { - data, err := ioutil.ReadFile(filename) - if err != nil { - return nil, fmt.Errorf("cannot read service account file: %v", err) - } - cfg, err := google.JWTConfigFromJSON(data, scope...) - if err != nil { - return nil, fmt.Errorf("google.JWTConfigFromJSON: %v", err) - } - return cfg.TokenSource(ctx), nil + return gtransport.Dial(ctx, opts...) } // DialGRPCInsecure returns an insecure GRPC connection for use communicating // with fake or mock Google cloud service implementations, such as emulators. // The connection is configured with the given ClientOptions. func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { - var o internal.DialSettings + return gtransport.DialInsecure(ctx, opts...) +} + +// Creds constructs a google.DefaultCredentials from the information in the options, +// or obtains the default credentials in the same way as google.FindDefaultCredentials. +func Creds(ctx context.Context, opts ...option.ClientOption) (*google.DefaultCredentials, error) { + var ds internal.DialSettings for _, opt := range opts { - opt.Apply(&o) - } - if o.HTTPClient != nil { - return nil, errors.New("unsupported HTTP client specified") - } - if o.GRPCConn != nil { - return o.GRPCConn, nil - } - grpcOpts := []grpc.DialOption{grpc.WithInsecure()} - grpcOpts = append(grpcOpts, o.GRPCDialOpts...) - if o.UserAgent != "" { - grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) + opt.Apply(&ds) } - return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) + return internal.Creds(ctx, &ds) } diff --git a/vendor/google.golang.org/api/transport/grpc/dial.go b/vendor/google.golang.org/api/transport/grpc/dial.go new file mode 100644 index 00000000000..8a23bd384e7 --- /dev/null +++ b/vendor/google.golang.org/api/transport/grpc/dial.go @@ -0,0 +1,86 @@ +// Copyright 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package transport/grpc supports network connections to GRPC servers. +// This package is not intended for use by end developers. Use the +// google.golang.org/api/option package to configure API clients. +package grpc + +import ( + "errors" + + "golang.org/x/net/context" + "google.golang.org/api/internal" + "google.golang.org/api/option" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/credentials/oauth" +) + +// Set at init time by dial_appengine.go. If nil, we're not on App Engine. +var appengineDialerHook func(context.Context) grpc.DialOption + +// Dial returns a GRPC connection for use communicating with a Google cloud +// service, configured with the given ClientOptions. +func Dial(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { + var o internal.DialSettings + for _, opt := range opts { + opt.Apply(&o) + } + if o.HTTPClient != nil { + return nil, errors.New("unsupported HTTP client specified") + } + if o.GRPCConn != nil { + return o.GRPCConn, nil + } + creds, err := internal.Creds(ctx, &o) + if err != nil { + return nil, err + } + grpcOpts := []grpc.DialOption{ + grpc.WithPerRPCCredentials(oauth.TokenSource{creds.TokenSource}), + grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), + } + if appengineDialerHook != nil { + // Use the Socket API on App Engine. + grpcOpts = append(grpcOpts, appengineDialerHook(ctx)) + } + grpcOpts = append(grpcOpts, o.GRPCDialOpts...) + if o.UserAgent != "" { + grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) + } + return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) +} + +// DialInsecure returns an insecure GRPC connection for use communicating +// with fake or mock Google cloud service implementations, such as emulators. +// The connection is configured with the given ClientOptions. +func DialInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { + var o internal.DialSettings + for _, opt := range opts { + opt.Apply(&o) + } + if o.HTTPClient != nil { + return nil, errors.New("unsupported HTTP client specified") + } + if o.GRPCConn != nil { + return o.GRPCConn, nil + } + grpcOpts := []grpc.DialOption{grpc.WithInsecure()} + grpcOpts = append(grpcOpts, o.GRPCDialOpts...) + if o.UserAgent != "" { + grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent)) + } + return grpc.DialContext(ctx, o.Endpoint, grpcOpts...) +} diff --git a/vendor/google.golang.org/api/transport/http/dial.go b/vendor/google.golang.org/api/transport/http/dial.go new file mode 100644 index 00000000000..a04956d981f --- /dev/null +++ b/vendor/google.golang.org/api/transport/http/dial.go @@ -0,0 +1,107 @@ +// Copyright 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package transport/http supports network connections to HTTP servers. +// This package is not intended for use by end developers. Use the +// google.golang.org/api/option package to configure API clients. +package http + +import ( + "errors" + "net/http" + + "golang.org/x/net/context" + "golang.org/x/oauth2" + "google.golang.org/api/googleapi/transport" + "google.golang.org/api/internal" + "google.golang.org/api/option" +) + +// NewClient returns an HTTP client for use communicating with a Google cloud +// service, configured with the given ClientOptions. It also returns the endpoint +// for the service as specified in the options. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) { + var o internal.DialSettings + for _, opt := range opts { + opt.Apply(&o) + } + if o.GRPCConn != nil { + return nil, "", errors.New("unsupported gRPC connection specified") + } + // TODO(cbro): consider injecting the User-Agent even if an explicit HTTP client is provided? + if o.HTTPClient != nil { + return o.HTTPClient, o.Endpoint, nil + } + if o.APIKey != "" { + hc := &http.Client{ + Transport: &transport.APIKey{ + Key: o.APIKey, + Transport: userAgentTransport{ + base: baseTransport(ctx), + userAgent: o.UserAgent, + }, + }, + } + return hc, o.Endpoint, nil + } + creds, err := internal.Creds(ctx, &o) + if err != nil { + return nil, "", err + } + hc := &http.Client{ + Transport: &oauth2.Transport{ + Source: creds.TokenSource, + Base: userAgentTransport{ + base: baseTransport(ctx), + userAgent: o.UserAgent, + }, + }, + } + return hc, o.Endpoint, nil +} + +type userAgentTransport struct { + userAgent string + base http.RoundTripper +} + +func (t userAgentTransport) RoundTrip(req *http.Request) (*http.Response, error) { + rt := t.base + if rt == nil { + return nil, errors.New("transport: no Transport specified") + } + if t.userAgent == "" { + return rt.RoundTrip(req) + } + newReq := *req + newReq.Header = make(http.Header) + for k, vv := range req.Header { + newReq.Header[k] = vv + } + // TODO(cbro): append to existing User-Agent header? + newReq.Header["User-Agent"] = []string{t.userAgent} + return rt.RoundTrip(&newReq) +} + +// Set at init time by dial_appengine.go. If nil, we're not on App Engine. +var appengineUrlfetchHook func(context.Context) http.RoundTripper + +// baseTransport returns the base HTTP transport. +// On App Engine, this is urlfetch.Transport, otherwise it's http.DefaultTransport. +func baseTransport(ctx context.Context) http.RoundTripper { + if appengineUrlfetchHook != nil { + return appengineUrlfetchHook(ctx) + } + return http.DefaultTransport +} diff --git a/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go b/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go index 1b5ee1e1afe..06b1afc8092 100644 --- a/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go @@ -7,7 +7,6 @@ import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import _ "google.golang.org/genproto/googleapis/api/annotations" -import _ "google.golang.org/genproto/googleapis/api/serviceconfig" import _ "google.golang.org/genproto/googleapis/longrunning" import _ "github.com/golang/protobuf/ptypes/duration" import google_protobuf3 "github.com/golang/protobuf/ptypes/empty" @@ -312,7 +311,7 @@ type GetTableRequest struct { // `projects//instances//tables/`. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // The view to be applied to the returned table's fields. - // Defaults to `SCHEMA_ONLY` if unspecified. + // Defaults to `SCHEMA_VIEW` if unspecified. View Table_View `protobuf:"varint,2,opt,name=view,enum=google.bigtable.admin.v2.Table_View" json:"view,omitempty"` } @@ -835,62 +834,62 @@ func init() { } var fileDescriptor1 = []byte{ - // 910 bytes of a gzipped FileDescriptorProto + // 902 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x1b, 0x45, - 0x14, 0xce, 0xd8, 0x4e, 0x9a, 0x1c, 0x3b, 0x29, 0x0c, 0x25, 0xb8, 0x6e, 0xa1, 0xd1, 0x52, 0x45, - 0xc1, 0x84, 0x5d, 0x69, 0xab, 0xa8, 0x28, 0xb4, 0x82, 0xba, 0xa1, 0x84, 0x3f, 0x29, 0x5a, 0x2a, - 0x24, 0xb8, 0x59, 0x4d, 0xbc, 0x93, 0xed, 0x90, 0xdd, 0x99, 0x65, 0x77, 0x1c, 0xc7, 0x42, 0xbd, - 0x41, 0x48, 0x48, 0xdc, 0xf6, 0xaa, 0xe2, 0x45, 0x10, 0x37, 0x3c, 0x04, 0xd7, 0xdc, 0xf1, 0x08, - 0x3c, 0x00, 0x9a, 0x1f, 0x27, 0x9b, 0x38, 0x1b, 0xd7, 0xb9, 0xb1, 0x66, 0xce, 0xf9, 0xce, 0x39, - 0xdf, 0x9c, 0x33, 0xdf, 0x8e, 0xe1, 0x5e, 0x2c, 0x44, 0x9c, 0x50, 0x6f, 0x9f, 0xc5, 0x92, 0xec, - 0x27, 0xd4, 0x23, 0x51, 0xca, 0xb8, 0x77, 0xe4, 0x9f, 0x58, 0x42, 0xf3, 0xab, 0xed, 0x6e, 0x96, - 0x0b, 0x29, 0x70, 0xdb, 0x04, 0xb9, 0x63, 0x88, 0x6b, 0x9c, 0x47, 0x7e, 0xe7, 0xb6, 0x4d, 0x47, - 0x32, 0xe6, 0x11, 0xce, 0x85, 0x24, 0x92, 0x09, 0x5e, 0x98, 0xb8, 0xce, 0x9b, 0x65, 0xef, 0x40, - 0x3e, 0xb3, 0xe6, 0xbb, 0x95, 0x1c, 0x4c, 0x76, 0x83, 0x7a, 0xd7, 0xa2, 0x12, 0xc1, 0xe3, 0x7c, - 0xc0, 0x39, 0xe3, 0xb1, 0x27, 0x32, 0x9a, 0x9f, 0xa9, 0xf0, 0x8e, 0x05, 0xe9, 0xdd, 0xfe, 0xe0, - 0xc0, 0x8b, 0x06, 0x06, 0x60, 0xfd, 0xb7, 0xce, 0xfb, 0x69, 0x9a, 0xc9, 0x91, 0x75, 0xde, 0x39, - 0xef, 0x94, 0x2c, 0xa5, 0x85, 0x24, 0x69, 0x66, 0x00, 0xce, 0x7f, 0x08, 0xf0, 0xe3, 0x9c, 0x12, - 0x49, 0x9f, 0x2a, 0x62, 0x01, 0xfd, 0x71, 0x40, 0x0b, 0x89, 0x57, 0x61, 0x21, 0x23, 0x39, 0xe5, - 0xb2, 0x8d, 0xd6, 0xd0, 0xc6, 0x52, 0x60, 0x77, 0xf8, 0x26, 0x2c, 0x9a, 0xde, 0xb1, 0xa8, 0x5d, - 0xd3, 0x9e, 0x6b, 0x7a, 0xff, 0x79, 0x84, 0xb7, 0x60, 0x5e, 0x2f, 0xdb, 0xf5, 0x35, 0xb4, 0xd1, - 0xf4, 0xef, 0xb8, 0x55, 0x1d, 0x75, 0x4d, 0x25, 0x83, 0xc6, 0xdf, 0xc1, 0x0a, 0xe3, 0x4c, 0x32, - 0x92, 0x84, 0x45, 0x96, 0x30, 0x59, 0xb4, 0x1b, 0x6b, 0xf5, 0x8d, 0xa6, 0xef, 0x57, 0xc7, 0x4f, - 0xf2, 0x75, 0xbf, 0x51, 0xa1, 0xc1, 0xb2, 0xcd, 0xa4, 0x77, 0x45, 0xe7, 0x26, 0xcc, 0xeb, 0x15, - 0x7e, 0x0d, 0xea, 0x87, 0x74, 0xa4, 0x8f, 0xd2, 0x0a, 0xd4, 0xd2, 0x79, 0x89, 0xe0, 0x8d, 0x9d, - 0x5c, 0x64, 0x81, 0x18, 0x06, 0x84, 0xc7, 0x27, 0xe7, 0xc6, 0xd0, 0xe0, 0x24, 0xa5, 0xf6, 0xd4, - 0x7a, 0x8d, 0xd7, 0x61, 0x25, 0x17, 0xc3, 0xf0, 0x90, 0x8e, 0xc2, 0x2c, 0xa7, 0x07, 0xec, 0x58, - 0x9f, 0xbc, 0xb5, 0x3b, 0x17, 0xb4, 0x72, 0x31, 0xfc, 0x92, 0x8e, 0xf6, 0xb4, 0x15, 0x3f, 0x80, - 0x4e, 0x44, 0x13, 0x2a, 0x69, 0x48, 0x92, 0x24, 0x8c, 0x88, 0x24, 0xe1, 0x41, 0x2e, 0xd2, 0xf0, - 0xb4, 0x2b, 0x8b, 0xbb, 0x73, 0xc1, 0xaa, 0xc1, 0x3c, 0x4a, 0x92, 0x1d, 0x22, 0xc9, 0x93, 0x5c, - 0xa4, 0xfa, 0x20, 0xbd, 0x45, 0x58, 0x90, 0x24, 0x8f, 0xa9, 0x74, 0x7e, 0x41, 0xf0, 0xfa, 0x57, - 0xac, 0x90, 0xda, 0x5e, 0x4c, 0x9b, 0xc8, 0x87, 0xd0, 0x38, 0x62, 0x74, 0xa8, 0x39, 0xad, 0xf8, - 0x77, 0xa7, 0x74, 0xdd, 0xfd, 0x96, 0xd1, 0x61, 0xa0, 0x23, 0xf0, 0xdb, 0x00, 0x19, 0x89, 0x69, - 0x28, 0xc5, 0x21, 0xe5, 0x9a, 0xdf, 0x52, 0xb0, 0xa4, 0x2c, 0x4f, 0x95, 0xc1, 0x19, 0x00, 0x2e, - 0xb3, 0x28, 0x32, 0xc1, 0x0b, 0x8a, 0xef, 0x2b, 0x9a, 0xca, 0xd2, 0x46, 0x7a, 0x4c, 0x53, 0xc7, - 0x6c, 0xe1, 0x78, 0x1d, 0xae, 0x73, 0x7a, 0x2c, 0xc3, 0x52, 0x49, 0x73, 0x81, 0x96, 0x95, 0x79, - 0xef, 0xa4, 0x6c, 0x08, 0xd7, 0x3f, 0xa3, 0xf2, 0xcc, 0x65, 0xbc, 0x68, 0x28, 0x57, 0x3e, 0xb6, - 0xb3, 0x01, 0x78, 0x47, 0x8f, 0x60, 0x5a, 0x0d, 0xe7, 0x9f, 0x1a, 0xdc, 0xfa, 0x5a, 0x44, 0xec, - 0x60, 0xf4, 0x58, 0x24, 0x83, 0x94, 0x3f, 0x21, 0x29, 0x4b, 0xd8, 0xe9, 0x48, 0x2e, 0xe2, 0xf5, - 0x0c, 0x96, 0x53, 0x15, 0xc2, 0xfa, 0x46, 0xc4, 0xed, 0x9a, 0x6e, 0x53, 0xaf, 0x9a, 0xe0, 0x25, - 0x15, 0x8c, 0xcf, 0xa6, 0x0a, 0xce, 0x26, 0xee, 0xfc, 0x85, 0xa0, 0x55, 0xf6, 0xe3, 0x15, 0xa8, - 0xb1, 0xc8, 0x92, 0xa9, 0xb1, 0x08, 0x7f, 0x02, 0x0b, 0x7d, 0xad, 0x14, 0xdd, 0xa4, 0xa6, 0xbf, - 0x7e, 0x89, 0xa2, 0x4e, 0xab, 0x8f, 0x76, 0xe7, 0x02, 0x1b, 0xa7, 0x32, 0x0c, 0xb2, 0x48, 0x65, - 0xa8, 0xcf, 0x9a, 0xc1, 0xc4, 0xe1, 0x1b, 0xd0, 0x88, 0x72, 0x91, 0xb5, 0x1b, 0xf6, 0xf6, 0xeb, - 0x5d, 0x6f, 0x1e, 0xea, 0xa9, 0x88, 0xfc, 0x3f, 0xae, 0x01, 0xee, 0xd9, 0x4c, 0x7a, 0x18, 0x8f, - 0x54, 0x36, 0xfc, 0x02, 0x41, 0xb3, 0x24, 0x71, 0xbc, 0x39, 0xcb, 0x97, 0xa0, 0x33, 0xed, 0x42, - 0x3a, 0x5b, 0x3f, 0xff, 0xfd, 0xef, 0x8b, 0x9a, 0xe7, 0x74, 0xd5, 0xd7, 0xf8, 0x27, 0xa3, 0xa2, - 0x87, 0x59, 0x2e, 0x7e, 0xa0, 0x7d, 0x59, 0x78, 0x5d, 0x8f, 0xf1, 0x42, 0x12, 0xde, 0xa7, 0x85, - 0xd7, 0x7d, 0x6e, 0xbe, 0xd6, 0xc5, 0x36, 0xea, 0xe2, 0xdf, 0x11, 0xc0, 0xa9, 0x1e, 0xf0, 0xfb, - 0xd5, 0x65, 0x26, 0xb4, 0xdb, 0xd9, 0x7c, 0x35, 0xb0, 0x91, 0x98, 0xe3, 0x6b, 0x82, 0x9b, 0x78, - 0x06, 0x82, 0xf8, 0x37, 0x04, 0x8b, 0x63, 0xd9, 0xe0, 0xf7, 0xaa, 0xcb, 0x9d, 0x93, 0xd6, 0xf4, - 0x6e, 0x9d, 0x25, 0xa3, 0xae, 0x78, 0x05, 0x15, 0xcb, 0xc4, 0xeb, 0x3e, 0xc7, 0xbf, 0x22, 0x68, - 0x96, 0x24, 0x76, 0xd9, 0x00, 0x27, 0x95, 0xd8, 0x59, 0x1d, 0xa3, 0xc7, 0x6f, 0x96, 0xfb, 0xa9, - 0x7a, 0xd0, 0xc6, 0x4c, 0xba, 0xb3, 0x30, 0xf9, 0x13, 0xc1, 0x8d, 0x8b, 0xf4, 0x85, 0xb7, 0xae, - 0xa4, 0xc7, 0xe9, 0xed, 0xfa, 0x42, 0x93, 0xdc, 0x71, 0x3e, 0x7e, 0x75, 0x92, 0xdb, 0xe9, 0x05, - 0x05, 0xd5, 0x8d, 0x7b, 0x89, 0xa0, 0x55, 0x7e, 0xa3, 0xf0, 0x07, 0x97, 0xf4, 0x71, 0xf2, 0x2d, - 0xab, 0x6c, 0x64, 0x4f, 0x73, 0x7c, 0xe0, 0xdc, 0x9f, 0x81, 0x63, 0x54, 0xca, 0xbf, 0x8d, 0xba, - 0xbd, 0x63, 0xb8, 0xdd, 0x17, 0x69, 0x25, 0x9f, 0xde, 0x5b, 0x93, 0xba, 0xde, 0x53, 0x2c, 0xf6, - 0xd0, 0xf7, 0x0f, 0x6d, 0x50, 0x2c, 0x12, 0xc2, 0x63, 0x57, 0xe4, 0xb1, 0x17, 0x53, 0xae, 0x39, - 0x7a, 0xc6, 0x45, 0x32, 0x56, 0x4c, 0xfe, 0x73, 0xfa, 0x48, 0x2f, 0xf6, 0x17, 0x34, 0xf2, 0xde, - 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x5d, 0x18, 0x44, 0xe6, 0x09, 0x00, 0x00, + 0x14, 0xce, 0xd8, 0x4e, 0x9a, 0x1c, 0x3b, 0x29, 0x0c, 0x55, 0x70, 0xb7, 0x85, 0x46, 0x4b, 0x15, + 0x05, 0x13, 0x76, 0xa5, 0xad, 0xa2, 0xa2, 0xd0, 0x0a, 0xea, 0x86, 0x12, 0xfe, 0xa4, 0x68, 0xa9, + 0x90, 0xe0, 0x66, 0x35, 0xf1, 0x4e, 0x96, 0x21, 0xbb, 0x33, 0xcb, 0xee, 0x38, 0x8e, 0x85, 0x7a, + 0x83, 0x90, 0x90, 0xb8, 0xed, 0x55, 0xc5, 0x8b, 0x20, 0x6e, 0x78, 0x08, 0xae, 0xb9, 0xe3, 0x11, + 0x78, 0x00, 0x34, 0x3f, 0x4e, 0x9c, 0x38, 0x6b, 0xd7, 0xbd, 0xb1, 0x66, 0xce, 0xcf, 0x77, 0xbe, + 0x39, 0x67, 0xbe, 0x1d, 0xc3, 0xbd, 0x44, 0x88, 0x24, 0xa5, 0xfe, 0x21, 0x4b, 0x24, 0x39, 0x4c, + 0xa9, 0x4f, 0xe2, 0x8c, 0x71, 0xff, 0x24, 0x38, 0xb3, 0x44, 0xe6, 0x57, 0xdb, 0xbd, 0xbc, 0x10, + 0x52, 0xe0, 0xb6, 0x49, 0xf2, 0x46, 0x21, 0x9e, 0x71, 0x9e, 0x04, 0xce, 0x6d, 0x0b, 0x47, 0x72, + 0xe6, 0x13, 0xce, 0x85, 0x24, 0x92, 0x09, 0x5e, 0x9a, 0x3c, 0xe7, 0x6e, 0x65, 0x31, 0x03, 0x63, + 0xa2, 0xde, 0xb1, 0x51, 0xa9, 0xe0, 0x49, 0xd1, 0xe7, 0x9c, 0xf1, 0xc4, 0x17, 0x39, 0x2d, 0x2e, + 0x40, 0xbd, 0x6d, 0x83, 0xf4, 0xee, 0xb0, 0x7f, 0xe4, 0xc7, 0x7d, 0x13, 0x60, 0xfd, 0xb7, 0x2e, + 0xfb, 0x69, 0x96, 0xcb, 0xa1, 0x75, 0xde, 0xb9, 0xec, 0x94, 0x2c, 0xa3, 0xa5, 0x24, 0x59, 0x6e, + 0x02, 0xdc, 0xff, 0x10, 0xe0, 0xc7, 0x05, 0x25, 0x92, 0x3e, 0x55, 0xc4, 0x42, 0xfa, 0x63, 0x9f, + 0x96, 0x12, 0xaf, 0xc3, 0x52, 0x4e, 0x0a, 0xca, 0x65, 0x1b, 0x6d, 0xa0, 0xad, 0x95, 0xd0, 0xee, + 0xf0, 0x4d, 0x58, 0x36, 0x4d, 0x62, 0x71, 0xbb, 0xa6, 0x3d, 0xd7, 0xf4, 0xfe, 0xb3, 0x18, 0xef, + 0xc0, 0xa2, 0x5e, 0xb6, 0xeb, 0x1b, 0x68, 0xab, 0x19, 0xdc, 0xf1, 0xaa, 0x5a, 0xe7, 0x99, 0x4a, + 0x26, 0x1a, 0x7f, 0x0b, 0x6b, 0x8c, 0x33, 0xc9, 0x48, 0x1a, 0x95, 0x79, 0xca, 0x64, 0xd9, 0x6e, + 0x6c, 0xd4, 0xb7, 0x9a, 0x41, 0x50, 0x9d, 0x3f, 0xc9, 0xd7, 0xfb, 0x5a, 0xa5, 0x86, 0xab, 0x16, + 0x49, 0xef, 0x4a, 0xe7, 0x26, 0x2c, 0xea, 0x15, 0x7e, 0x0d, 0xea, 0xc7, 0x74, 0xa8, 0x8f, 0xd2, + 0x0a, 0xd5, 0xd2, 0x7d, 0x81, 0xe0, 0x8d, 0xbd, 0x42, 0xe4, 0xa1, 0x18, 0x84, 0x84, 0x27, 0x67, + 0xe7, 0xc6, 0xd0, 0xe0, 0x24, 0xa3, 0xf6, 0xd4, 0x7a, 0x8d, 0x37, 0x61, 0xad, 0x10, 0x83, 0xe8, + 0x98, 0x0e, 0xa3, 0xbc, 0xa0, 0x47, 0xec, 0x54, 0x9f, 0xbc, 0xb5, 0xbf, 0x10, 0xb6, 0x0a, 0x31, + 0xf8, 0x82, 0x0e, 0x0f, 0xb4, 0x15, 0x3f, 0x00, 0x27, 0xa6, 0x29, 0x95, 0x34, 0x22, 0x69, 0x1a, + 0xc5, 0x44, 0x92, 0xe8, 0xa8, 0x10, 0x59, 0x74, 0xde, 0x95, 0xe5, 0xfd, 0x85, 0x70, 0xdd, 0xc4, + 0x3c, 0x4a, 0xd3, 0x3d, 0x22, 0xc9, 0x93, 0x42, 0x64, 0xfa, 0x20, 0xdd, 0x65, 0x58, 0x92, 0xa4, + 0x48, 0xa8, 0x74, 0x7f, 0x41, 0xf0, 0xfa, 0x97, 0xac, 0x94, 0xda, 0x5e, 0xce, 0x9a, 0xc8, 0x07, + 0xd0, 0x38, 0x61, 0x74, 0xa0, 0x39, 0xad, 0x05, 0x77, 0x67, 0x74, 0xdd, 0xfb, 0x86, 0xd1, 0x41, + 0xa8, 0x33, 0xf0, 0x5b, 0x00, 0x39, 0x49, 0x68, 0x24, 0xc5, 0x31, 0xe5, 0x9a, 0xdf, 0x4a, 0xb8, + 0xa2, 0x2c, 0x4f, 0x95, 0xc1, 0xed, 0x03, 0x1e, 0x67, 0x51, 0xe6, 0x82, 0x97, 0x14, 0xdf, 0x57, + 0x34, 0x95, 0xa5, 0x8d, 0xf4, 0x98, 0x66, 0x8e, 0xd9, 0x86, 0xe3, 0x4d, 0xb8, 0xce, 0xe9, 0xa9, + 0x8c, 0xc6, 0x4a, 0x9a, 0x0b, 0xb4, 0xaa, 0xcc, 0x07, 0x67, 0x65, 0x23, 0xb8, 0xfe, 0x29, 0x95, + 0x17, 0x2e, 0xe3, 0x55, 0x43, 0x79, 0xe5, 0x63, 0xbb, 0x5b, 0x80, 0xf7, 0xf4, 0x08, 0x66, 0xd5, + 0x70, 0xff, 0xa9, 0xc1, 0xad, 0xaf, 0x44, 0xcc, 0x8e, 0x86, 0x8f, 0x45, 0xda, 0xcf, 0xf8, 0x13, + 0x92, 0xb1, 0x94, 0x9d, 0x8f, 0xe4, 0x2a, 0x5e, 0xdf, 0xc3, 0x6a, 0xa6, 0x52, 0x58, 0xcf, 0x88, + 0xb8, 0x5d, 0xd3, 0x6d, 0xea, 0x56, 0x13, 0x9c, 0x52, 0xc1, 0xf8, 0x2c, 0x54, 0x78, 0x11, 0xd8, + 0xf9, 0x0b, 0x41, 0x6b, 0xdc, 0x8f, 0xd7, 0xa0, 0xc6, 0x62, 0x4b, 0xa6, 0xc6, 0x62, 0xfc, 0x31, + 0x2c, 0xf5, 0xb4, 0x52, 0x74, 0x93, 0x9a, 0xc1, 0xe6, 0x14, 0x45, 0x9d, 0x57, 0x1f, 0xee, 0x2f, + 0x84, 0x36, 0x4f, 0x21, 0xf4, 0xf3, 0x58, 0x21, 0xd4, 0xe7, 0x45, 0x30, 0x79, 0xf8, 0x06, 0x34, + 0xe2, 0x42, 0xe4, 0xed, 0x86, 0xbd, 0xfd, 0x7a, 0xd7, 0x5d, 0x84, 0x7a, 0x26, 0xe2, 0xe0, 0x8f, + 0x6b, 0x80, 0xbb, 0x16, 0x49, 0x0f, 0xe3, 0x91, 0x42, 0xc3, 0xcf, 0x11, 0x34, 0xc7, 0x24, 0x8e, + 0xb7, 0xe7, 0xf9, 0x12, 0x38, 0xb3, 0x2e, 0xa4, 0xbb, 0xf3, 0xf3, 0xdf, 0xff, 0x3e, 0xaf, 0xf9, + 0x6e, 0x47, 0x7d, 0x8d, 0x7f, 0x32, 0x2a, 0x7a, 0x98, 0x17, 0xe2, 0x07, 0xda, 0x93, 0xa5, 0xdf, + 0xf1, 0x19, 0x2f, 0x25, 0xe1, 0x3d, 0x5a, 0xfa, 0x9d, 0x67, 0xe6, 0x6b, 0x5d, 0xee, 0xa2, 0x0e, + 0xfe, 0x1d, 0x01, 0x9c, 0xeb, 0x01, 0xbf, 0x57, 0x5d, 0x66, 0x42, 0xbb, 0xce, 0xf6, 0xcb, 0x05, + 0x1b, 0x89, 0xb9, 0x81, 0x26, 0xb8, 0x8d, 0xe7, 0x20, 0x88, 0x7f, 0x43, 0xb0, 0x3c, 0x92, 0x0d, + 0x7e, 0xb7, 0xba, 0xdc, 0x25, 0x69, 0xcd, 0xee, 0xd6, 0x45, 0x32, 0xea, 0x8a, 0x57, 0x50, 0xb1, + 0x4c, 0xfc, 0xce, 0x33, 0xfc, 0x2b, 0x82, 0xe6, 0x98, 0xc4, 0xa6, 0x0d, 0x70, 0x52, 0x89, 0xce, + 0xfa, 0x28, 0x7a, 0xf4, 0x66, 0x79, 0x9f, 0xa8, 0x07, 0x6d, 0xc4, 0xa4, 0x33, 0x0f, 0x93, 0x3f, + 0x11, 0xdc, 0xb8, 0x4a, 0x5f, 0x78, 0xe7, 0x95, 0xf4, 0x38, 0xbb, 0x5d, 0x9f, 0x6b, 0x92, 0x7b, + 0xee, 0x47, 0x2f, 0x4f, 0x72, 0x37, 0xbb, 0xa2, 0xa0, 0xba, 0x71, 0x2f, 0x10, 0xb4, 0xc6, 0xdf, + 0x28, 0xfc, 0xfe, 0x94, 0x3e, 0x4e, 0xbe, 0x65, 0x95, 0x8d, 0xec, 0x6a, 0x8e, 0x0f, 0xdc, 0xfb, + 0x73, 0x70, 0x8c, 0xc7, 0xf0, 0x77, 0x51, 0xa7, 0x7b, 0x0a, 0xb7, 0x7b, 0x22, 0xab, 0xe4, 0xd3, + 0x7d, 0x73, 0x52, 0xd7, 0x07, 0x8a, 0xc5, 0x01, 0xfa, 0xee, 0xa1, 0x4d, 0x4a, 0x44, 0x4a, 0x78, + 0xe2, 0x89, 0x22, 0xf1, 0x13, 0xca, 0x35, 0x47, 0xdf, 0xb8, 0x48, 0xce, 0xca, 0xc9, 0x7f, 0x4e, + 0x1f, 0xea, 0xc5, 0xe1, 0x92, 0x8e, 0xbc, 0xf7, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x72, + 0x5c, 0x82, 0xcf, 0x09, 0x00, 0x00, } diff --git a/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.pb.go b/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.pb.go index ec449bcf55b..08177ac3b6e 100644 --- a/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.pb.go @@ -54,15 +54,25 @@ const ( // An instance meant for production use. `serve_nodes` must be set // on the cluster. Instance_PRODUCTION Instance_Type = 1 + // The instance is meant for development and testing purposes only; it has + // no performance or uptime guarantees and is not covered by SLA. + // After a development instance is created, it can be upgraded by + // updating the instance to type `PRODUCTION`. An instance created + // as a production instance cannot be changed to a development instance. + // When creating a development instance, `serve_nodes` on the cluster must + // not be set. + Instance_DEVELOPMENT Instance_Type = 2 ) var Instance_Type_name = map[int32]string{ 0: "TYPE_UNSPECIFIED", 1: "PRODUCTION", + 2: "DEVELOPMENT", } var Instance_Type_value = map[string]int32{ "TYPE_UNSPECIFIED": 0, "PRODUCTION": 1, + "DEVELOPMENT": 2, } func (x Instance_Type) String() string { @@ -243,34 +253,35 @@ func init() { func init() { proto.RegisterFile("google/bigtable/admin/v2/instance.proto", fileDescriptor3) } var fileDescriptor3 = []byte{ - // 463 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6a, 0xdb, 0x40, - 0x10, 0x86, 0x23, 0x47, 0x6a, 0x9d, 0x49, 0x9a, 0x8a, 0x6d, 0x0e, 0xc6, 0x04, 0x9a, 0x0a, 0x42, - 0x7c, 0x28, 0x12, 0xb8, 0xf4, 0x14, 0x52, 0xb0, 0x2d, 0xb5, 0x88, 0x16, 0x59, 0x95, 0x14, 0x42, - 0x72, 0x11, 0x6b, 0x7b, 0x2b, 0x04, 0xd2, 0xae, 0xd0, 0x6e, 0x0c, 0x7e, 0x9e, 0x3e, 0x4b, 0xdf, - 0xab, 0x68, 0x24, 0x97, 0x9a, 0xd6, 0xa5, 0xe4, 0xb6, 0x33, 0xfb, 0xff, 0xf3, 0xaf, 0x3e, 0x0d, - 0x5c, 0x65, 0x42, 0x64, 0x05, 0x73, 0x16, 0x79, 0xa6, 0xe8, 0xa2, 0x60, 0x0e, 0x5d, 0x95, 0x39, - 0x77, 0xd6, 0x63, 0x27, 0xe7, 0x52, 0x51, 0xbe, 0x64, 0x76, 0x55, 0x0b, 0x25, 0xc8, 0xa0, 0x15, - 0xda, 0x5b, 0xa1, 0x8d, 0x42, 0x7b, 0x3d, 0x1e, 0x9e, 0x77, 0x23, 0x68, 0x95, 0x3b, 0x94, 0x73, - 0xa1, 0xa8, 0xca, 0x05, 0x97, 0xad, 0x6f, 0x78, 0xb9, 0x37, 0x60, 0x29, 0xca, 0x52, 0xf0, 0x56, - 0x66, 0x7d, 0xef, 0x41, 0xdf, 0xef, 0x12, 0x09, 0x01, 0x9d, 0xd3, 0x92, 0x0d, 0xb4, 0x0b, 0x6d, - 0x74, 0x14, 0xe1, 0x99, 0xbc, 0x81, 0x93, 0x55, 0x2e, 0xab, 0x82, 0x6e, 0x52, 0xbc, 0xeb, 0xe1, - 0xdd, 0x71, 0xd7, 0x0b, 0x1a, 0xc9, 0x07, 0x30, 0xa4, 0xa2, 0x8a, 0x0d, 0x0e, 0x2f, 0xb4, 0xd1, - 0xe9, 0x78, 0x64, 0xef, 0x7b, 0xb2, 0xbd, 0x4d, 0xb2, 0xe3, 0x46, 0x1f, 0xb5, 0x36, 0x72, 0x0d, - 0xba, 0xda, 0x54, 0x6c, 0xa0, 0xa3, 0xfd, 0xea, 0x3f, 0xec, 0xc9, 0xa6, 0x62, 0x11, 0x9a, 0xac, - 0xf7, 0x60, 0xe0, 0x30, 0xf2, 0x0a, 0x5e, 0xc6, 0xc9, 0x24, 0xf1, 0xd2, 0x60, 0x9e, 0xa4, 0x9f, - 0x83, 0xf9, 0x5d, 0x60, 0x1e, 0x90, 0x23, 0x30, 0x22, 0x6f, 0xe2, 0xde, 0x9b, 0x1a, 0x39, 0x81, - 0xfe, 0x2c, 0xf2, 0x26, 0x89, 0x1f, 0x7c, 0x32, 0x7b, 0xd6, 0x5b, 0xd0, 0x9b, 0x21, 0xe4, 0x0c, - 0xcc, 0xe4, 0x3e, 0xf4, 0xd2, 0xdb, 0x20, 0x0e, 0xbd, 0x99, 0xff, 0xd1, 0xf7, 0x5c, 0xf3, 0x80, - 0x9c, 0x02, 0x84, 0xd1, 0xdc, 0xbd, 0x9d, 0x25, 0xfe, 0x3c, 0x30, 0x35, 0xeb, 0x47, 0x0f, 0x9e, - 0xcf, 0x8a, 0x47, 0xa9, 0x58, 0xfd, 0x57, 0x48, 0x43, 0xe8, 0x17, 0x62, 0x89, 0xfc, 0x3b, 0x40, - 0xbf, 0x6a, 0x72, 0xb3, 0x4b, 0xe7, 0x1f, 0x9f, 0xd7, 0x25, 0xec, 0xc2, 0x79, 0x0d, 0xc7, 0x92, - 0xd5, 0x6b, 0x96, 0x72, 0xb1, 0x62, 0x12, 0x19, 0x19, 0x11, 0x60, 0x2b, 0x68, 0x3a, 0xe4, 0x0e, - 0xce, 0x56, 0xec, 0x1b, 0x7d, 0x2c, 0x54, 0x2a, 0x95, 0xa8, 0x69, 0xc6, 0x52, 0xa4, 0x69, 0x60, - 0xdc, 0xe5, 0xfe, 0xb8, 0xb8, 0x55, 0x23, 0x4b, 0xd2, 0x8d, 0xf8, 0xad, 0x67, 0x7d, 0x7d, 0x12, - 0xd9, 0xa6, 0x8a, 0xbc, 0xd8, 0x7f, 0x68, 0xaa, 0xc3, 0xa6, 0x72, 0xfd, 0x78, 0x32, 0xfd, 0xe2, - 0xb9, 0xa6, 0x3e, 0xe5, 0x70, 0xbe, 0x14, 0xe5, 0xde, 0x27, 0x4d, 0x5f, 0x6c, 0xff, 0x70, 0xd8, - 0x2c, 0x67, 0xa8, 0x3d, 0xdc, 0x74, 0xd2, 0x4c, 0x14, 0x94, 0x67, 0xb6, 0xa8, 0x33, 0x27, 0x63, - 0x1c, 0x57, 0xd7, 0x69, 0xaf, 0x68, 0x95, 0xcb, 0x3f, 0x97, 0xfc, 0x1a, 0x0f, 0x8b, 0x67, 0xa8, - 0x7c, 0xf7, 0x33, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x10, 0x73, 0x5b, 0x6e, 0x03, 0x00, 0x00, + // 477 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x51, 0x6b, 0xdb, 0x30, + 0x10, 0xc7, 0xeb, 0xd4, 0xde, 0xd2, 0x4b, 0xd7, 0x1a, 0xad, 0x0f, 0x21, 0x14, 0xd6, 0x19, 0x4a, + 0xf3, 0x64, 0x43, 0xc6, 0x9e, 0x4a, 0x06, 0x49, 0xac, 0x0d, 0xb3, 0xce, 0xf6, 0x6c, 0x77, 0xa5, + 0x7d, 0x31, 0x4a, 0xa2, 0x19, 0x83, 0x2d, 0x19, 0x4b, 0x0d, 0xe4, 0x7b, 0xed, 0x2b, 0xec, 0x7b, + 0x0d, 0xcb, 0xce, 0x58, 0xd9, 0x32, 0xc6, 0xde, 0x74, 0x77, 0xbf, 0xbb, 0xbf, 0xf4, 0xd7, 0xc1, + 0x55, 0xc6, 0x79, 0x56, 0x50, 0x67, 0x99, 0x67, 0x92, 0x2c, 0x0b, 0xea, 0x90, 0x75, 0x99, 0x33, + 0x67, 0x33, 0x71, 0x72, 0x26, 0x24, 0x61, 0x2b, 0x6a, 0x57, 0x35, 0x97, 0x1c, 0x0d, 0x5b, 0xd0, + 0xde, 0x81, 0xb6, 0x02, 0xed, 0xcd, 0x64, 0x74, 0xde, 0x8d, 0x20, 0x55, 0xee, 0x10, 0xc6, 0xb8, + 0x24, 0x32, 0xe7, 0x4c, 0xb4, 0x7d, 0xa3, 0xcb, 0xbd, 0x02, 0x2b, 0x5e, 0x96, 0x9c, 0xb5, 0x98, + 0xf5, 0xad, 0x07, 0x7d, 0xaf, 0x53, 0x44, 0x08, 0x74, 0x46, 0x4a, 0x3a, 0xd4, 0x2e, 0xb4, 0xf1, + 0x51, 0xa4, 0xce, 0xe8, 0x35, 0x1c, 0xaf, 0x73, 0x51, 0x15, 0x64, 0x9b, 0xaa, 0x5a, 0x4f, 0xd5, + 0x06, 0x5d, 0xce, 0x6f, 0x90, 0x77, 0x60, 0x08, 0x49, 0x24, 0x1d, 0x1e, 0x5e, 0x68, 0xe3, 0x93, + 0xc9, 0xd8, 0xde, 0x77, 0x65, 0x7b, 0xa7, 0x64, 0xc7, 0x0d, 0x1f, 0xb5, 0x6d, 0xe8, 0x1a, 0x74, + 0xb9, 0xad, 0xe8, 0x50, 0x57, 0xed, 0x57, 0xff, 0xd0, 0x9e, 0x6c, 0x2b, 0x1a, 0xa9, 0x26, 0xeb, + 0x2d, 0x18, 0x6a, 0x18, 0x7a, 0x09, 0xa7, 0x71, 0x32, 0x4b, 0x70, 0xea, 0x07, 0x49, 0xfa, 0xd1, + 0x0f, 0xee, 0x7c, 0xf3, 0x00, 0x1d, 0x81, 0x11, 0xe1, 0x99, 0x7b, 0x6f, 0x6a, 0xe8, 0x18, 0xfa, + 0x8b, 0x08, 0xcf, 0x12, 0xcf, 0xff, 0x60, 0xf6, 0xac, 0x29, 0xe8, 0xcd, 0x10, 0x74, 0x06, 0x66, + 0x72, 0x1f, 0xe2, 0xf4, 0xd6, 0x8f, 0x43, 0xbc, 0xf0, 0xde, 0x7b, 0xd8, 0x35, 0x0f, 0xd0, 0x09, + 0x40, 0x18, 0x05, 0xee, 0xed, 0x22, 0xf1, 0x02, 0xdf, 0xd4, 0xd0, 0x29, 0x0c, 0x5c, 0xfc, 0x05, + 0xdf, 0x04, 0xe1, 0x27, 0xec, 0x27, 0x66, 0xcf, 0xfa, 0xde, 0x83, 0xe7, 0x8b, 0xe2, 0x51, 0x48, + 0x5a, 0xff, 0xd1, 0xb5, 0x11, 0xf4, 0x0b, 0xbe, 0x52, 0x1f, 0xd2, 0x39, 0xf6, 0x33, 0x46, 0xd3, + 0xa7, 0x76, 0xfd, 0xe5, 0xbd, 0x9d, 0xc2, 0x53, 0xb7, 0x5e, 0xc1, 0x40, 0xd0, 0x7a, 0x43, 0x53, + 0xc6, 0xd7, 0x54, 0x28, 0xd3, 0x8c, 0x08, 0x54, 0xca, 0x6f, 0x32, 0xe8, 0x0e, 0xce, 0xd6, 0xf4, + 0x2b, 0x79, 0x2c, 0x64, 0x2a, 0x24, 0xaf, 0x49, 0x46, 0x53, 0x65, 0xaf, 0xa1, 0xe4, 0x2e, 0xf7, + 0xcb, 0xc5, 0x2d, 0xad, 0xcc, 0x45, 0xdd, 0x88, 0x5f, 0x72, 0xd6, 0xe7, 0xff, 0xb2, 0xba, 0x89, + 0x22, 0x1c, 0x7b, 0x0f, 0x4d, 0x74, 0xd8, 0x44, 0xae, 0x17, 0xcf, 0xe6, 0x37, 0xd8, 0x35, 0xf5, + 0x39, 0x83, 0xf3, 0x15, 0x2f, 0xf7, 0x5e, 0x69, 0xfe, 0x62, 0xf7, 0xe5, 0x61, 0xb3, 0xad, 0xa1, + 0xf6, 0x30, 0xed, 0xd0, 0x8c, 0x17, 0x84, 0x65, 0x36, 0xaf, 0x33, 0x27, 0xa3, 0x4c, 0xed, 0xb2, + 0xd3, 0x96, 0x48, 0x95, 0x8b, 0xdf, 0xb7, 0xfe, 0x5a, 0x1d, 0x96, 0xcf, 0x14, 0xf9, 0xe6, 0x47, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xce, 0x3d, 0x06, 0xe4, 0x7f, 0x03, 0x00, 0x00, } diff --git a/vendor/vendor.json b/vendor/vendor.json index 6dd07cad940..7d2a538191e 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -3,10 +3,10 @@ "ignore": "appengine test github.com/hashicorp/nomad/ github.com/hashicorp/terraform/backend", "package": [ { - "checksumSHA1": "NrTYYg3++pBxH1Z8xjVg6ssQTYY=", + "checksumSHA1": "f9nDlS20AiWQXvF0nvPkIjLNo+c=", "path": "cloud.google.com/go/bigtable", - "revision": "f6bedb5a8dbce75418580cedf5c2434c78d06cfa", - "revisionTime": "2017-06-27T21:12:08Z" + "revision": "be58d9a00708167c7fc48efeb85a1cbf952a27be", + "revisionTime": "2017-08-09T01:33:40Z" }, { "checksumSHA1": "B1HkIrBavSgy6ntVyGr/eNUy44I=", @@ -823,16 +823,16 @@ "revisionTime": "2017-01-14T04:22:49Z" }, { - "checksumSHA1": "hyK05cmzm+vPH1OO+F1AkvES3sw=", + "checksumSHA1": "sllIq8NRuPxtHzE7um2l2RBbie0=", "path": "golang.org/x/oauth2", - "revision": "314dd2c0bf3ebd592ec0d20847d27e79d0dbe8dd", - "revisionTime": "2016-12-14T09:25:55Z" + "revision": "9a379c6b3e95a790ffc43293c2a78dee0d7b6e20", + "revisionTime": "2017-07-25T16:55:14Z" }, { - "checksumSHA1": "rEzA1cW2NdfF9ndGQHTNzE5+mF4=", + "checksumSHA1": "JTBn9MQUhwHtjwv7rC9Zg4KRN7g=", "path": "golang.org/x/oauth2/google", - "revision": "314dd2c0bf3ebd592ec0d20847d27e79d0dbe8dd", - "revisionTime": "2016-12-14T09:25:55Z" + "revision": "9a379c6b3e95a790ffc43293c2a78dee0d7b6e20", + "revisionTime": "2017-07-25T16:55:14Z" }, { "checksumSHA1": "2/1PJ6nxegIPdmFoqugDSlpjEfQ=", @@ -930,10 +930,10 @@ "revisionTime": "2016-11-27T23:54:21Z" }, { - "checksumSHA1": "GAKy8Id2Qx7BI0kZPRjGn1RjVQo=", + "checksumSHA1": "dENAVft6XToomTHrm5J2zFt4hgU=", "path": "google.golang.org/api/internal", - "revision": "324744a33f1f37e63dd1695cfb3ec9a3e4a1cb05", - "revisionTime": "2017-06-08T21:27:40Z" + "revision": "5c4ffd5985e22d25e9cadc37183b88c3a31497c2", + "revisionTime": "2017-08-07T18:53:53Z" }, { "checksumSHA1": "slcGOTGSdukEPPSN81Q5WZGmhog=", @@ -942,10 +942,10 @@ "revisionTime": "2017-06-08T21:27:40Z" }, { - "checksumSHA1": "hZ9zds+/FPwSGEiti5lGaZL3e6w=", + "checksumSHA1": "fga5mXhcE5LiTwhO1VVepiusNc4=", "path": "google.golang.org/api/option", - "revision": "324744a33f1f37e63dd1695cfb3ec9a3e4a1cb05", - "revisionTime": "2017-06-08T21:27:40Z" + "revision": "5c4ffd5985e22d25e9cadc37183b88c3a31497c2", + "revisionTime": "2017-08-07T18:53:53Z" }, { "checksumSHA1": "34BpqXixb+aV4iuOioQeSej255Y=", @@ -978,10 +978,22 @@ "revisionTime": "2016-11-27T23:54:21Z" }, { - "checksumSHA1": "GsOf5K2UZ6n1/zt6tx+jccXKbKY=", + "checksumSHA1": "W24V3U8s386thzZOK6g+EjlKeu0=", "path": "google.golang.org/api/transport", - "revision": "324744a33f1f37e63dd1695cfb3ec9a3e4a1cb05", - "revisionTime": "2017-06-08T21:27:40Z" + "revision": "5c4ffd5985e22d25e9cadc37183b88c3a31497c2", + "revisionTime": "2017-08-07T18:53:53Z" + }, + { + "checksumSHA1": "8VFd1yjiXs9+8Wc/uxnKS4zOOlk=", + "path": "google.golang.org/api/transport/grpc", + "revision": "5c4ffd5985e22d25e9cadc37183b88c3a31497c2", + "revisionTime": "2017-08-07T18:53:53Z" + }, + { + "checksumSHA1": "gZqIfbw6I/Cmw/+M278M2E7JzsU=", + "path": "google.golang.org/api/transport/http", + "revision": "5c4ffd5985e22d25e9cadc37183b88c3a31497c2", + "revisionTime": "2017-08-07T18:53:53Z" }, { "checksumSHA1": "NU7Al7Ud5MQZxti3Pv6YgVrzLrM=", @@ -1060,10 +1072,10 @@ "revisionTime": "2017-05-31T20:35:52Z" }, { - "checksumSHA1": "+mNr68MQEnyJB55GCm2hJVFIddI=", + "checksumSHA1": "d40sGXQ5BsRDaTwNbjvmEiX/iM4=", "path": "google.golang.org/genproto/googleapis/bigtable/admin/v2", - "revision": "aa2eb687b4d3e17154372564ad8d6bf11c3cf21f", - "revisionTime": "2017-05-31T20:35:52Z" + "revision": "09f6ed296fc66555a25fe4ce95173148778dfa85", + "revisionTime": "2017-07-31T18:20:57Z" }, { "checksumSHA1": "0eyNRJb0WGtZ5EMBI68UMbkERo8=", diff --git a/website/docs/r/bigtable_instance.html.markdown b/website/docs/r/bigtable_instance.html.markdown index 43cc1b4cf9b..496ba00c1ed 100644 --- a/website/docs/r/bigtable_instance.html.markdown +++ b/website/docs/r/bigtable_instance.html.markdown @@ -35,7 +35,9 @@ The following arguments are supported: * `zone` - (Required) The zone to create the Bigtable instance in. Zones that support Bigtable instances are noted on the [Cloud Locations page](https://cloud.google.com/about/locations/). -* `num_nodes` - (Optional) The number of nodes in your Bigtable instance. Minimum of `3`. Defaults to `3`. +* `num_nodes` - (Optional) The number of nodes in your Bigtable instance. Minimum of `3` for a `PRODUCTION` instance. Cannot be set for a `DEVELOPMENT` instance. + +* `instance_type` - (Optional) The instance type to create. One of `"DEVELOPMENT"` or `"PRODUCTION"`. Defaults to `PRODUCTION`. * `storage_type` - (Optional) The storage type to use. One of `"SSD"` or `"HDD"`. Defaults to `SSD`.