...

Source file src/google.golang.org/api/bigtableadmin/v2/bigtableadmin-gen.go

Documentation: google.golang.org/api/bigtableadmin/v2

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package bigtableadmin provides access to the Cloud Bigtable Admin API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/bigtable/
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/bigtableadmin/v2"
    27  //	...
    28  //	ctx := context.Background()
    29  //	bigtableadminService, err := bigtableadmin.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithScopes(bigtableadmin.CloudPlatformReadOnlyScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package bigtableadmin // import "google.golang.org/api/bigtableadmin/v2"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "bigtableadmin:v2"
    95  const apiName = "bigtableadmin"
    96  const apiVersion = "v2"
    97  const basePath = "https://bigtableadmin.googleapis.com/"
    98  const basePathTemplate = "https://bigtableadmin.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://bigtableadmin.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// Administer your Cloud Bigtable tables and clusters
   104  	BigtableAdminScope = "https://www.googleapis.com/auth/bigtable.admin"
   105  
   106  	// Administer your Cloud Bigtable clusters
   107  	BigtableAdminClusterScope = "https://www.googleapis.com/auth/bigtable.admin.cluster"
   108  
   109  	// Administer your Cloud Bigtable clusters
   110  	BigtableAdminInstanceScope = "https://www.googleapis.com/auth/bigtable.admin.instance"
   111  
   112  	// Administer your Cloud Bigtable tables
   113  	BigtableAdminTableScope = "https://www.googleapis.com/auth/bigtable.admin.table"
   114  
   115  	// Administer your Cloud Bigtable tables and clusters
   116  	CloudBigtableAdminScope = "https://www.googleapis.com/auth/cloud-bigtable.admin"
   117  
   118  	// Administer your Cloud Bigtable clusters
   119  	CloudBigtableAdminClusterScope = "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster"
   120  
   121  	// Administer your Cloud Bigtable tables
   122  	CloudBigtableAdminTableScope = "https://www.googleapis.com/auth/cloud-bigtable.admin.table"
   123  
   124  	// See, edit, configure, and delete your Google Cloud data and see the email
   125  	// address for your Google Account.
   126  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   127  
   128  	// View your data across Google Cloud services and see the email address of
   129  	// your Google Account
   130  	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
   131  )
   132  
   133  // NewService creates a new Service.
   134  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   135  	scopesOption := internaloption.WithDefaultScopes(
   136  		"https://www.googleapis.com/auth/bigtable.admin",
   137  		"https://www.googleapis.com/auth/bigtable.admin.cluster",
   138  		"https://www.googleapis.com/auth/bigtable.admin.instance",
   139  		"https://www.googleapis.com/auth/bigtable.admin.table",
   140  		"https://www.googleapis.com/auth/cloud-bigtable.admin",
   141  		"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
   142  		"https://www.googleapis.com/auth/cloud-bigtable.admin.table",
   143  		"https://www.googleapis.com/auth/cloud-platform",
   144  		"https://www.googleapis.com/auth/cloud-platform.read-only",
   145  	)
   146  	// NOTE: prepend, so we don't override user-specified scopes.
   147  	opts = append([]option.ClientOption{scopesOption}, opts...)
   148  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   149  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   150  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   151  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   152  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   153  	if err != nil {
   154  		return nil, err
   155  	}
   156  	s, err := New(client)
   157  	if err != nil {
   158  		return nil, err
   159  	}
   160  	if endpoint != "" {
   161  		s.BasePath = endpoint
   162  	}
   163  	return s, nil
   164  }
   165  
   166  // New creates a new Service. It uses the provided http.Client for requests.
   167  //
   168  // Deprecated: please use NewService instead.
   169  // To provide a custom HTTP client, use option.WithHTTPClient.
   170  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   171  func New(client *http.Client) (*Service, error) {
   172  	if client == nil {
   173  		return nil, errors.New("client is nil")
   174  	}
   175  	s := &Service{client: client, BasePath: basePath}
   176  	s.Operations = NewOperationsService(s)
   177  	s.Projects = NewProjectsService(s)
   178  	return s, nil
   179  }
   180  
   181  type Service struct {
   182  	client    *http.Client
   183  	BasePath  string // API endpoint base URL
   184  	UserAgent string // optional additional User-Agent fragment
   185  
   186  	Operations *OperationsService
   187  
   188  	Projects *ProjectsService
   189  }
   190  
   191  func (s *Service) userAgent() string {
   192  	if s.UserAgent == "" {
   193  		return googleapi.UserAgent
   194  	}
   195  	return googleapi.UserAgent + " " + s.UserAgent
   196  }
   197  
   198  func NewOperationsService(s *Service) *OperationsService {
   199  	rs := &OperationsService{s: s}
   200  	rs.Projects = NewOperationsProjectsService(s)
   201  	return rs
   202  }
   203  
   204  type OperationsService struct {
   205  	s *Service
   206  
   207  	Projects *OperationsProjectsService
   208  }
   209  
   210  func NewOperationsProjectsService(s *Service) *OperationsProjectsService {
   211  	rs := &OperationsProjectsService{s: s}
   212  	rs.Operations = NewOperationsProjectsOperationsService(s)
   213  	return rs
   214  }
   215  
   216  type OperationsProjectsService struct {
   217  	s *Service
   218  
   219  	Operations *OperationsProjectsOperationsService
   220  }
   221  
   222  func NewOperationsProjectsOperationsService(s *Service) *OperationsProjectsOperationsService {
   223  	rs := &OperationsProjectsOperationsService{s: s}
   224  	return rs
   225  }
   226  
   227  type OperationsProjectsOperationsService struct {
   228  	s *Service
   229  }
   230  
   231  func NewProjectsService(s *Service) *ProjectsService {
   232  	rs := &ProjectsService{s: s}
   233  	rs.Instances = NewProjectsInstancesService(s)
   234  	rs.Locations = NewProjectsLocationsService(s)
   235  	return rs
   236  }
   237  
   238  type ProjectsService struct {
   239  	s *Service
   240  
   241  	Instances *ProjectsInstancesService
   242  
   243  	Locations *ProjectsLocationsService
   244  }
   245  
   246  func NewProjectsInstancesService(s *Service) *ProjectsInstancesService {
   247  	rs := &ProjectsInstancesService{s: s}
   248  	rs.AppProfiles = NewProjectsInstancesAppProfilesService(s)
   249  	rs.Clusters = NewProjectsInstancesClustersService(s)
   250  	rs.Tables = NewProjectsInstancesTablesService(s)
   251  	return rs
   252  }
   253  
   254  type ProjectsInstancesService struct {
   255  	s *Service
   256  
   257  	AppProfiles *ProjectsInstancesAppProfilesService
   258  
   259  	Clusters *ProjectsInstancesClustersService
   260  
   261  	Tables *ProjectsInstancesTablesService
   262  }
   263  
   264  func NewProjectsInstancesAppProfilesService(s *Service) *ProjectsInstancesAppProfilesService {
   265  	rs := &ProjectsInstancesAppProfilesService{s: s}
   266  	return rs
   267  }
   268  
   269  type ProjectsInstancesAppProfilesService struct {
   270  	s *Service
   271  }
   272  
   273  func NewProjectsInstancesClustersService(s *Service) *ProjectsInstancesClustersService {
   274  	rs := &ProjectsInstancesClustersService{s: s}
   275  	rs.Backups = NewProjectsInstancesClustersBackupsService(s)
   276  	rs.HotTablets = NewProjectsInstancesClustersHotTabletsService(s)
   277  	return rs
   278  }
   279  
   280  type ProjectsInstancesClustersService struct {
   281  	s *Service
   282  
   283  	Backups *ProjectsInstancesClustersBackupsService
   284  
   285  	HotTablets *ProjectsInstancesClustersHotTabletsService
   286  }
   287  
   288  func NewProjectsInstancesClustersBackupsService(s *Service) *ProjectsInstancesClustersBackupsService {
   289  	rs := &ProjectsInstancesClustersBackupsService{s: s}
   290  	return rs
   291  }
   292  
   293  type ProjectsInstancesClustersBackupsService struct {
   294  	s *Service
   295  }
   296  
   297  func NewProjectsInstancesClustersHotTabletsService(s *Service) *ProjectsInstancesClustersHotTabletsService {
   298  	rs := &ProjectsInstancesClustersHotTabletsService{s: s}
   299  	return rs
   300  }
   301  
   302  type ProjectsInstancesClustersHotTabletsService struct {
   303  	s *Service
   304  }
   305  
   306  func NewProjectsInstancesTablesService(s *Service) *ProjectsInstancesTablesService {
   307  	rs := &ProjectsInstancesTablesService{s: s}
   308  	rs.AuthorizedViews = NewProjectsInstancesTablesAuthorizedViewsService(s)
   309  	return rs
   310  }
   311  
   312  type ProjectsInstancesTablesService struct {
   313  	s *Service
   314  
   315  	AuthorizedViews *ProjectsInstancesTablesAuthorizedViewsService
   316  }
   317  
   318  func NewProjectsInstancesTablesAuthorizedViewsService(s *Service) *ProjectsInstancesTablesAuthorizedViewsService {
   319  	rs := &ProjectsInstancesTablesAuthorizedViewsService{s: s}
   320  	return rs
   321  }
   322  
   323  type ProjectsInstancesTablesAuthorizedViewsService struct {
   324  	s *Service
   325  }
   326  
   327  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   328  	rs := &ProjectsLocationsService{s: s}
   329  	return rs
   330  }
   331  
   332  type ProjectsLocationsService struct {
   333  	s *Service
   334  }
   335  
   336  // AppProfile: A configuration object describing how Cloud Bigtable should
   337  // treat traffic from a particular end user application.
   338  type AppProfile struct {
   339  	// DataBoostIsolationReadOnly: Specifies that this app profile is intended for
   340  	// read-only usage via the Data Boost feature.
   341  	DataBoostIsolationReadOnly *DataBoostIsolationReadOnly `json:"dataBoostIsolationReadOnly,omitempty"`
   342  	// Description: Long form description of the use case for this AppProfile.
   343  	Description string `json:"description,omitempty"`
   344  	// Etag: Strongly validated etag for optimistic concurrency control. Preserve
   345  	// the value returned from `GetAppProfile` when calling `UpdateAppProfile` to
   346  	// fail the request if there has been a modification in the mean time. The
   347  	// `update_mask` of the request need not include `etag` for this protection to
   348  	// apply. See Wikipedia (https://en.wikipedia.org/wiki/HTTP_ETag) and RFC 7232
   349  	// (https://tools.ietf.org/html/rfc7232#section-2.3) for more details.
   350  	Etag string `json:"etag,omitempty"`
   351  	// MultiClusterRoutingUseAny: Use a multi-cluster routing policy.
   352  	MultiClusterRoutingUseAny *MultiClusterRoutingUseAny `json:"multiClusterRoutingUseAny,omitempty"`
   353  	// Name: The unique name of the app profile. Values are of the form
   354  	// `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.
   355  	Name string `json:"name,omitempty"`
   356  	// Priority: This field has been deprecated in favor of
   357  	// `standard_isolation.priority`. If you set this field,
   358  	// `standard_isolation.priority` will be set instead. The priority of requests
   359  	// sent using this app profile.
   360  	//
   361  	// Possible values:
   362  	//   "PRIORITY_UNSPECIFIED" - Default value. Mapped to PRIORITY_HIGH (the
   363  	// legacy behavior) on creation.
   364  	//   "PRIORITY_LOW"
   365  	//   "PRIORITY_MEDIUM"
   366  	//   "PRIORITY_HIGH"
   367  	Priority string `json:"priority,omitempty"`
   368  	// SingleClusterRouting: Use a single-cluster routing policy.
   369  	SingleClusterRouting *SingleClusterRouting `json:"singleClusterRouting,omitempty"`
   370  	// StandardIsolation: The standard options used for isolating this app
   371  	// profile's traffic from other use cases.
   372  	StandardIsolation *StandardIsolation `json:"standardIsolation,omitempty"`
   373  
   374  	// ServerResponse contains the HTTP response code and headers from the server.
   375  	googleapi.ServerResponse `json:"-"`
   376  	// ForceSendFields is a list of field names (e.g. "DataBoostIsolationReadOnly")
   377  	// to unconditionally include in API requests. By default, fields with empty or
   378  	// default values are omitted from API requests. See
   379  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   380  	// details.
   381  	ForceSendFields []string `json:"-"`
   382  	// NullFields is a list of field names (e.g. "DataBoostIsolationReadOnly") to
   383  	// include in API requests with the JSON null value. By default, fields with
   384  	// empty values are omitted from API requests. See
   385  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   386  	NullFields []string `json:"-"`
   387  }
   388  
   389  func (s *AppProfile) MarshalJSON() ([]byte, error) {
   390  	type NoMethod AppProfile
   391  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   392  }
   393  
   394  // AuditConfig: Specifies the audit configuration for a service. The
   395  // configuration determines which permission types are logged, and what
   396  // identities, if any, are exempted from logging. An AuditConfig must have one
   397  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   398  // and a specific service, the union of the two AuditConfigs is used for that
   399  // service: the log_types specified in each AuditConfig are enabled, and the
   400  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   401  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   402  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   403  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   404  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   405  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   406  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   407  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   408  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   409  // `aliya@example.com` from DATA_WRITE logging.
   410  type AuditConfig struct {
   411  	// AuditLogConfigs: The configuration for logging of each type of permission.
   412  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   413  	// Service: Specifies a service that will be enabled for audit logging. For
   414  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   415  	// is a special value that covers all services.
   416  	Service string `json:"service,omitempty"`
   417  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   418  	// unconditionally include in API requests. By default, fields with empty or
   419  	// default values are omitted from API requests. See
   420  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   421  	// details.
   422  	ForceSendFields []string `json:"-"`
   423  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   424  	// API requests with the JSON null value. By default, fields with empty values
   425  	// are omitted from API requests. See
   426  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   427  	NullFields []string `json:"-"`
   428  }
   429  
   430  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   431  	type NoMethod AuditConfig
   432  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   433  }
   434  
   435  // AuditLogConfig: Provides the configuration for logging a type of
   436  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   437  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   438  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   439  // exempting jose@example.com from DATA_READ logging.
   440  type AuditLogConfig struct {
   441  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   442  	// type of permission. Follows the same format of Binding.members.
   443  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   444  	// LogType: The log type that this config enables.
   445  	//
   446  	// Possible values:
   447  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   448  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   449  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   450  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   451  	LogType string `json:"logType,omitempty"`
   452  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   453  	// unconditionally include in API requests. By default, fields with empty or
   454  	// default values are omitted from API requests. See
   455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   456  	// details.
   457  	ForceSendFields []string `json:"-"`
   458  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   459  	// API requests with the JSON null value. By default, fields with empty values
   460  	// are omitted from API requests. See
   461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   462  	NullFields []string `json:"-"`
   463  }
   464  
   465  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   466  	type NoMethod AuditLogConfig
   467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   468  }
   469  
   470  // AuthorizedView: An Authorized View of a Cloud Bigtable Table.
   471  type AuthorizedView struct {
   472  	// DeletionProtection: Set to true to make the AuthorizedView protected against
   473  	// deletion. The parent Table and containing Instance cannot be deleted if an
   474  	// AuthorizedView has this bit set.
   475  	DeletionProtection bool `json:"deletionProtection,omitempty"`
   476  	// Etag: The etag for this AuthorizedView. If this is provided on update, it
   477  	// must match the server's etag. The server returns ABORTED error on a
   478  	// mismatched etag.
   479  	Etag string `json:"etag,omitempty"`
   480  	// Name: Identifier. The name of this AuthorizedView. Values are of the form
   481  	// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{auth
   482  	// orized_view}`
   483  	Name string `json:"name,omitempty"`
   484  	// SubsetView: An AuthorizedView permitting access to an explicit subset of a
   485  	// Table.
   486  	SubsetView *GoogleBigtableAdminV2AuthorizedViewSubsetView `json:"subsetView,omitempty"`
   487  
   488  	// ServerResponse contains the HTTP response code and headers from the server.
   489  	googleapi.ServerResponse `json:"-"`
   490  	// ForceSendFields is a list of field names (e.g. "DeletionProtection") to
   491  	// unconditionally include in API requests. By default, fields with empty or
   492  	// default values are omitted from API requests. See
   493  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   494  	// details.
   495  	ForceSendFields []string `json:"-"`
   496  	// NullFields is a list of field names (e.g. "DeletionProtection") to include
   497  	// in API requests with the JSON null value. By default, fields with empty
   498  	// values are omitted from API requests. See
   499  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   500  	NullFields []string `json:"-"`
   501  }
   502  
   503  func (s *AuthorizedView) MarshalJSON() ([]byte, error) {
   504  	type NoMethod AuthorizedView
   505  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   506  }
   507  
   508  // AutomatedBackupPolicy: Defines an automated backup policy for a table
   509  type AutomatedBackupPolicy struct {
   510  	// Frequency: Required. How frequently automated backups should occur. The only
   511  	// supported value at this time is 24 hours.
   512  	Frequency string `json:"frequency,omitempty"`
   513  	// RetentionPeriod: Required. How long the automated backups should be
   514  	// retained. The only supported value at this time is 3 days.
   515  	RetentionPeriod string `json:"retentionPeriod,omitempty"`
   516  	// ForceSendFields is a list of field names (e.g. "Frequency") to
   517  	// unconditionally include in API requests. By default, fields with empty or
   518  	// default values are omitted from API requests. See
   519  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   520  	// details.
   521  	ForceSendFields []string `json:"-"`
   522  	// NullFields is a list of field names (e.g. "Frequency") to include in API
   523  	// requests with the JSON null value. By default, fields with empty values are
   524  	// omitted from API requests. See
   525  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   526  	NullFields []string `json:"-"`
   527  }
   528  
   529  func (s *AutomatedBackupPolicy) MarshalJSON() ([]byte, error) {
   530  	type NoMethod AutomatedBackupPolicy
   531  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   532  }
   533  
   534  // AutoscalingLimits: Limits for the number of nodes a Cluster can autoscale
   535  // up/down to.
   536  type AutoscalingLimits struct {
   537  	// MaxServeNodes: Required. Maximum number of nodes to scale up to.
   538  	MaxServeNodes int64 `json:"maxServeNodes,omitempty"`
   539  	// MinServeNodes: Required. Minimum number of nodes to scale down to.
   540  	MinServeNodes int64 `json:"minServeNodes,omitempty"`
   541  	// ForceSendFields is a list of field names (e.g. "MaxServeNodes") to
   542  	// unconditionally include in API requests. By default, fields with empty or
   543  	// default values are omitted from API requests. See
   544  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   545  	// details.
   546  	ForceSendFields []string `json:"-"`
   547  	// NullFields is a list of field names (e.g. "MaxServeNodes") to include in API
   548  	// requests with the JSON null value. By default, fields with empty values are
   549  	// omitted from API requests. See
   550  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   551  	NullFields []string `json:"-"`
   552  }
   553  
   554  func (s *AutoscalingLimits) MarshalJSON() ([]byte, error) {
   555  	type NoMethod AutoscalingLimits
   556  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   557  }
   558  
   559  // AutoscalingTargets: The Autoscaling targets for a Cluster. These determine
   560  // the recommended nodes.
   561  type AutoscalingTargets struct {
   562  	// CpuUtilizationPercent: The cpu utilization that the Autoscaler should be
   563  	// trying to achieve. This number is on a scale from 0 (no utilization) to 100
   564  	// (total utilization), and is limited between 10 and 80, otherwise it will
   565  	// return INVALID_ARGUMENT error.
   566  	CpuUtilizationPercent int64 `json:"cpuUtilizationPercent,omitempty"`
   567  	// StorageUtilizationGibPerNode: The storage utilization that the Autoscaler
   568  	// should be trying to achieve. This number is limited between 2560 (2.5TiB)
   569  	// and 5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and 16384 (16TiB)
   570  	// for an HDD cluster, otherwise it will return INVALID_ARGUMENT error. If this
   571  	// value is set to 0, it will be treated as if it were set to the default
   572  	// value: 2560 for SSD, 8192 for HDD.
   573  	StorageUtilizationGibPerNode int64 `json:"storageUtilizationGibPerNode,omitempty"`
   574  	// ForceSendFields is a list of field names (e.g. "CpuUtilizationPercent") to
   575  	// unconditionally include in API requests. By default, fields with empty or
   576  	// default values are omitted from API requests. See
   577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   578  	// details.
   579  	ForceSendFields []string `json:"-"`
   580  	// NullFields is a list of field names (e.g. "CpuUtilizationPercent") to
   581  	// include in API requests with the JSON null value. By default, fields with
   582  	// empty values are omitted from API requests. See
   583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   584  	NullFields []string `json:"-"`
   585  }
   586  
   587  func (s *AutoscalingTargets) MarshalJSON() ([]byte, error) {
   588  	type NoMethod AutoscalingTargets
   589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   590  }
   591  
   592  // Backup: A backup of a Cloud Bigtable table.
   593  type Backup struct {
   594  	// EncryptionInfo: Output only. The encryption information for the backup.
   595  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
   596  	// EndTime: Output only. `end_time` is the time that the backup was finished.
   597  	// The row data in the backup will be no newer than this timestamp.
   598  	EndTime string `json:"endTime,omitempty"`
   599  	// ExpireTime: Required. The expiration time of the backup, with microseconds
   600  	// granularity that must be at least 6 hours and at most 90 days from the time
   601  	// the request is received. Once the `expire_time` has passed, Cloud Bigtable
   602  	// will delete the backup and free the resources used by the backup.
   603  	ExpireTime string `json:"expireTime,omitempty"`
   604  	// Name: A globally unique identifier for the backup which cannot be changed.
   605  	// Values are of the form
   606  	// `projects/{project}/instances/{instance}/clusters/{cluster}/
   607  	// backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50
   608  	// characters in length. The backup is stored in the cluster identified by the
   609  	// prefix of the backup name of the form
   610  	// `projects/{project}/instances/{instance}/clusters/{cluster}`.
   611  	Name string `json:"name,omitempty"`
   612  	// SizeBytes: Output only. Size of the backup in bytes.
   613  	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
   614  	// SourceBackup: Output only. Name of the backup from which this backup was
   615  	// copied. If a backup is not created by copying a backup, this field will be
   616  	// empty. Values are of the form: projects//instances//clusters//backups/
   617  	SourceBackup string `json:"sourceBackup,omitempty"`
   618  	// SourceTable: Required. Immutable. Name of the table from which this backup
   619  	// was created. This needs to be in the same instance as the backup. Values are
   620  	// of the form `projects/{project}/instances/{instance}/tables/{source_table}`.
   621  	SourceTable string `json:"sourceTable,omitempty"`
   622  	// StartTime: Output only. `start_time` is the time that the backup was started
   623  	// (i.e. approximately the time the CreateBackup request is received). The row
   624  	// data in this backup will be no older than this timestamp.
   625  	StartTime string `json:"startTime,omitempty"`
   626  	// State: Output only. The current state of the backup.
   627  	//
   628  	// Possible values:
   629  	//   "STATE_UNSPECIFIED" - Not specified.
   630  	//   "CREATING" - The pending backup is still being created. Operations on the
   631  	// backup may fail with `FAILED_PRECONDITION` in this state.
   632  	//   "READY" - The backup is complete and ready for use.
   633  	State string `json:"state,omitempty"`
   634  
   635  	// ServerResponse contains the HTTP response code and headers from the server.
   636  	googleapi.ServerResponse `json:"-"`
   637  	// ForceSendFields is a list of field names (e.g. "EncryptionInfo") to
   638  	// unconditionally include in API requests. By default, fields with empty or
   639  	// default values are omitted from API requests. See
   640  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   641  	// details.
   642  	ForceSendFields []string `json:"-"`
   643  	// NullFields is a list of field names (e.g. "EncryptionInfo") to include in
   644  	// API requests with the JSON null value. By default, fields with empty values
   645  	// are omitted from API requests. See
   646  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   647  	NullFields []string `json:"-"`
   648  }
   649  
   650  func (s *Backup) MarshalJSON() ([]byte, error) {
   651  	type NoMethod Backup
   652  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   653  }
   654  
   655  // BackupInfo: Information about a backup.
   656  type BackupInfo struct {
   657  	// Backup: Output only. Name of the backup.
   658  	Backup string `json:"backup,omitempty"`
   659  	// EndTime: Output only. This time that the backup was finished. Row data in
   660  	// the backup will be no newer than this timestamp.
   661  	EndTime string `json:"endTime,omitempty"`
   662  	// SourceBackup: Output only. Name of the backup from which this backup was
   663  	// copied. If a backup is not created by copying a backup, this field will be
   664  	// empty. Values are of the form: projects//instances//clusters//backups/
   665  	SourceBackup string `json:"sourceBackup,omitempty"`
   666  	// SourceTable: Output only. Name of the table the backup was created from.
   667  	SourceTable string `json:"sourceTable,omitempty"`
   668  	// StartTime: Output only. The time that the backup was started. Row data in
   669  	// the backup will be no older than this timestamp.
   670  	StartTime string `json:"startTime,omitempty"`
   671  	// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
   672  	// include in API requests. By default, fields with empty or default values are
   673  	// omitted from API requests. See
   674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   675  	// details.
   676  	ForceSendFields []string `json:"-"`
   677  	// NullFields is a list of field names (e.g. "Backup") to include in API
   678  	// requests with the JSON null value. By default, fields with empty values are
   679  	// omitted from API requests. See
   680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   681  	NullFields []string `json:"-"`
   682  }
   683  
   684  func (s *BackupInfo) MarshalJSON() ([]byte, error) {
   685  	type NoMethod BackupInfo
   686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   687  }
   688  
   689  // Binding: Associates `members`, or principals, with a `role`.
   690  type Binding struct {
   691  	// Condition: The condition that is associated with this binding. If the
   692  	// condition evaluates to `true`, then this binding applies to the current
   693  	// request. If the condition evaluates to `false`, then this binding does not
   694  	// apply to the current request. However, a different role binding might grant
   695  	// the same role to one or more of the principals in this binding. To learn
   696  	// which resources support conditions in their IAM policies, see the IAM
   697  	// documentation
   698  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   699  	Condition *Expr `json:"condition,omitempty"`
   700  	// Members: Specifies the principals requesting access for a Google Cloud
   701  	// resource. `members` can have the following values: * `allUsers`: A special
   702  	// identifier that represents anyone who is on the internet; with or without a
   703  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   704  	// represents anyone who is authenticated with a Google account or a service
   705  	// account. Does not include identities that come from external identity
   706  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   707  	// address that represents a specific Google account. For example,
   708  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   709  	// represents a Google service account. For example,
   710  	// `my-other-app@appspot.gserviceaccount.com`. *
   711  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   712  	// identifier for a Kubernetes service account
   713  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   714  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   715  	// `group:{emailid}`: An email address that represents a Google group. For
   716  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   717  	// (primary) that represents all the users of that domain. For example,
   718  	// `google.com` or `example.com`. *
   719  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   720  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   721  	// pool. *
   722  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   723  	// group/{group_id}`: All workforce identities in a group. *
   724  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   725  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   726  	// a specific attribute value. *
   727  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   728  	// *`: All identities in a workforce identity pool. *
   729  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   730  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   731  	// identity in a workload identity pool. *
   732  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   733  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   734  	// group. *
   735  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   736  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   737  	// `: All identities in a workload identity pool with a certain attribute. *
   738  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   739  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   740  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   741  	// unique identifier) representing a user that has been recently deleted. For
   742  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   743  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   744  	// retains the role in the binding. *
   745  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   746  	// unique identifier) representing a service account that has been recently
   747  	// deleted. For example,
   748  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   749  	// service account is undeleted, this value reverts to
   750  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   751  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   752  	// address (plus unique identifier) representing a Google group that has been
   753  	// recently deleted. For example,
   754  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   755  	// this value reverts to `group:{emailid}` and the recovered group retains the
   756  	// role in the binding. *
   757  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   758  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   759  	// workforce identity pool. For example,
   760  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   761  	// ol-id/subject/my-subject-attribute-value`.
   762  	Members []string `json:"members,omitempty"`
   763  	// Role: Role that is assigned to the list of `members`, or principals. For
   764  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   765  	// of the IAM roles and permissions, see the IAM documentation
   766  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   767  	// available pre-defined roles, see here
   768  	// (https://cloud.google.com/iam/docs/understanding-roles).
   769  	Role string `json:"role,omitempty"`
   770  	// ForceSendFields is a list of field names (e.g. "Condition") to
   771  	// unconditionally include in API requests. By default, fields with empty or
   772  	// default values are omitted from API requests. See
   773  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   774  	// details.
   775  	ForceSendFields []string `json:"-"`
   776  	// NullFields is a list of field names (e.g. "Condition") to include in API
   777  	// requests with the JSON null value. By default, fields with empty values are
   778  	// omitted from API requests. See
   779  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   780  	NullFields []string `json:"-"`
   781  }
   782  
   783  func (s *Binding) MarshalJSON() ([]byte, error) {
   784  	type NoMethod Binding
   785  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   786  }
   787  
   788  // ChangeStreamConfig: Change stream configuration.
   789  type ChangeStreamConfig struct {
   790  	// RetentionPeriod: How long the change stream should be retained. Change
   791  	// stream data older than the retention period will not be returned when
   792  	// reading the change stream from the table. Values must be at least 1 day and
   793  	// at most 7 days, and will be truncated to microsecond granularity.
   794  	RetentionPeriod string `json:"retentionPeriod,omitempty"`
   795  	// ForceSendFields is a list of field names (e.g. "RetentionPeriod") to
   796  	// unconditionally include in API requests. By default, fields with empty or
   797  	// default values are omitted from API requests. See
   798  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   799  	// details.
   800  	ForceSendFields []string `json:"-"`
   801  	// NullFields is a list of field names (e.g. "RetentionPeriod") to include in
   802  	// API requests with the JSON null value. By default, fields with empty values
   803  	// are omitted from API requests. See
   804  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   805  	NullFields []string `json:"-"`
   806  }
   807  
   808  func (s *ChangeStreamConfig) MarshalJSON() ([]byte, error) {
   809  	type NoMethod ChangeStreamConfig
   810  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   811  }
   812  
   813  // CheckConsistencyRequest: Request message for
   814  // google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
   815  type CheckConsistencyRequest struct {
   816  	// ConsistencyToken: Required. The token created using GenerateConsistencyToken
   817  	// for the Table.
   818  	ConsistencyToken string `json:"consistencyToken,omitempty"`
   819  	// DataBoostReadLocalWrites: Checks that reads using an app profile with
   820  	// `DataBoostIsolationReadOnly` can see all writes committed before the token
   821  	// was created, but only if the read and write target the same cluster.
   822  	DataBoostReadLocalWrites *DataBoostReadLocalWrites `json:"dataBoostReadLocalWrites,omitempty"`
   823  	// StandardReadRemoteWrites: Checks that reads using an app profile with
   824  	// `StandardIsolation` can see all writes committed before the token was
   825  	// created, even if the read and write target different clusters.
   826  	StandardReadRemoteWrites *StandardReadRemoteWrites `json:"standardReadRemoteWrites,omitempty"`
   827  	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
   828  	// unconditionally include in API requests. By default, fields with empty or
   829  	// default values are omitted from API requests. See
   830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   831  	// details.
   832  	ForceSendFields []string `json:"-"`
   833  	// NullFields is a list of field names (e.g. "ConsistencyToken") to include in
   834  	// API requests with the JSON null value. By default, fields with empty values
   835  	// are omitted from API requests. See
   836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   837  	NullFields []string `json:"-"`
   838  }
   839  
   840  func (s *CheckConsistencyRequest) MarshalJSON() ([]byte, error) {
   841  	type NoMethod CheckConsistencyRequest
   842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   843  }
   844  
   845  // CheckConsistencyResponse: Response message for
   846  // google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
   847  type CheckConsistencyResponse struct {
   848  	// Consistent: True only if the token is consistent. A token is consistent if
   849  	// replication has caught up with the restrictions specified in the request.
   850  	Consistent bool `json:"consistent,omitempty"`
   851  
   852  	// ServerResponse contains the HTTP response code and headers from the server.
   853  	googleapi.ServerResponse `json:"-"`
   854  	// ForceSendFields is a list of field names (e.g. "Consistent") to
   855  	// unconditionally include in API requests. By default, fields with empty or
   856  	// default values are omitted from API requests. See
   857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   858  	// details.
   859  	ForceSendFields []string `json:"-"`
   860  	// NullFields is a list of field names (e.g. "Consistent") to include in API
   861  	// requests with the JSON null value. By default, fields with empty values are
   862  	// omitted from API requests. See
   863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   864  	NullFields []string `json:"-"`
   865  }
   866  
   867  func (s *CheckConsistencyResponse) MarshalJSON() ([]byte, error) {
   868  	type NoMethod CheckConsistencyResponse
   869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   870  }
   871  
   872  // Cluster: A resizable group of nodes in a particular cloud location, capable
   873  // of serving all Tables in the parent Instance.
   874  type Cluster struct {
   875  	// ClusterConfig: Configuration for this cluster.
   876  	ClusterConfig *ClusterConfig `json:"clusterConfig,omitempty"`
   877  	// DefaultStorageType: Immutable. The type of storage used by this cluster to
   878  	// serve its parent instance's tables, unless explicitly overridden.
   879  	//
   880  	// Possible values:
   881  	//   "STORAGE_TYPE_UNSPECIFIED" - The user did not specify a storage type.
   882  	//   "SSD" - Flash (SSD) storage should be used.
   883  	//   "HDD" - Magnetic drive (HDD) storage should be used.
   884  	DefaultStorageType string `json:"defaultStorageType,omitempty"`
   885  	// EncryptionConfig: Immutable. The encryption configuration for CMEK-protected
   886  	// clusters.
   887  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   888  	// Location: Immutable. The location where this cluster's nodes and storage
   889  	// reside. For best performance, clients should be located as close as possible
   890  	// to this cluster. Currently only zones are supported, so values should be of
   891  	// the form `projects/{project}/locations/{zone}`.
   892  	Location string `json:"location,omitempty"`
   893  	// Name: The unique name of the cluster. Values are of the form
   894  	// `projects/{project}/instances/{instance}/clusters/a-z*`.
   895  	Name string `json:"name,omitempty"`
   896  	// ServeNodes: The number of nodes in the cluster. If no value is set, Cloud
   897  	// Bigtable automatically allocates nodes based on your data footprint and
   898  	// optimized for 50% storage utilization.
   899  	ServeNodes int64 `json:"serveNodes,omitempty"`
   900  	// State: Output only. The current state of the cluster.
   901  	//
   902  	// Possible values:
   903  	//   "STATE_NOT_KNOWN" - The state of the cluster could not be determined.
   904  	//   "READY" - The cluster has been successfully created and is ready to serve
   905  	// requests.
   906  	//   "CREATING" - The cluster is currently being created, and may be destroyed
   907  	// if the creation process encounters an error. A cluster may not be able to
   908  	// serve requests while being created.
   909  	//   "RESIZING" - The cluster is currently being resized, and may revert to its
   910  	// previous node count if the process encounters an error. A cluster is still
   911  	// capable of serving requests while being resized, but may exhibit performance
   912  	// as if its number of allocated nodes is between the starting and requested
   913  	// states.
   914  	//   "DISABLED" - The cluster has no backing nodes. The data (tables) still
   915  	// exist, but no operations can be performed on the cluster.
   916  	State string `json:"state,omitempty"`
   917  
   918  	// ServerResponse contains the HTTP response code and headers from the server.
   919  	googleapi.ServerResponse `json:"-"`
   920  	// ForceSendFields is a list of field names (e.g. "ClusterConfig") to
   921  	// unconditionally include in API requests. By default, fields with empty or
   922  	// default values are omitted from API requests. See
   923  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   924  	// details.
   925  	ForceSendFields []string `json:"-"`
   926  	// NullFields is a list of field names (e.g. "ClusterConfig") to include in API
   927  	// requests with the JSON null value. By default, fields with empty values are
   928  	// omitted from API requests. See
   929  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   930  	NullFields []string `json:"-"`
   931  }
   932  
   933  func (s *Cluster) MarshalJSON() ([]byte, error) {
   934  	type NoMethod Cluster
   935  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   936  }
   937  
   938  // ClusterAutoscalingConfig: Autoscaling config for a cluster.
   939  type ClusterAutoscalingConfig struct {
   940  	// AutoscalingLimits: Required. Autoscaling limits for this cluster.
   941  	AutoscalingLimits *AutoscalingLimits `json:"autoscalingLimits,omitempty"`
   942  	// AutoscalingTargets: Required. Autoscaling targets for this cluster.
   943  	AutoscalingTargets *AutoscalingTargets `json:"autoscalingTargets,omitempty"`
   944  	// ForceSendFields is a list of field names (e.g. "AutoscalingLimits") to
   945  	// unconditionally include in API requests. By default, fields with empty or
   946  	// default values are omitted from API requests. See
   947  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   948  	// details.
   949  	ForceSendFields []string `json:"-"`
   950  	// NullFields is a list of field names (e.g. "AutoscalingLimits") to include in
   951  	// API requests with the JSON null value. By default, fields with empty values
   952  	// are omitted from API requests. See
   953  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   954  	NullFields []string `json:"-"`
   955  }
   956  
   957  func (s *ClusterAutoscalingConfig) MarshalJSON() ([]byte, error) {
   958  	type NoMethod ClusterAutoscalingConfig
   959  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   960  }
   961  
   962  // ClusterConfig: Configuration for a cluster.
   963  type ClusterConfig struct {
   964  	// ClusterAutoscalingConfig: Autoscaling configuration for this cluster.
   965  	ClusterAutoscalingConfig *ClusterAutoscalingConfig `json:"clusterAutoscalingConfig,omitempty"`
   966  	// ForceSendFields is a list of field names (e.g. "ClusterAutoscalingConfig")
   967  	// to unconditionally include in API requests. By default, fields with empty or
   968  	// default values are omitted from API requests. See
   969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   970  	// details.
   971  	ForceSendFields []string `json:"-"`
   972  	// NullFields is a list of field names (e.g. "ClusterAutoscalingConfig") to
   973  	// include in API requests with the JSON null value. By default, fields with
   974  	// empty values are omitted from API requests. See
   975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   976  	NullFields []string `json:"-"`
   977  }
   978  
   979  func (s *ClusterConfig) MarshalJSON() ([]byte, error) {
   980  	type NoMethod ClusterConfig
   981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   982  }
   983  
   984  // ClusterState: The state of a table's data in a particular cluster.
   985  type ClusterState struct {
   986  	// EncryptionInfo: Output only. The encryption information for the table in
   987  	// this cluster. If the encryption key protecting this resource is customer
   988  	// managed, then its version can be rotated in Cloud Key Management Service
   989  	// (Cloud KMS). The primary version of the key and its status will be reflected
   990  	// here when changes propagate from Cloud KMS.
   991  	EncryptionInfo []*EncryptionInfo `json:"encryptionInfo,omitempty"`
   992  	// ReplicationState: Output only. The state of replication for the table in
   993  	// this cluster.
   994  	//
   995  	// Possible values:
   996  	//   "STATE_NOT_KNOWN" - The replication state of the table is unknown in this
   997  	// cluster.
   998  	//   "INITIALIZING" - The cluster was recently created, and the table must
   999  	// finish copying over pre-existing data from other clusters before it can
  1000  	// begin receiving live replication updates and serving Data API requests.
  1001  	//   "PLANNED_MAINTENANCE" - The table is temporarily unable to serve Data API
  1002  	// requests from this cluster due to planned internal maintenance.
  1003  	//   "UNPLANNED_MAINTENANCE" - The table is temporarily unable to serve Data
  1004  	// API requests from this cluster due to unplanned or emergency maintenance.
  1005  	//   "READY" - The table can serve Data API requests from this cluster.
  1006  	// Depending on replication delay, reads may not immediately reflect the state
  1007  	// of the table in other clusters.
  1008  	//   "READY_OPTIMIZING" - The table is fully created and ready for use after a
  1009  	// restore, and is being optimized for performance. When optimizations are
  1010  	// complete, the table will transition to `READY` state.
  1011  	ReplicationState string `json:"replicationState,omitempty"`
  1012  	// ForceSendFields is a list of field names (e.g. "EncryptionInfo") to
  1013  	// unconditionally include in API requests. By default, fields with empty or
  1014  	// default values are omitted from API requests. See
  1015  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1016  	// details.
  1017  	ForceSendFields []string `json:"-"`
  1018  	// NullFields is a list of field names (e.g. "EncryptionInfo") to include in
  1019  	// API requests with the JSON null value. By default, fields with empty values
  1020  	// are omitted from API requests. See
  1021  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1022  	NullFields []string `json:"-"`
  1023  }
  1024  
  1025  func (s *ClusterState) MarshalJSON() ([]byte, error) {
  1026  	type NoMethod ClusterState
  1027  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1028  }
  1029  
  1030  // ColumnFamily: A set of columns within a table which share a common
  1031  // configuration.
  1032  type ColumnFamily struct {
  1033  	// GcRule: Garbage collection rule specified as a protobuf. Must serialize to
  1034  	// at most 500 bytes. NOTE: Garbage collection executes opportunistically in
  1035  	// the background, and so it's possible for reads to return a cell even if it
  1036  	// matches the active GC expression for its family.
  1037  	GcRule *GcRule `json:"gcRule,omitempty"`
  1038  	// Stats: Output only. Only available with STATS_VIEW, this includes summary
  1039  	// statistics about column family contents. For statistics over an entire
  1040  	// table, see TableStats above.
  1041  	Stats *ColumnFamilyStats `json:"stats,omitempty"`
  1042  	// ValueType: The type of data stored in each of this family's cell values,
  1043  	// including its full encoding. If omitted, the family only serves raw untyped
  1044  	// bytes. For now, only the `Aggregate` type is supported. `Aggregate` can only
  1045  	// be set at family creation and is immutable afterwards. If `value_type` is
  1046  	// `Aggregate`, written data must be compatible with: * `value_type.input_type`
  1047  	// for `AddInput` mutations
  1048  	ValueType *Type `json:"valueType,omitempty"`
  1049  	// ForceSendFields is a list of field names (e.g. "GcRule") to unconditionally
  1050  	// include in API requests. By default, fields with empty or default values are
  1051  	// omitted from API requests. See
  1052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1053  	// details.
  1054  	ForceSendFields []string `json:"-"`
  1055  	// NullFields is a list of field names (e.g. "GcRule") to include in API
  1056  	// requests with the JSON null value. By default, fields with empty values are
  1057  	// omitted from API requests. See
  1058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1059  	NullFields []string `json:"-"`
  1060  }
  1061  
  1062  func (s *ColumnFamily) MarshalJSON() ([]byte, error) {
  1063  	type NoMethod ColumnFamily
  1064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1065  }
  1066  
  1067  // ColumnFamilyStats: Approximate statistics related to a single column family
  1068  // within a table. This information may change rapidly, interpreting these
  1069  // values at a point in time may already preset out-of-date information.
  1070  // Everything below is approximate, unless otherwise specified.
  1071  type ColumnFamilyStats struct {
  1072  	// AverageCellsPerColumn: How many cells are present per column qualifier in
  1073  	// this column family, averaged over all rows containing any column in the
  1074  	// column family. e.g. For column family "family" in a table with 3 rows: * A
  1075  	// row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1
  1076  	// column in "family") * A row with 1 cell in "family:col", 7 cells in
  1077  	// "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in
  1078  	// "family") * A row with 3 cells in "other:col" (0 columns in "family",
  1079  	// "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this
  1080  	// field.
  1081  	AverageCellsPerColumn float64 `json:"averageCellsPerColumn,omitempty"`
  1082  	// AverageColumnsPerRow: How many column qualifiers are present in this column
  1083  	// family, averaged over all rows in the table. e.g. For column family "family"
  1084  	// in a table with 3 rows: * A row with cells in "family:col" and "other:col"
  1085  	// (1 column in "family") * A row with cells in "family:col",
  1086  	// "family:other_col", and "other:data" (2 columns in "family") * A row with
  1087  	// cells in "other:col" (0 columns in "family", "family" not present) would
  1088  	// report (1 + 2 + 0)/3 = 1.5 in this field.
  1089  	AverageColumnsPerRow float64 `json:"averageColumnsPerRow,omitempty"`
  1090  	// LogicalDataBytes: How much space the data in the column family occupies.
  1091  	// This is roughly how many bytes would be needed to read the contents of the
  1092  	// entire column family (e.g. by streaming all contents out).
  1093  	LogicalDataBytes int64 `json:"logicalDataBytes,omitempty,string"`
  1094  	// ForceSendFields is a list of field names (e.g. "AverageCellsPerColumn") to
  1095  	// unconditionally include in API requests. By default, fields with empty or
  1096  	// default values are omitted from API requests. See
  1097  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1098  	// details.
  1099  	ForceSendFields []string `json:"-"`
  1100  	// NullFields is a list of field names (e.g. "AverageCellsPerColumn") to
  1101  	// include in API requests with the JSON null value. By default, fields with
  1102  	// empty values are omitted from API requests. See
  1103  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1104  	NullFields []string `json:"-"`
  1105  }
  1106  
  1107  func (s *ColumnFamilyStats) MarshalJSON() ([]byte, error) {
  1108  	type NoMethod ColumnFamilyStats
  1109  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1110  }
  1111  
  1112  func (s *ColumnFamilyStats) UnmarshalJSON(data []byte) error {
  1113  	type NoMethod ColumnFamilyStats
  1114  	var s1 struct {
  1115  		AverageCellsPerColumn gensupport.JSONFloat64 `json:"averageCellsPerColumn"`
  1116  		AverageColumnsPerRow  gensupport.JSONFloat64 `json:"averageColumnsPerRow"`
  1117  		*NoMethod
  1118  	}
  1119  	s1.NoMethod = (*NoMethod)(s)
  1120  	if err := json.Unmarshal(data, &s1); err != nil {
  1121  		return err
  1122  	}
  1123  	s.AverageCellsPerColumn = float64(s1.AverageCellsPerColumn)
  1124  	s.AverageColumnsPerRow = float64(s1.AverageColumnsPerRow)
  1125  	return nil
  1126  }
  1127  
  1128  // CopyBackupMetadata: Metadata type for the google.longrunning.Operation
  1129  // returned by CopyBackup.
  1130  type CopyBackupMetadata struct {
  1131  	// Name: The name of the backup being created through the copy operation.
  1132  	// Values are of the form `projects//instances//clusters//backups/`.
  1133  	Name string `json:"name,omitempty"`
  1134  	// Progress: The progress of the CopyBackup operation.
  1135  	Progress *OperationProgress `json:"progress,omitempty"`
  1136  	// SourceBackupInfo: Information about the source backup that is being copied
  1137  	// from.
  1138  	SourceBackupInfo *BackupInfo `json:"sourceBackupInfo,omitempty"`
  1139  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1140  	// include in API requests. By default, fields with empty or default values are
  1141  	// omitted from API requests. See
  1142  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1143  	// details.
  1144  	ForceSendFields []string `json:"-"`
  1145  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1146  	// with the JSON null value. By default, fields with empty values are omitted
  1147  	// from API requests. See
  1148  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1149  	NullFields []string `json:"-"`
  1150  }
  1151  
  1152  func (s *CopyBackupMetadata) MarshalJSON() ([]byte, error) {
  1153  	type NoMethod CopyBackupMetadata
  1154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1155  }
  1156  
  1157  // CopyBackupRequest: The request for CopyBackup.
  1158  type CopyBackupRequest struct {
  1159  	// BackupId: Required. The id of the new backup. The `backup_id` along with
  1160  	// `parent` are combined as {parent}/backups/{backup_id} to create the full
  1161  	// backup name, of the form:
  1162  	// `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_i
  1163  	// d}`. This string must be between 1 and 50 characters in length and match the
  1164  	// regex _a-zA-Z0-9*.
  1165  	BackupId string `json:"backupId,omitempty"`
  1166  	// ExpireTime: Required. Required. The expiration time of the copied backup
  1167  	// with microsecond granularity that must be at least 6 hours and at most 30
  1168  	// days from the time the request is received. Once the `expire_time` has
  1169  	// passed, Cloud Bigtable will delete the backup and free the resources used by
  1170  	// the backup.
  1171  	ExpireTime string `json:"expireTime,omitempty"`
  1172  	// SourceBackup: Required. The source backup to be copied from. The source
  1173  	// backup needs to be in READY state for it to be copied. Copying a copied
  1174  	// backup is not allowed. Once CopyBackup is in progress, the source backup
  1175  	// cannot be deleted or cleaned up on expiration until CopyBackup is finished.
  1176  	// Values are of the form: `projects//instances//clusters//backups/`.
  1177  	SourceBackup string `json:"sourceBackup,omitempty"`
  1178  	// ForceSendFields is a list of field names (e.g. "BackupId") to
  1179  	// unconditionally include in API requests. By default, fields with empty or
  1180  	// default values are omitted from API requests. See
  1181  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1182  	// details.
  1183  	ForceSendFields []string `json:"-"`
  1184  	// NullFields is a list of field names (e.g. "BackupId") to include in API
  1185  	// requests with the JSON null value. By default, fields with empty values are
  1186  	// omitted from API requests. See
  1187  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1188  	NullFields []string `json:"-"`
  1189  }
  1190  
  1191  func (s *CopyBackupRequest) MarshalJSON() ([]byte, error) {
  1192  	type NoMethod CopyBackupRequest
  1193  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1194  }
  1195  
  1196  // CreateAuthorizedViewMetadata: The metadata for the Operation returned by
  1197  // CreateAuthorizedView.
  1198  type CreateAuthorizedViewMetadata struct {
  1199  	// FinishTime: The time at which the operation failed or was completed
  1200  	// successfully.
  1201  	FinishTime string `json:"finishTime,omitempty"`
  1202  	// OriginalRequest: The request that prompted the initiation of this
  1203  	// CreateAuthorizedView operation.
  1204  	OriginalRequest *CreateAuthorizedViewRequest `json:"originalRequest,omitempty"`
  1205  	// RequestTime: The time at which the original request was received.
  1206  	RequestTime string `json:"requestTime,omitempty"`
  1207  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  1208  	// unconditionally include in API requests. By default, fields with empty or
  1209  	// default values are omitted from API requests. See
  1210  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1211  	// details.
  1212  	ForceSendFields []string `json:"-"`
  1213  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  1214  	// requests with the JSON null value. By default, fields with empty values are
  1215  	// omitted from API requests. See
  1216  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1217  	NullFields []string `json:"-"`
  1218  }
  1219  
  1220  func (s *CreateAuthorizedViewMetadata) MarshalJSON() ([]byte, error) {
  1221  	type NoMethod CreateAuthorizedViewMetadata
  1222  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1223  }
  1224  
  1225  // CreateAuthorizedViewRequest: The request for CreateAuthorizedView
  1226  type CreateAuthorizedViewRequest struct {
  1227  	// AuthorizedView: Required. The AuthorizedView to create.
  1228  	AuthorizedView *AuthorizedView `json:"authorizedView,omitempty"`
  1229  	// AuthorizedViewId: Required. The id of the AuthorizedView to create. This
  1230  	// AuthorizedView must not already exist. The `authorized_view_id` appended to
  1231  	// `parent` forms the full AuthorizedView name of the form
  1232  	// `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{autho
  1233  	// rized_view}`.
  1234  	AuthorizedViewId string `json:"authorizedViewId,omitempty"`
  1235  	// Parent: Required. This is the name of the table the AuthorizedView belongs
  1236  	// to. Values are of the form
  1237  	// `projects/{project}/instances/{instance}/tables/{table}`.
  1238  	Parent string `json:"parent,omitempty"`
  1239  	// ForceSendFields is a list of field names (e.g. "AuthorizedView") to
  1240  	// unconditionally include in API requests. By default, fields with empty or
  1241  	// default values are omitted from API requests. See
  1242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1243  	// details.
  1244  	ForceSendFields []string `json:"-"`
  1245  	// NullFields is a list of field names (e.g. "AuthorizedView") to include in
  1246  	// API requests with the JSON null value. By default, fields with empty values
  1247  	// are omitted from API requests. See
  1248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1249  	NullFields []string `json:"-"`
  1250  }
  1251  
  1252  func (s *CreateAuthorizedViewRequest) MarshalJSON() ([]byte, error) {
  1253  	type NoMethod CreateAuthorizedViewRequest
  1254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1255  }
  1256  
  1257  // CreateBackupMetadata: Metadata type for the operation returned by
  1258  // CreateBackup.
  1259  type CreateBackupMetadata struct {
  1260  	// EndTime: If set, the time at which this operation finished or was cancelled.
  1261  	EndTime string `json:"endTime,omitempty"`
  1262  	// Name: The name of the backup being created.
  1263  	Name string `json:"name,omitempty"`
  1264  	// SourceTable: The name of the table the backup is created from.
  1265  	SourceTable string `json:"sourceTable,omitempty"`
  1266  	// StartTime: The time at which this operation started.
  1267  	StartTime string `json:"startTime,omitempty"`
  1268  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  1269  	// include in API requests. By default, fields with empty or default values are
  1270  	// omitted from API requests. See
  1271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1272  	// details.
  1273  	ForceSendFields []string `json:"-"`
  1274  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  1275  	// requests with the JSON null value. By default, fields with empty values are
  1276  	// omitted from API requests. See
  1277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1278  	NullFields []string `json:"-"`
  1279  }
  1280  
  1281  func (s *CreateBackupMetadata) MarshalJSON() ([]byte, error) {
  1282  	type NoMethod CreateBackupMetadata
  1283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1284  }
  1285  
  1286  // CreateClusterMetadata: The metadata for the Operation returned by
  1287  // CreateCluster.
  1288  type CreateClusterMetadata struct {
  1289  	// FinishTime: The time at which the operation failed or was completed
  1290  	// successfully.
  1291  	FinishTime string `json:"finishTime,omitempty"`
  1292  	// OriginalRequest: The request that prompted the initiation of this
  1293  	// CreateCluster operation.
  1294  	OriginalRequest *CreateClusterRequest `json:"originalRequest,omitempty"`
  1295  	// RequestTime: The time at which the original request was received.
  1296  	RequestTime string `json:"requestTime,omitempty"`
  1297  	// Tables: Keys: the full `name` of each table that existed in the instance
  1298  	// when CreateCluster was first called, i.e. `projects//instances//tables/`.
  1299  	// Any table added to the instance by a later API call will be created in the
  1300  	// new cluster by that API call, not this one. Values: information on how much
  1301  	// of a table's data has been copied to the newly-created cluster so far.
  1302  	Tables map[string]TableProgress `json:"tables,omitempty"`
  1303  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  1304  	// unconditionally include in API requests. By default, fields with empty or
  1305  	// default values are omitted from API requests. See
  1306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1307  	// details.
  1308  	ForceSendFields []string `json:"-"`
  1309  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  1310  	// requests with the JSON null value. By default, fields with empty values are
  1311  	// omitted from API requests. See
  1312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1313  	NullFields []string `json:"-"`
  1314  }
  1315  
  1316  func (s *CreateClusterMetadata) MarshalJSON() ([]byte, error) {
  1317  	type NoMethod CreateClusterMetadata
  1318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1319  }
  1320  
  1321  // CreateClusterRequest: Request message for
  1322  // BigtableInstanceAdmin.CreateCluster.
  1323  type CreateClusterRequest struct {
  1324  	// Cluster: Required. The cluster to be created. Fields marked `OutputOnly`
  1325  	// must be left blank.
  1326  	Cluster *Cluster `json:"cluster,omitempty"`
  1327  	// ClusterId: Required. The ID to be used when referring to the new cluster
  1328  	// within its instance, e.g., just `mycluster` rather than
  1329  	// `projects/myproject/instances/myinstance/clusters/mycluster`.
  1330  	ClusterId string `json:"clusterId,omitempty"`
  1331  	// Parent: Required. The unique name of the instance in which to create the new
  1332  	// cluster. Values are of the form `projects/{project}/instances/{instance}`.
  1333  	Parent string `json:"parent,omitempty"`
  1334  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  1335  	// include in API requests. By default, fields with empty or default values are
  1336  	// omitted from API requests. See
  1337  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1338  	// details.
  1339  	ForceSendFields []string `json:"-"`
  1340  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  1341  	// requests with the JSON null value. By default, fields with empty values are
  1342  	// omitted from API requests. See
  1343  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1344  	NullFields []string `json:"-"`
  1345  }
  1346  
  1347  func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) {
  1348  	type NoMethod CreateClusterRequest
  1349  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1350  }
  1351  
  1352  // CreateInstanceMetadata: The metadata for the Operation returned by
  1353  // CreateInstance.
  1354  type CreateInstanceMetadata struct {
  1355  	// FinishTime: The time at which the operation failed or was completed
  1356  	// successfully.
  1357  	FinishTime string `json:"finishTime,omitempty"`
  1358  	// OriginalRequest: The request that prompted the initiation of this
  1359  	// CreateInstance operation.
  1360  	OriginalRequest *CreateInstanceRequest `json:"originalRequest,omitempty"`
  1361  	// RequestTime: The time at which the original request was received.
  1362  	RequestTime string `json:"requestTime,omitempty"`
  1363  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  1364  	// unconditionally include in API requests. By default, fields with empty or
  1365  	// default values are omitted from API requests. See
  1366  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1367  	// details.
  1368  	ForceSendFields []string `json:"-"`
  1369  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  1370  	// requests with the JSON null value. By default, fields with empty values are
  1371  	// omitted from API requests. See
  1372  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1373  	NullFields []string `json:"-"`
  1374  }
  1375  
  1376  func (s *CreateInstanceMetadata) MarshalJSON() ([]byte, error) {
  1377  	type NoMethod CreateInstanceMetadata
  1378  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1379  }
  1380  
  1381  // CreateInstanceRequest: Request message for
  1382  // BigtableInstanceAdmin.CreateInstance.
  1383  type CreateInstanceRequest struct {
  1384  	// Clusters: Required. The clusters to be created within the instance, mapped
  1385  	// by desired cluster ID, e.g., just `mycluster` rather than
  1386  	// `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked
  1387  	// `OutputOnly` must be left blank.
  1388  	Clusters map[string]Cluster `json:"clusters,omitempty"`
  1389  	// Instance: Required. The instance to create. Fields marked `OutputOnly` must
  1390  	// be left blank.
  1391  	Instance *Instance `json:"instance,omitempty"`
  1392  	// InstanceId: Required. The ID to be used when referring to the new instance
  1393  	// within its project, e.g., just `myinstance` rather than
  1394  	// `projects/myproject/instances/myinstance`.
  1395  	InstanceId string `json:"instanceId,omitempty"`
  1396  	// Parent: Required. The unique name of the project in which to create the new
  1397  	// instance. Values are of the form `projects/{project}`.
  1398  	Parent string `json:"parent,omitempty"`
  1399  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  1400  	// unconditionally include in API requests. By default, fields with empty or
  1401  	// default values are omitted from API requests. See
  1402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1403  	// details.
  1404  	ForceSendFields []string `json:"-"`
  1405  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  1406  	// requests with the JSON null value. By default, fields with empty values are
  1407  	// omitted from API requests. See
  1408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1409  	NullFields []string `json:"-"`
  1410  }
  1411  
  1412  func (s *CreateInstanceRequest) MarshalJSON() ([]byte, error) {
  1413  	type NoMethod CreateInstanceRequest
  1414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1415  }
  1416  
  1417  // CreateTableRequest: Request message for
  1418  // google.bigtable.admin.v2.BigtableTableAdmin.CreateTable
  1419  type CreateTableRequest struct {
  1420  	// InitialSplits: The optional list of row keys that will be used to initially
  1421  	// split the table into several tablets (tablets are similar to HBase regions).
  1422  	// Given two split keys, `s1` and `s2`, three tablets will be created, spanning
  1423  	// the key ranges: `[, s1), [s1, s2), [s2, )`. Example: * Row keys := `["a",
  1424  	// "apple", "custom", "customer_1", "customer_2",` "other", "zz"]` *
  1425  	// initial_split_keys := `["apple", "customer_1", "customer_2", "other"]` * Key
  1426  	// assignment: - Tablet 1 `[, apple) => {"a"}.` - Tablet 2 `[apple, customer_1)
  1427  	// => {"apple", "custom"}.` - Tablet 3 `[customer_1, customer_2) =>
  1428  	// {"customer_1"}.` - Tablet 4 `[customer_2, other) => {"customer_2"}.` -
  1429  	// Tablet 5 `[other, ) => {"other", "zz"}.`
  1430  	InitialSplits []*Split `json:"initialSplits,omitempty"`
  1431  	// Table: Required. The Table to create.
  1432  	Table *Table `json:"table,omitempty"`
  1433  	// TableId: Required. The name by which the new table should be referred to
  1434  	// within the parent instance, e.g., `foobar` rather than
  1435  	// `{parent}/tables/foobar`. Maximum 50 characters.
  1436  	TableId string `json:"tableId,omitempty"`
  1437  	// ForceSendFields is a list of field names (e.g. "InitialSplits") to
  1438  	// unconditionally include in API requests. By default, fields with empty or
  1439  	// default values are omitted from API requests. See
  1440  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1441  	// details.
  1442  	ForceSendFields []string `json:"-"`
  1443  	// NullFields is a list of field names (e.g. "InitialSplits") to include in API
  1444  	// requests with the JSON null value. By default, fields with empty values are
  1445  	// omitted from API requests. See
  1446  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1447  	NullFields []string `json:"-"`
  1448  }
  1449  
  1450  func (s *CreateTableRequest) MarshalJSON() ([]byte, error) {
  1451  	type NoMethod CreateTableRequest
  1452  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1453  }
  1454  
  1455  // DataBoostIsolationReadOnly: Data Boost is a serverless compute capability
  1456  // that lets you run high-throughput read jobs and queries on your Bigtable
  1457  // data, without impacting the performance of the clusters that handle your
  1458  // application traffic. Data Boost supports read-only use cases with
  1459  // single-cluster routing.
  1460  type DataBoostIsolationReadOnly struct {
  1461  	// ComputeBillingOwner: The Compute Billing Owner for this Data Boost App
  1462  	// Profile.
  1463  	//
  1464  	// Possible values:
  1465  	//   "COMPUTE_BILLING_OWNER_UNSPECIFIED" - Unspecified value.
  1466  	//   "HOST_PAYS" - The host Cloud Project containing the targeted Bigtable
  1467  	// Instance / Table pays for compute.
  1468  	ComputeBillingOwner string `json:"computeBillingOwner,omitempty"`
  1469  	// ForceSendFields is a list of field names (e.g. "ComputeBillingOwner") to
  1470  	// unconditionally include in API requests. By default, fields with empty or
  1471  	// default values are omitted from API requests. See
  1472  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1473  	// details.
  1474  	ForceSendFields []string `json:"-"`
  1475  	// NullFields is a list of field names (e.g. "ComputeBillingOwner") to include
  1476  	// in API requests with the JSON null value. By default, fields with empty
  1477  	// values are omitted from API requests. See
  1478  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1479  	NullFields []string `json:"-"`
  1480  }
  1481  
  1482  func (s *DataBoostIsolationReadOnly) MarshalJSON() ([]byte, error) {
  1483  	type NoMethod DataBoostIsolationReadOnly
  1484  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1485  }
  1486  
  1487  // DataBoostReadLocalWrites: Checks that all writes before the consistency
  1488  // token was generated in the same cluster are readable by Databoost.
  1489  type DataBoostReadLocalWrites struct {
  1490  }
  1491  
  1492  // DropRowRangeRequest: Request message for
  1493  // google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange
  1494  type DropRowRangeRequest struct {
  1495  	// DeleteAllDataFromTable: Delete all rows in the table. Setting this to false
  1496  	// is a no-op.
  1497  	DeleteAllDataFromTable bool `json:"deleteAllDataFromTable,omitempty"`
  1498  	// RowKeyPrefix: Delete all rows that start with this row key prefix. Prefix
  1499  	// cannot be zero length.
  1500  	RowKeyPrefix string `json:"rowKeyPrefix,omitempty"`
  1501  	// ForceSendFields is a list of field names (e.g. "DeleteAllDataFromTable") to
  1502  	// unconditionally include in API requests. By default, fields with empty or
  1503  	// default values are omitted from API requests. See
  1504  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1505  	// details.
  1506  	ForceSendFields []string `json:"-"`
  1507  	// NullFields is a list of field names (e.g. "DeleteAllDataFromTable") to
  1508  	// include in API requests with the JSON null value. By default, fields with
  1509  	// empty values are omitted from API requests. See
  1510  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1511  	NullFields []string `json:"-"`
  1512  }
  1513  
  1514  func (s *DropRowRangeRequest) MarshalJSON() ([]byte, error) {
  1515  	type NoMethod DropRowRangeRequest
  1516  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1517  }
  1518  
  1519  // Empty: A generic empty message that you can re-use to avoid defining
  1520  // duplicated empty messages in your APIs. A typical example is to use it as
  1521  // the request or the response type of an API method. For instance: service Foo
  1522  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  1523  type Empty struct {
  1524  	// ServerResponse contains the HTTP response code and headers from the server.
  1525  	googleapi.ServerResponse `json:"-"`
  1526  }
  1527  
  1528  // EncryptionConfig: Cloud Key Management Service (Cloud KMS) settings for a
  1529  // CMEK-protected cluster.
  1530  type EncryptionConfig struct {
  1531  	// KmsKeyName: Describes the Cloud KMS encryption key that will be used to
  1532  	// protect the destination Bigtable cluster. The requirements for this key are:
  1533  	// 1) The Cloud Bigtable service account associated with the project that
  1534  	// contains this cluster must be granted the
  1535  	// `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only
  1536  	// regional keys can be used and the region of the CMEK key must match the
  1537  	// region of the cluster. Values are of the form
  1538  	// `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}`
  1539  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  1540  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
  1541  	// unconditionally include in API requests. By default, fields with empty or
  1542  	// default values are omitted from API requests. See
  1543  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1544  	// details.
  1545  	ForceSendFields []string `json:"-"`
  1546  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
  1547  	// requests with the JSON null value. By default, fields with empty values are
  1548  	// omitted from API requests. See
  1549  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1550  	NullFields []string `json:"-"`
  1551  }
  1552  
  1553  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
  1554  	type NoMethod EncryptionConfig
  1555  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1556  }
  1557  
  1558  // EncryptionInfo: Encryption information for a given resource. If this
  1559  // resource is protected with customer managed encryption, the in-use Cloud Key
  1560  // Management Service (Cloud KMS) key version is specified along with its
  1561  // status.
  1562  type EncryptionInfo struct {
  1563  	// EncryptionStatus: Output only. The status of encrypt/decrypt calls on
  1564  	// underlying data for this resource. Regardless of status, the existing data
  1565  	// is always encrypted at rest.
  1566  	EncryptionStatus *Status `json:"encryptionStatus,omitempty"`
  1567  	// EncryptionType: Output only. The type of encryption used to protect this
  1568  	// resource.
  1569  	//
  1570  	// Possible values:
  1571  	//   "ENCRYPTION_TYPE_UNSPECIFIED" - Encryption type was not specified, though
  1572  	// data at rest remains encrypted.
  1573  	//   "GOOGLE_DEFAULT_ENCRYPTION" - The data backing this resource is encrypted
  1574  	// at rest with a key that is fully managed by Google. No key version or status
  1575  	// will be populated. This is the default state.
  1576  	//   "CUSTOMER_MANAGED_ENCRYPTION" - The data backing this resource is
  1577  	// encrypted at rest with a key that is managed by the customer. The in-use
  1578  	// version of the key and its status are populated for CMEK-protected tables.
  1579  	// CMEK-protected backups are pinned to the key version that was in use at the
  1580  	// time the backup was taken. This key version is populated but its status is
  1581  	// not tracked and is reported as `UNKNOWN`.
  1582  	EncryptionType string `json:"encryptionType,omitempty"`
  1583  	// KmsKeyVersion: Output only. The version of the Cloud KMS key specified in
  1584  	// the parent cluster that is in use for the data underlying this table.
  1585  	KmsKeyVersion string `json:"kmsKeyVersion,omitempty"`
  1586  	// ForceSendFields is a list of field names (e.g. "EncryptionStatus") to
  1587  	// unconditionally include in API requests. By default, fields with empty or
  1588  	// default values are omitted from API requests. See
  1589  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1590  	// details.
  1591  	ForceSendFields []string `json:"-"`
  1592  	// NullFields is a list of field names (e.g. "EncryptionStatus") to include in
  1593  	// API requests with the JSON null value. By default, fields with empty values
  1594  	// are omitted from API requests. See
  1595  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1596  	NullFields []string `json:"-"`
  1597  }
  1598  
  1599  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  1600  	type NoMethod EncryptionInfo
  1601  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1602  }
  1603  
  1604  // Expr: Represents a textual expression in the Common Expression Language
  1605  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  1606  // of CEL are documented at https://github.com/google/cel-spec. Example
  1607  // (Comparison): title: "Summary size limit" description: "Determines if a
  1608  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  1609  // Example (Equality): title: "Requestor is owner" description: "Determines if
  1610  // requestor is the document owner" expression: "document.owner ==
  1611  // request.auth.claims.email" Example (Logic): title: "Public documents"
  1612  // description: "Determine whether the document should be publicly visible"
  1613  // expression: "document.type != 'private' && document.type != 'internal'"
  1614  // Example (Data Manipulation): title: "Notification string" description:
  1615  // "Create a notification string with a timestamp." expression: "'New message
  1616  // received at ' + string(document.create_time)" The exact variables and
  1617  // functions that may be referenced within an expression are determined by the
  1618  // service that evaluates it. See the service documentation for additional
  1619  // information.
  1620  type Expr struct {
  1621  	// Description: Optional. Description of the expression. This is a longer text
  1622  	// which describes the expression, e.g. when hovered over it in a UI.
  1623  	Description string `json:"description,omitempty"`
  1624  	// Expression: Textual representation of an expression in Common Expression
  1625  	// Language syntax.
  1626  	Expression string `json:"expression,omitempty"`
  1627  	// Location: Optional. String indicating the location of the expression for
  1628  	// error reporting, e.g. a file name and a position in the file.
  1629  	Location string `json:"location,omitempty"`
  1630  	// Title: Optional. Title for the expression, i.e. a short string describing
  1631  	// its purpose. This can be used e.g. in UIs which allow to enter the
  1632  	// expression.
  1633  	Title string `json:"title,omitempty"`
  1634  	// ForceSendFields is a list of field names (e.g. "Description") to
  1635  	// unconditionally include in API requests. By default, fields with empty or
  1636  	// default values are omitted from API requests. See
  1637  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1638  	// details.
  1639  	ForceSendFields []string `json:"-"`
  1640  	// NullFields is a list of field names (e.g. "Description") to include in API
  1641  	// requests with the JSON null value. By default, fields with empty values are
  1642  	// omitted from API requests. See
  1643  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1644  	NullFields []string `json:"-"`
  1645  }
  1646  
  1647  func (s *Expr) MarshalJSON() ([]byte, error) {
  1648  	type NoMethod Expr
  1649  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1650  }
  1651  
  1652  // GcRule: Rule for determining which cells to delete during garbage
  1653  // collection.
  1654  type GcRule struct {
  1655  	// Intersection: Delete cells that would be deleted by every nested rule.
  1656  	Intersection *Intersection `json:"intersection,omitempty"`
  1657  	// MaxAge: Delete cells in a column older than the given age. Values must be at
  1658  	// least one millisecond, and will be truncated to microsecond granularity.
  1659  	MaxAge string `json:"maxAge,omitempty"`
  1660  	// MaxNumVersions: Delete all cells in a column except the most recent N.
  1661  	MaxNumVersions int64 `json:"maxNumVersions,omitempty"`
  1662  	// Union: Delete cells that would be deleted by any nested rule.
  1663  	Union *Union `json:"union,omitempty"`
  1664  	// ForceSendFields is a list of field names (e.g. "Intersection") to
  1665  	// unconditionally include in API requests. By default, fields with empty or
  1666  	// default values are omitted from API requests. See
  1667  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1668  	// details.
  1669  	ForceSendFields []string `json:"-"`
  1670  	// NullFields is a list of field names (e.g. "Intersection") to include in API
  1671  	// requests with the JSON null value. By default, fields with empty values are
  1672  	// omitted from API requests. See
  1673  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1674  	NullFields []string `json:"-"`
  1675  }
  1676  
  1677  func (s *GcRule) MarshalJSON() ([]byte, error) {
  1678  	type NoMethod GcRule
  1679  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1680  }
  1681  
  1682  // GenerateConsistencyTokenRequest: Request message for
  1683  // google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken
  1684  type GenerateConsistencyTokenRequest struct {
  1685  }
  1686  
  1687  // GenerateConsistencyTokenResponse: Response message for
  1688  // google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken
  1689  type GenerateConsistencyTokenResponse struct {
  1690  	// ConsistencyToken: The generated consistency token.
  1691  	ConsistencyToken string `json:"consistencyToken,omitempty"`
  1692  
  1693  	// ServerResponse contains the HTTP response code and headers from the server.
  1694  	googleapi.ServerResponse `json:"-"`
  1695  	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
  1696  	// unconditionally include in API requests. By default, fields with empty or
  1697  	// default values are omitted from API requests. See
  1698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1699  	// details.
  1700  	ForceSendFields []string `json:"-"`
  1701  	// NullFields is a list of field names (e.g. "ConsistencyToken") to include in
  1702  	// API requests with the JSON null value. By default, fields with empty values
  1703  	// are omitted from API requests. See
  1704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1705  	NullFields []string `json:"-"`
  1706  }
  1707  
  1708  func (s *GenerateConsistencyTokenResponse) MarshalJSON() ([]byte, error) {
  1709  	type NoMethod GenerateConsistencyTokenResponse
  1710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1711  }
  1712  
  1713  // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
  1714  type GetIamPolicyRequest struct {
  1715  	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options to
  1716  	// `GetIamPolicy`.
  1717  	Options *GetPolicyOptions `json:"options,omitempty"`
  1718  	// ForceSendFields is a list of field names (e.g. "Options") to unconditionally
  1719  	// include in API requests. By default, fields with empty or default values are
  1720  	// omitted from API requests. See
  1721  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1722  	// details.
  1723  	ForceSendFields []string `json:"-"`
  1724  	// NullFields is a list of field names (e.g. "Options") to include in API
  1725  	// requests with the JSON null value. By default, fields with empty values are
  1726  	// omitted from API requests. See
  1727  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1728  	NullFields []string `json:"-"`
  1729  }
  1730  
  1731  func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  1732  	type NoMethod GetIamPolicyRequest
  1733  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1734  }
  1735  
  1736  // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
  1737  type GetPolicyOptions struct {
  1738  	// RequestedPolicyVersion: Optional. The maximum policy version that will be
  1739  	// used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  1740  	// an invalid value will be rejected. Requests for policies with any
  1741  	// conditional role bindings must specify version 3. Policies with no
  1742  	// conditional role bindings may specify any valid value or leave the field
  1743  	// unset. The policy in the response might use the policy version that you
  1744  	// specified, or it might use a lower policy version. For example, if you
  1745  	// specify version 3, but the policy has no conditional role bindings, the
  1746  	// response uses version 1. To learn which resources support conditions in
  1747  	// their IAM policies, see the IAM documentation
  1748  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  1749  	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
  1750  	// ForceSendFields is a list of field names (e.g. "RequestedPolicyVersion") to
  1751  	// unconditionally include in API requests. By default, fields with empty or
  1752  	// default values are omitted from API requests. See
  1753  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1754  	// details.
  1755  	ForceSendFields []string `json:"-"`
  1756  	// NullFields is a list of field names (e.g. "RequestedPolicyVersion") to
  1757  	// include in API requests with the JSON null value. By default, fields with
  1758  	// empty values are omitted from API requests. See
  1759  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1760  	NullFields []string `json:"-"`
  1761  }
  1762  
  1763  func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
  1764  	type NoMethod GetPolicyOptions
  1765  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1766  }
  1767  
  1768  // GoogleBigtableAdminV2AuthorizedViewFamilySubsets: Subsets of a column family
  1769  // that are included in this AuthorizedView.
  1770  type GoogleBigtableAdminV2AuthorizedViewFamilySubsets struct {
  1771  	// QualifierPrefixes: Prefixes for qualifiers to be included in the
  1772  	// AuthorizedView. Every qualifier starting with one of these prefixes is
  1773  	// included in the AuthorizedView. To provide access to all qualifiers, include
  1774  	// the empty string as a prefix ("").
  1775  	QualifierPrefixes []string `json:"qualifierPrefixes,omitempty"`
  1776  	// Qualifiers: Individual exact column qualifiers to be included in the
  1777  	// AuthorizedView.
  1778  	Qualifiers []string `json:"qualifiers,omitempty"`
  1779  	// ForceSendFields is a list of field names (e.g. "QualifierPrefixes") to
  1780  	// unconditionally include in API requests. By default, fields with empty or
  1781  	// default values are omitted from API requests. See
  1782  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1783  	// details.
  1784  	ForceSendFields []string `json:"-"`
  1785  	// NullFields is a list of field names (e.g. "QualifierPrefixes") to include in
  1786  	// API requests with the JSON null value. By default, fields with empty values
  1787  	// are omitted from API requests. See
  1788  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1789  	NullFields []string `json:"-"`
  1790  }
  1791  
  1792  func (s *GoogleBigtableAdminV2AuthorizedViewFamilySubsets) MarshalJSON() ([]byte, error) {
  1793  	type NoMethod GoogleBigtableAdminV2AuthorizedViewFamilySubsets
  1794  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1795  }
  1796  
  1797  // GoogleBigtableAdminV2AuthorizedViewSubsetView: Defines a simple
  1798  // AuthorizedView that is a subset of the underlying Table.
  1799  type GoogleBigtableAdminV2AuthorizedViewSubsetView struct {
  1800  	// FamilySubsets: Map from column family name to the columns in this family to
  1801  	// be included in the AuthorizedView.
  1802  	FamilySubsets map[string]GoogleBigtableAdminV2AuthorizedViewFamilySubsets `json:"familySubsets,omitempty"`
  1803  	// RowPrefixes: Row prefixes to be included in the AuthorizedView. To provide
  1804  	// access to all rows, include the empty string as a prefix ("").
  1805  	RowPrefixes []string `json:"rowPrefixes,omitempty"`
  1806  	// ForceSendFields is a list of field names (e.g. "FamilySubsets") to
  1807  	// unconditionally include in API requests. By default, fields with empty or
  1808  	// default values are omitted from API requests. See
  1809  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1810  	// details.
  1811  	ForceSendFields []string `json:"-"`
  1812  	// NullFields is a list of field names (e.g. "FamilySubsets") to include in API
  1813  	// requests with the JSON null value. By default, fields with empty values are
  1814  	// omitted from API requests. See
  1815  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1816  	NullFields []string `json:"-"`
  1817  }
  1818  
  1819  func (s *GoogleBigtableAdminV2AuthorizedViewSubsetView) MarshalJSON() ([]byte, error) {
  1820  	type NoMethod GoogleBigtableAdminV2AuthorizedViewSubsetView
  1821  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1822  }
  1823  
  1824  // GoogleBigtableAdminV2TypeAggregate: A value that combines incremental
  1825  // updates into a summarized value. Data is never directly written or read
  1826  // using type `Aggregate`. Writes will provide either the `input_type` or
  1827  // `state_type`, and reads will always return the `state_type` .
  1828  type GoogleBigtableAdminV2TypeAggregate struct {
  1829  	// InputType: Type of the inputs that are accumulated by this `Aggregate`,
  1830  	// which must specify a full encoding. Use `AddInput` mutations to accumulate
  1831  	// new inputs.
  1832  	InputType *Type `json:"inputType,omitempty"`
  1833  	// StateType: Output only. Type that holds the internal accumulator state for
  1834  	// the `Aggregate`. This is a function of the `input_type` and `aggregator`
  1835  	// chosen, and will always specify a full encoding.
  1836  	StateType *Type `json:"stateType,omitempty"`
  1837  	// Sum: Sum aggregator.
  1838  	Sum *GoogleBigtableAdminV2TypeAggregateSum `json:"sum,omitempty"`
  1839  	// ForceSendFields is a list of field names (e.g. "InputType") to
  1840  	// unconditionally include in API requests. By default, fields with empty or
  1841  	// default values are omitted from API requests. See
  1842  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1843  	// details.
  1844  	ForceSendFields []string `json:"-"`
  1845  	// NullFields is a list of field names (e.g. "InputType") to include in API
  1846  	// requests with the JSON null value. By default, fields with empty values are
  1847  	// omitted from API requests. See
  1848  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1849  	NullFields []string `json:"-"`
  1850  }
  1851  
  1852  func (s *GoogleBigtableAdminV2TypeAggregate) MarshalJSON() ([]byte, error) {
  1853  	type NoMethod GoogleBigtableAdminV2TypeAggregate
  1854  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1855  }
  1856  
  1857  // GoogleBigtableAdminV2TypeAggregateSum: Computes the sum of the input values.
  1858  // Allowed input: `Int64` State: same as input
  1859  type GoogleBigtableAdminV2TypeAggregateSum struct {
  1860  }
  1861  
  1862  // GoogleBigtableAdminV2TypeBytes: Bytes Values of type `Bytes` are stored in
  1863  // `Value.bytes_value`.
  1864  type GoogleBigtableAdminV2TypeBytes struct {
  1865  	// Encoding: The encoding to use when converting to/from lower level types.
  1866  	Encoding *GoogleBigtableAdminV2TypeBytesEncoding `json:"encoding,omitempty"`
  1867  	// ForceSendFields is a list of field names (e.g. "Encoding") to
  1868  	// unconditionally include in API requests. By default, fields with empty or
  1869  	// default values are omitted from API requests. See
  1870  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1871  	// details.
  1872  	ForceSendFields []string `json:"-"`
  1873  	// NullFields is a list of field names (e.g. "Encoding") to include in API
  1874  	// requests with the JSON null value. By default, fields with empty values are
  1875  	// omitted from API requests. See
  1876  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1877  	NullFields []string `json:"-"`
  1878  }
  1879  
  1880  func (s *GoogleBigtableAdminV2TypeBytes) MarshalJSON() ([]byte, error) {
  1881  	type NoMethod GoogleBigtableAdminV2TypeBytes
  1882  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1883  }
  1884  
  1885  // GoogleBigtableAdminV2TypeBytesEncoding: Rules used to convert to/from lower
  1886  // level types.
  1887  type GoogleBigtableAdminV2TypeBytesEncoding struct {
  1888  	// Raw: Use `Raw` encoding.
  1889  	Raw *GoogleBigtableAdminV2TypeBytesEncodingRaw `json:"raw,omitempty"`
  1890  	// ForceSendFields is a list of field names (e.g. "Raw") to unconditionally
  1891  	// include in API requests. By default, fields with empty or default values are
  1892  	// omitted from API requests. See
  1893  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1894  	// details.
  1895  	ForceSendFields []string `json:"-"`
  1896  	// NullFields is a list of field names (e.g. "Raw") to include in API requests
  1897  	// with the JSON null value. By default, fields with empty values are omitted
  1898  	// from API requests. See
  1899  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1900  	NullFields []string `json:"-"`
  1901  }
  1902  
  1903  func (s *GoogleBigtableAdminV2TypeBytesEncoding) MarshalJSON() ([]byte, error) {
  1904  	type NoMethod GoogleBigtableAdminV2TypeBytesEncoding
  1905  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1906  }
  1907  
  1908  // GoogleBigtableAdminV2TypeBytesEncodingRaw: Leaves the value "as-is" *
  1909  // Natural sort? Yes * Self-delimiting? No * Compatibility? N/A
  1910  type GoogleBigtableAdminV2TypeBytesEncodingRaw struct {
  1911  }
  1912  
  1913  // GoogleBigtableAdminV2TypeInt64: Int64 Values of type `Int64` are stored in
  1914  // `Value.int_value`.
  1915  type GoogleBigtableAdminV2TypeInt64 struct {
  1916  	// Encoding: The encoding to use when converting to/from lower level types.
  1917  	Encoding *GoogleBigtableAdminV2TypeInt64Encoding `json:"encoding,omitempty"`
  1918  	// ForceSendFields is a list of field names (e.g. "Encoding") to
  1919  	// unconditionally include in API requests. By default, fields with empty or
  1920  	// default values are omitted from API requests. See
  1921  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1922  	// details.
  1923  	ForceSendFields []string `json:"-"`
  1924  	// NullFields is a list of field names (e.g. "Encoding") to include in API
  1925  	// requests with the JSON null value. By default, fields with empty values are
  1926  	// omitted from API requests. See
  1927  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1928  	NullFields []string `json:"-"`
  1929  }
  1930  
  1931  func (s *GoogleBigtableAdminV2TypeInt64) MarshalJSON() ([]byte, error) {
  1932  	type NoMethod GoogleBigtableAdminV2TypeInt64
  1933  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1934  }
  1935  
  1936  // GoogleBigtableAdminV2TypeInt64Encoding: Rules used to convert to/from lower
  1937  // level types.
  1938  type GoogleBigtableAdminV2TypeInt64Encoding struct {
  1939  	// BigEndianBytes: Use `BigEndianBytes` encoding.
  1940  	BigEndianBytes *GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes `json:"bigEndianBytes,omitempty"`
  1941  	// ForceSendFields is a list of field names (e.g. "BigEndianBytes") to
  1942  	// unconditionally include in API requests. By default, fields with empty or
  1943  	// default values are omitted from API requests. See
  1944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1945  	// details.
  1946  	ForceSendFields []string `json:"-"`
  1947  	// NullFields is a list of field names (e.g. "BigEndianBytes") to include in
  1948  	// API requests with the JSON null value. By default, fields with empty values
  1949  	// are omitted from API requests. See
  1950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1951  	NullFields []string `json:"-"`
  1952  }
  1953  
  1954  func (s *GoogleBigtableAdminV2TypeInt64Encoding) MarshalJSON() ([]byte, error) {
  1955  	type NoMethod GoogleBigtableAdminV2TypeInt64Encoding
  1956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1957  }
  1958  
  1959  // GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes: Encodes the value as
  1960  // an 8-byte big endian twos complement `Bytes` value. * Natural sort? No
  1961  // (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery
  1962  // Federation `BINARY` encoding - HBase `Bytes.toBytes` - Java
  1963  // `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
  1964  type GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes struct {
  1965  	// BytesType: The underlying `Bytes` type, which may be able to encode further.
  1966  	BytesType *GoogleBigtableAdminV2TypeBytes `json:"bytesType,omitempty"`
  1967  	// ForceSendFields is a list of field names (e.g. "BytesType") to
  1968  	// unconditionally include in API requests. By default, fields with empty or
  1969  	// default values are omitted from API requests. See
  1970  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1971  	// details.
  1972  	ForceSendFields []string `json:"-"`
  1973  	// NullFields is a list of field names (e.g. "BytesType") to include in API
  1974  	// requests with the JSON null value. By default, fields with empty values are
  1975  	// omitted from API requests. See
  1976  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1977  	NullFields []string `json:"-"`
  1978  }
  1979  
  1980  func (s *GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes) MarshalJSON() ([]byte, error) {
  1981  	type NoMethod GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes
  1982  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1983  }
  1984  
  1985  // HotTablet: A tablet is a defined by a start and end key and is explained in
  1986  // https://cloud.google.com/bigtable/docs/overview#architecture and
  1987  // https://cloud.google.com/bigtable/docs/performance#optimization. A Hot
  1988  // tablet is a tablet that exhibits high average cpu usage during the time
  1989  // interval from start time to end time.
  1990  type HotTablet struct {
  1991  	// EndKey: Tablet End Key (inclusive).
  1992  	EndKey string `json:"endKey,omitempty"`
  1993  	// EndTime: Output only. The end time of the hot tablet.
  1994  	EndTime string `json:"endTime,omitempty"`
  1995  	// Name: The unique name of the hot tablet. Values are of the form
  1996  	// `projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-
  1997  	// Z0-9_-]*`.
  1998  	Name string `json:"name,omitempty"`
  1999  	// NodeCpuUsagePercent: Output only. The average CPU usage spent by a node on
  2000  	// this tablet over the start_time to end_time time range. The percentage is
  2001  	// the amount of CPU used by the node to serve the tablet, from 0% (tablet was
  2002  	// not interacted with) to 100% (the node spent all cycles serving the hot
  2003  	// tablet).
  2004  	NodeCpuUsagePercent float64 `json:"nodeCpuUsagePercent,omitempty"`
  2005  	// StartKey: Tablet Start Key (inclusive).
  2006  	StartKey string `json:"startKey,omitempty"`
  2007  	// StartTime: Output only. The start time of the hot tablet.
  2008  	StartTime string `json:"startTime,omitempty"`
  2009  	// TableName: Name of the table that contains the tablet. Values are of the
  2010  	// form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`.
  2011  	TableName string `json:"tableName,omitempty"`
  2012  	// ForceSendFields is a list of field names (e.g. "EndKey") to unconditionally
  2013  	// include in API requests. By default, fields with empty or default values are
  2014  	// omitted from API requests. See
  2015  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2016  	// details.
  2017  	ForceSendFields []string `json:"-"`
  2018  	// NullFields is a list of field names (e.g. "EndKey") to include in API
  2019  	// requests with the JSON null value. By default, fields with empty values are
  2020  	// omitted from API requests. See
  2021  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2022  	NullFields []string `json:"-"`
  2023  }
  2024  
  2025  func (s *HotTablet) MarshalJSON() ([]byte, error) {
  2026  	type NoMethod HotTablet
  2027  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2028  }
  2029  
  2030  func (s *HotTablet) UnmarshalJSON(data []byte) error {
  2031  	type NoMethod HotTablet
  2032  	var s1 struct {
  2033  		NodeCpuUsagePercent gensupport.JSONFloat64 `json:"nodeCpuUsagePercent"`
  2034  		*NoMethod
  2035  	}
  2036  	s1.NoMethod = (*NoMethod)(s)
  2037  	if err := json.Unmarshal(data, &s1); err != nil {
  2038  		return err
  2039  	}
  2040  	s.NodeCpuUsagePercent = float64(s1.NodeCpuUsagePercent)
  2041  	return nil
  2042  }
  2043  
  2044  // Instance: A collection of Bigtable Tables and the resources that serve them.
  2045  // All tables in an instance are served from all Clusters in the instance.
  2046  type Instance struct {
  2047  	// CreateTime: Output only. A commit timestamp representing when this Instance
  2048  	// was created. For instances created before this field was added (August
  2049  	// 2021), this value is `seconds: 0, nanos: 1`.
  2050  	CreateTime string `json:"createTime,omitempty"`
  2051  	// DisplayName: Required. The descriptive name for this instance as it appears
  2052  	// in UIs. Can be changed at any time, but should be kept globally unique to
  2053  	// avoid confusion.
  2054  	DisplayName string `json:"displayName,omitempty"`
  2055  	// Labels: Labels are a flexible and lightweight mechanism for organizing cloud
  2056  	// resources into groups that reflect a customer's organizational needs and
  2057  	// deployment strategies. They can be used to filter resources and aggregate
  2058  	// metrics. * Label keys must be between 1 and 63 characters long and must
  2059  	// conform to the regular expression: `\p{Ll}\p{Lo}{0,62}`. * Label values must
  2060  	// be between 0 and 63 characters long and must conform to the regular
  2061  	// expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be
  2062  	// associated with a given resource. * Keys and values must both be under 128
  2063  	// bytes.
  2064  	Labels map[string]string `json:"labels,omitempty"`
  2065  	// Name: The unique name of the instance. Values are of the form
  2066  	// `projects/{project}/instances/a-z+[a-z0-9]`.
  2067  	Name string `json:"name,omitempty"`
  2068  	// SatisfiesPzi: Output only. Reserved for future use.
  2069  	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
  2070  	// SatisfiesPzs: Output only. Reserved for future use.
  2071  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
  2072  	// State: Output only. The current state of the instance.
  2073  	//
  2074  	// Possible values:
  2075  	//   "STATE_NOT_KNOWN" - The state of the instance could not be determined.
  2076  	//   "READY" - The instance has been successfully created and can serve
  2077  	// requests to its tables.
  2078  	//   "CREATING" - The instance is currently being created, and may be destroyed
  2079  	// if the creation process encounters an error.
  2080  	State string `json:"state,omitempty"`
  2081  	// Type: The type of the instance. Defaults to `PRODUCTION`.
  2082  	//
  2083  	// Possible values:
  2084  	//   "TYPE_UNSPECIFIED" - The type of the instance is unspecified. If set when
  2085  	// creating an instance, a `PRODUCTION` instance will be created. If set when
  2086  	// updating an instance, the type will be left unchanged.
  2087  	//   "PRODUCTION" - An instance meant for production use. `serve_nodes` must be
  2088  	// set on the cluster.
  2089  	//   "DEVELOPMENT" - DEPRECATED: Prefer PRODUCTION for all use cases, as it no
  2090  	// longer enforces a higher minimum node count than DEVELOPMENT.
  2091  	Type string `json:"type,omitempty"`
  2092  
  2093  	// ServerResponse contains the HTTP response code and headers from the server.
  2094  	googleapi.ServerResponse `json:"-"`
  2095  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2096  	// unconditionally include in API requests. By default, fields with empty or
  2097  	// default values are omitted from API requests. See
  2098  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2099  	// details.
  2100  	ForceSendFields []string `json:"-"`
  2101  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2102  	// requests with the JSON null value. By default, fields with empty values are
  2103  	// omitted from API requests. See
  2104  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2105  	NullFields []string `json:"-"`
  2106  }
  2107  
  2108  func (s *Instance) MarshalJSON() ([]byte, error) {
  2109  	type NoMethod Instance
  2110  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2111  }
  2112  
  2113  // Intersection: A GcRule which deletes cells matching all of the given rules.
  2114  type Intersection struct {
  2115  	// Rules: Only delete cells which would be deleted by every element of `rules`.
  2116  	Rules []*GcRule `json:"rules,omitempty"`
  2117  	// ForceSendFields is a list of field names (e.g. "Rules") to unconditionally
  2118  	// include in API requests. By default, fields with empty or default values are
  2119  	// omitted from API requests. See
  2120  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2121  	// details.
  2122  	ForceSendFields []string `json:"-"`
  2123  	// NullFields is a list of field names (e.g. "Rules") to include in API
  2124  	// requests with the JSON null value. By default, fields with empty values are
  2125  	// omitted from API requests. See
  2126  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2127  	NullFields []string `json:"-"`
  2128  }
  2129  
  2130  func (s *Intersection) MarshalJSON() ([]byte, error) {
  2131  	type NoMethod Intersection
  2132  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2133  }
  2134  
  2135  // ListAppProfilesResponse: Response message for
  2136  // BigtableInstanceAdmin.ListAppProfiles.
  2137  type ListAppProfilesResponse struct {
  2138  	// AppProfiles: The list of requested app profiles.
  2139  	AppProfiles []*AppProfile `json:"appProfiles,omitempty"`
  2140  	// FailedLocations: Locations from which AppProfile information could not be
  2141  	// retrieved, due to an outage or some other transient condition. AppProfiles
  2142  	// from these locations may be missing from `app_profiles`. Values are of the
  2143  	// form `projects//locations/`
  2144  	FailedLocations []string `json:"failedLocations,omitempty"`
  2145  	// NextPageToken: Set if not all app profiles could be returned in a single
  2146  	// response. Pass this value to `page_token` in another request to get the next
  2147  	// page of results.
  2148  	NextPageToken string `json:"nextPageToken,omitempty"`
  2149  
  2150  	// ServerResponse contains the HTTP response code and headers from the server.
  2151  	googleapi.ServerResponse `json:"-"`
  2152  	// ForceSendFields is a list of field names (e.g. "AppProfiles") to
  2153  	// unconditionally include in API requests. By default, fields with empty or
  2154  	// default values are omitted from API requests. See
  2155  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2156  	// details.
  2157  	ForceSendFields []string `json:"-"`
  2158  	// NullFields is a list of field names (e.g. "AppProfiles") to include in API
  2159  	// requests with the JSON null value. By default, fields with empty values are
  2160  	// omitted from API requests. See
  2161  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2162  	NullFields []string `json:"-"`
  2163  }
  2164  
  2165  func (s *ListAppProfilesResponse) MarshalJSON() ([]byte, error) {
  2166  	type NoMethod ListAppProfilesResponse
  2167  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2168  }
  2169  
  2170  // ListAuthorizedViewsResponse: Response message for
  2171  // google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews
  2172  type ListAuthorizedViewsResponse struct {
  2173  	// AuthorizedViews: The AuthorizedViews present in the requested table.
  2174  	AuthorizedViews []*AuthorizedView `json:"authorizedViews,omitempty"`
  2175  	// NextPageToken: Set if not all tables could be returned in a single response.
  2176  	// Pass this value to `page_token` in another request to get the next page of
  2177  	// results.
  2178  	NextPageToken string `json:"nextPageToken,omitempty"`
  2179  
  2180  	// ServerResponse contains the HTTP response code and headers from the server.
  2181  	googleapi.ServerResponse `json:"-"`
  2182  	// ForceSendFields is a list of field names (e.g. "AuthorizedViews") to
  2183  	// unconditionally include in API requests. By default, fields with empty or
  2184  	// default values are omitted from API requests. See
  2185  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2186  	// details.
  2187  	ForceSendFields []string `json:"-"`
  2188  	// NullFields is a list of field names (e.g. "AuthorizedViews") to include in
  2189  	// API requests with the JSON null value. By default, fields with empty values
  2190  	// are omitted from API requests. See
  2191  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2192  	NullFields []string `json:"-"`
  2193  }
  2194  
  2195  func (s *ListAuthorizedViewsResponse) MarshalJSON() ([]byte, error) {
  2196  	type NoMethod ListAuthorizedViewsResponse
  2197  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2198  }
  2199  
  2200  // ListBackupsResponse: The response for ListBackups.
  2201  type ListBackupsResponse struct {
  2202  	// Backups: The list of matching backups.
  2203  	Backups []*Backup `json:"backups,omitempty"`
  2204  	// NextPageToken: `next_page_token` can be sent in a subsequent ListBackups
  2205  	// call to fetch more of the matching backups.
  2206  	NextPageToken string `json:"nextPageToken,omitempty"`
  2207  
  2208  	// ServerResponse contains the HTTP response code and headers from the server.
  2209  	googleapi.ServerResponse `json:"-"`
  2210  	// ForceSendFields is a list of field names (e.g. "Backups") to unconditionally
  2211  	// include in API requests. By default, fields with empty or default values are
  2212  	// omitted from API requests. See
  2213  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2214  	// details.
  2215  	ForceSendFields []string `json:"-"`
  2216  	// NullFields is a list of field names (e.g. "Backups") to include in API
  2217  	// requests with the JSON null value. By default, fields with empty values are
  2218  	// omitted from API requests. See
  2219  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2220  	NullFields []string `json:"-"`
  2221  }
  2222  
  2223  func (s *ListBackupsResponse) MarshalJSON() ([]byte, error) {
  2224  	type NoMethod ListBackupsResponse
  2225  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2226  }
  2227  
  2228  // ListClustersResponse: Response message for
  2229  // BigtableInstanceAdmin.ListClusters.
  2230  type ListClustersResponse struct {
  2231  	// Clusters: The list of requested clusters.
  2232  	Clusters []*Cluster `json:"clusters,omitempty"`
  2233  	// FailedLocations: Locations from which Cluster information could not be
  2234  	// retrieved, due to an outage or some other transient condition. Clusters from
  2235  	// these locations may be missing from `clusters`, or may only have partial
  2236  	// information returned. Values are of the form `projects//locations/`
  2237  	FailedLocations []string `json:"failedLocations,omitempty"`
  2238  	// NextPageToken: DEPRECATED: This field is unused and ignored.
  2239  	NextPageToken string `json:"nextPageToken,omitempty"`
  2240  
  2241  	// ServerResponse contains the HTTP response code and headers from the server.
  2242  	googleapi.ServerResponse `json:"-"`
  2243  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  2244  	// unconditionally include in API requests. By default, fields with empty or
  2245  	// default values are omitted from API requests. See
  2246  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2247  	// details.
  2248  	ForceSendFields []string `json:"-"`
  2249  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  2250  	// requests with the JSON null value. By default, fields with empty values are
  2251  	// omitted from API requests. See
  2252  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2253  	NullFields []string `json:"-"`
  2254  }
  2255  
  2256  func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
  2257  	type NoMethod ListClustersResponse
  2258  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2259  }
  2260  
  2261  // ListHotTabletsResponse: Response message for
  2262  // BigtableInstanceAdmin.ListHotTablets.
  2263  type ListHotTabletsResponse struct {
  2264  	// HotTablets: List of hot tablets in the tables of the requested cluster that
  2265  	// fall within the requested time range. Hot tablets are ordered by node cpu
  2266  	// usage percent. If there are multiple hot tablets that correspond to the same
  2267  	// tablet within a 15-minute interval, only the hot tablet with the highest
  2268  	// node cpu usage will be included in the response.
  2269  	HotTablets []*HotTablet `json:"hotTablets,omitempty"`
  2270  	// NextPageToken: Set if not all hot tablets could be returned in a single
  2271  	// response. Pass this value to `page_token` in another request to get the next
  2272  	// page of results.
  2273  	NextPageToken string `json:"nextPageToken,omitempty"`
  2274  
  2275  	// ServerResponse contains the HTTP response code and headers from the server.
  2276  	googleapi.ServerResponse `json:"-"`
  2277  	// ForceSendFields is a list of field names (e.g. "HotTablets") to
  2278  	// unconditionally include in API requests. By default, fields with empty or
  2279  	// default values are omitted from API requests. See
  2280  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2281  	// details.
  2282  	ForceSendFields []string `json:"-"`
  2283  	// NullFields is a list of field names (e.g. "HotTablets") to include in API
  2284  	// requests with the JSON null value. By default, fields with empty values are
  2285  	// omitted from API requests. See
  2286  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2287  	NullFields []string `json:"-"`
  2288  }
  2289  
  2290  func (s *ListHotTabletsResponse) MarshalJSON() ([]byte, error) {
  2291  	type NoMethod ListHotTabletsResponse
  2292  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2293  }
  2294  
  2295  // ListInstancesResponse: Response message for
  2296  // BigtableInstanceAdmin.ListInstances.
  2297  type ListInstancesResponse struct {
  2298  	// FailedLocations: Locations from which Instance information could not be
  2299  	// retrieved, due to an outage or some other transient condition. Instances
  2300  	// whose Clusters are all in one of the failed locations may be missing from
  2301  	// `instances`, and Instances with at least one Cluster in a failed location
  2302  	// may only have partial information returned. Values are of the form
  2303  	// `projects//locations/`
  2304  	FailedLocations []string `json:"failedLocations,omitempty"`
  2305  	// Instances: The list of requested instances.
  2306  	Instances []*Instance `json:"instances,omitempty"`
  2307  	// NextPageToken: DEPRECATED: This field is unused and ignored.
  2308  	NextPageToken string `json:"nextPageToken,omitempty"`
  2309  
  2310  	// ServerResponse contains the HTTP response code and headers from the server.
  2311  	googleapi.ServerResponse `json:"-"`
  2312  	// ForceSendFields is a list of field names (e.g. "FailedLocations") to
  2313  	// unconditionally include in API requests. By default, fields with empty or
  2314  	// default values are omitted from API requests. See
  2315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2316  	// details.
  2317  	ForceSendFields []string `json:"-"`
  2318  	// NullFields is a list of field names (e.g. "FailedLocations") to include in
  2319  	// API requests with the JSON null value. By default, fields with empty values
  2320  	// are omitted from API requests. See
  2321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2322  	NullFields []string `json:"-"`
  2323  }
  2324  
  2325  func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
  2326  	type NoMethod ListInstancesResponse
  2327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2328  }
  2329  
  2330  // ListLocationsResponse: The response message for Locations.ListLocations.
  2331  type ListLocationsResponse struct {
  2332  	// Locations: A list of locations that matches the specified filter in the
  2333  	// request.
  2334  	Locations []*Location `json:"locations,omitempty"`
  2335  	// NextPageToken: The standard List next-page token.
  2336  	NextPageToken string `json:"nextPageToken,omitempty"`
  2337  
  2338  	// ServerResponse contains the HTTP response code and headers from the server.
  2339  	googleapi.ServerResponse `json:"-"`
  2340  	// ForceSendFields is a list of field names (e.g. "Locations") to
  2341  	// unconditionally include in API requests. By default, fields with empty or
  2342  	// default values are omitted from API requests. See
  2343  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2344  	// details.
  2345  	ForceSendFields []string `json:"-"`
  2346  	// NullFields is a list of field names (e.g. "Locations") to include in API
  2347  	// requests with the JSON null value. By default, fields with empty values are
  2348  	// omitted from API requests. See
  2349  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2350  	NullFields []string `json:"-"`
  2351  }
  2352  
  2353  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  2354  	type NoMethod ListLocationsResponse
  2355  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2356  }
  2357  
  2358  // ListOperationsResponse: The response message for Operations.ListOperations.
  2359  type ListOperationsResponse struct {
  2360  	// NextPageToken: The standard List next-page token.
  2361  	NextPageToken string `json:"nextPageToken,omitempty"`
  2362  	// Operations: A list of operations that matches the specified filter in the
  2363  	// request.
  2364  	Operations []*Operation `json:"operations,omitempty"`
  2365  
  2366  	// ServerResponse contains the HTTP response code and headers from the server.
  2367  	googleapi.ServerResponse `json:"-"`
  2368  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2369  	// unconditionally include in API requests. By default, fields with empty or
  2370  	// default values are omitted from API requests. See
  2371  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2372  	// details.
  2373  	ForceSendFields []string `json:"-"`
  2374  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2375  	// requests with the JSON null value. By default, fields with empty values are
  2376  	// omitted from API requests. See
  2377  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2378  	NullFields []string `json:"-"`
  2379  }
  2380  
  2381  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  2382  	type NoMethod ListOperationsResponse
  2383  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2384  }
  2385  
  2386  // ListTablesResponse: Response message for
  2387  // google.bigtable.admin.v2.BigtableTableAdmin.ListTables
  2388  type ListTablesResponse struct {
  2389  	// NextPageToken: Set if not all tables could be returned in a single response.
  2390  	// Pass this value to `page_token` in another request to get the next page of
  2391  	// results.
  2392  	NextPageToken string `json:"nextPageToken,omitempty"`
  2393  	// Tables: The tables present in the requested instance.
  2394  	Tables []*Table `json:"tables,omitempty"`
  2395  
  2396  	// ServerResponse contains the HTTP response code and headers from the server.
  2397  	googleapi.ServerResponse `json:"-"`
  2398  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2399  	// unconditionally include in API requests. By default, fields with empty or
  2400  	// default values are omitted from API requests. See
  2401  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2402  	// details.
  2403  	ForceSendFields []string `json:"-"`
  2404  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2405  	// requests with the JSON null value. By default, fields with empty values are
  2406  	// omitted from API requests. See
  2407  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2408  	NullFields []string `json:"-"`
  2409  }
  2410  
  2411  func (s *ListTablesResponse) MarshalJSON() ([]byte, error) {
  2412  	type NoMethod ListTablesResponse
  2413  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2414  }
  2415  
  2416  // Location: A resource that represents a Google Cloud location.
  2417  type Location struct {
  2418  	// DisplayName: The friendly name for this location, typically a nearby city
  2419  	// name. For example, "Tokyo".
  2420  	DisplayName string `json:"displayName,omitempty"`
  2421  	// Labels: Cross-service attributes for the location. For example
  2422  	// {"cloud.googleapis.com/region": "us-east1"}
  2423  	Labels map[string]string `json:"labels,omitempty"`
  2424  	// LocationId: The canonical id for this location. For example: "us-east1".
  2425  	LocationId string `json:"locationId,omitempty"`
  2426  	// Metadata: Service-specific metadata. For example the available capacity at
  2427  	// the given location.
  2428  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2429  	// Name: Resource name for the location, which may vary between
  2430  	// implementations. For example:
  2431  	// "projects/example-project/locations/us-east1"
  2432  	Name string `json:"name,omitempty"`
  2433  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2434  	// unconditionally include in API requests. By default, fields with empty or
  2435  	// default values are omitted from API requests. See
  2436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2437  	// details.
  2438  	ForceSendFields []string `json:"-"`
  2439  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2440  	// requests with the JSON null value. By default, fields with empty values are
  2441  	// omitted from API requests. See
  2442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2443  	NullFields []string `json:"-"`
  2444  }
  2445  
  2446  func (s *Location) MarshalJSON() ([]byte, error) {
  2447  	type NoMethod Location
  2448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2449  }
  2450  
  2451  // Modification: A create, update, or delete of a particular column family.
  2452  type Modification struct {
  2453  	// Create: Create a new column family with the specified schema, or fail if one
  2454  	// already exists with the given ID.
  2455  	Create *ColumnFamily `json:"create,omitempty"`
  2456  	// Drop: Drop (delete) the column family with the given ID, or fail if no such
  2457  	// family exists.
  2458  	Drop bool `json:"drop,omitempty"`
  2459  	// Id: The ID of the column family to be modified.
  2460  	Id string `json:"id,omitempty"`
  2461  	// Update: Update an existing column family to the specified schema, or fail if
  2462  	// no column family exists with the given ID.
  2463  	Update *ColumnFamily `json:"update,omitempty"`
  2464  	// UpdateMask: Optional. A mask specifying which fields (e.g. `gc_rule`) in the
  2465  	// `update` mod should be updated, ignored for other modification types. If
  2466  	// unset or empty, we treat it as updating `gc_rule` to be backward compatible.
  2467  	UpdateMask string `json:"updateMask,omitempty"`
  2468  	// ForceSendFields is a list of field names (e.g. "Create") to unconditionally
  2469  	// include in API requests. By default, fields with empty or default values are
  2470  	// omitted from API requests. See
  2471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2472  	// details.
  2473  	ForceSendFields []string `json:"-"`
  2474  	// NullFields is a list of field names (e.g. "Create") to include in API
  2475  	// requests with the JSON null value. By default, fields with empty values are
  2476  	// omitted from API requests. See
  2477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2478  	NullFields []string `json:"-"`
  2479  }
  2480  
  2481  func (s *Modification) MarshalJSON() ([]byte, error) {
  2482  	type NoMethod Modification
  2483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2484  }
  2485  
  2486  // ModifyColumnFamiliesRequest: Request message for
  2487  // google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies
  2488  type ModifyColumnFamiliesRequest struct {
  2489  	// IgnoreWarnings: Optional. If true, ignore safety checks when modifying the
  2490  	// column families.
  2491  	IgnoreWarnings bool `json:"ignoreWarnings,omitempty"`
  2492  	// Modifications: Required. Modifications to be atomically applied to the
  2493  	// specified table's families. Entries are applied in order, meaning that
  2494  	// earlier modifications can be masked by later ones (in the case of repeated
  2495  	// updates to the same family, for example).
  2496  	Modifications []*Modification `json:"modifications,omitempty"`
  2497  	// ForceSendFields is a list of field names (e.g. "IgnoreWarnings") to
  2498  	// unconditionally include in API requests. By default, fields with empty or
  2499  	// default values are omitted from API requests. See
  2500  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2501  	// details.
  2502  	ForceSendFields []string `json:"-"`
  2503  	// NullFields is a list of field names (e.g. "IgnoreWarnings") to include in
  2504  	// API requests with the JSON null value. By default, fields with empty values
  2505  	// are omitted from API requests. See
  2506  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2507  	NullFields []string `json:"-"`
  2508  }
  2509  
  2510  func (s *ModifyColumnFamiliesRequest) MarshalJSON() ([]byte, error) {
  2511  	type NoMethod ModifyColumnFamiliesRequest
  2512  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2513  }
  2514  
  2515  // MultiClusterRoutingUseAny: Read/write requests are routed to the nearest
  2516  // cluster in the instance, and will fail over to the nearest cluster that is
  2517  // available in the event of transient errors or delays. Clusters in a region
  2518  // are considered equidistant. Choosing this option sacrifices read-your-writes
  2519  // consistency to improve availability.
  2520  type MultiClusterRoutingUseAny struct {
  2521  	// ClusterIds: The set of clusters to route to. The order is ignored; clusters
  2522  	// will be tried in order of distance. If left empty, all clusters are
  2523  	// eligible.
  2524  	ClusterIds []string `json:"clusterIds,omitempty"`
  2525  	// ForceSendFields is a list of field names (e.g. "ClusterIds") to
  2526  	// unconditionally include in API requests. By default, fields with empty or
  2527  	// default values are omitted from API requests. See
  2528  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2529  	// details.
  2530  	ForceSendFields []string `json:"-"`
  2531  	// NullFields is a list of field names (e.g. "ClusterIds") to include in API
  2532  	// requests with the JSON null value. By default, fields with empty values are
  2533  	// omitted from API requests. See
  2534  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2535  	NullFields []string `json:"-"`
  2536  }
  2537  
  2538  func (s *MultiClusterRoutingUseAny) MarshalJSON() ([]byte, error) {
  2539  	type NoMethod MultiClusterRoutingUseAny
  2540  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2541  }
  2542  
  2543  // Operation: This resource represents a long-running operation that is the
  2544  // result of a network API call.
  2545  type Operation struct {
  2546  	// Done: If the value is `false`, it means the operation is still in progress.
  2547  	// If `true`, the operation is completed, and either `error` or `response` is
  2548  	// available.
  2549  	Done bool `json:"done,omitempty"`
  2550  	// Error: The error result of the operation in case of failure or cancellation.
  2551  	Error *Status `json:"error,omitempty"`
  2552  	// Metadata: Service-specific metadata associated with the operation. It
  2553  	// typically contains progress information and common metadata such as create
  2554  	// time. Some services might not provide such metadata. Any method that returns
  2555  	// a long-running operation should document the metadata type, if any.
  2556  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2557  	// Name: The server-assigned name, which is only unique within the same service
  2558  	// that originally returns it. If you use the default HTTP mapping, the `name`
  2559  	// should be a resource name ending with `operations/{unique_id}`.
  2560  	Name string `json:"name,omitempty"`
  2561  	// Response: The normal, successful response of the operation. If the original
  2562  	// method returns no data on success, such as `Delete`, the response is
  2563  	// `google.protobuf.Empty`. If the original method is standard
  2564  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  2565  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  2566  	// original method name. For example, if the original method name is
  2567  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  2568  	Response googleapi.RawMessage `json:"response,omitempty"`
  2569  
  2570  	// ServerResponse contains the HTTP response code and headers from the server.
  2571  	googleapi.ServerResponse `json:"-"`
  2572  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  2573  	// include in API requests. By default, fields with empty or default values are
  2574  	// omitted from API requests. See
  2575  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2576  	// details.
  2577  	ForceSendFields []string `json:"-"`
  2578  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  2579  	// with the JSON null value. By default, fields with empty values are omitted
  2580  	// from API requests. See
  2581  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2582  	NullFields []string `json:"-"`
  2583  }
  2584  
  2585  func (s *Operation) MarshalJSON() ([]byte, error) {
  2586  	type NoMethod Operation
  2587  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2588  }
  2589  
  2590  // OperationProgress: Encapsulates progress related information for a Cloud
  2591  // Bigtable long running operation.
  2592  type OperationProgress struct {
  2593  	// EndTime: If set, the time at which this operation failed or was completed
  2594  	// successfully.
  2595  	EndTime string `json:"endTime,omitempty"`
  2596  	// ProgressPercent: Percent completion of the operation. Values are between 0
  2597  	// and 100 inclusive.
  2598  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  2599  	// StartTime: Time the request was received.
  2600  	StartTime string `json:"startTime,omitempty"`
  2601  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  2602  	// include in API requests. By default, fields with empty or default values are
  2603  	// omitted from API requests. See
  2604  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2605  	// details.
  2606  	ForceSendFields []string `json:"-"`
  2607  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  2608  	// requests with the JSON null value. By default, fields with empty values are
  2609  	// omitted from API requests. See
  2610  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2611  	NullFields []string `json:"-"`
  2612  }
  2613  
  2614  func (s *OperationProgress) MarshalJSON() ([]byte, error) {
  2615  	type NoMethod OperationProgress
  2616  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2617  }
  2618  
  2619  // OptimizeRestoredTableMetadata: Metadata type for the long-running operation
  2620  // used to track the progress of optimizations performed on a newly restored
  2621  // table. This long-running operation is automatically created by the system
  2622  // after the successful completion of a table restore, and cannot be cancelled.
  2623  type OptimizeRestoredTableMetadata struct {
  2624  	// Name: Name of the restored table being optimized.
  2625  	Name string `json:"name,omitempty"`
  2626  	// Progress: The progress of the post-restore optimizations.
  2627  	Progress *OperationProgress `json:"progress,omitempty"`
  2628  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2629  	// include in API requests. By default, fields with empty or default values are
  2630  	// omitted from API requests. See
  2631  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2632  	// details.
  2633  	ForceSendFields []string `json:"-"`
  2634  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2635  	// with the JSON null value. By default, fields with empty values are omitted
  2636  	// from API requests. See
  2637  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2638  	NullFields []string `json:"-"`
  2639  }
  2640  
  2641  func (s *OptimizeRestoredTableMetadata) MarshalJSON() ([]byte, error) {
  2642  	type NoMethod OptimizeRestoredTableMetadata
  2643  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2644  }
  2645  
  2646  // PartialUpdateClusterMetadata: The metadata for the Operation returned by
  2647  // PartialUpdateCluster.
  2648  type PartialUpdateClusterMetadata struct {
  2649  	// FinishTime: The time at which the operation failed or was completed
  2650  	// successfully.
  2651  	FinishTime string `json:"finishTime,omitempty"`
  2652  	// OriginalRequest: The original request for PartialUpdateCluster.
  2653  	OriginalRequest *PartialUpdateClusterRequest `json:"originalRequest,omitempty"`
  2654  	// RequestTime: The time at which the original request was received.
  2655  	RequestTime string `json:"requestTime,omitempty"`
  2656  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  2657  	// unconditionally include in API requests. By default, fields with empty or
  2658  	// default values are omitted from API requests. See
  2659  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2660  	// details.
  2661  	ForceSendFields []string `json:"-"`
  2662  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  2663  	// requests with the JSON null value. By default, fields with empty values are
  2664  	// omitted from API requests. See
  2665  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2666  	NullFields []string `json:"-"`
  2667  }
  2668  
  2669  func (s *PartialUpdateClusterMetadata) MarshalJSON() ([]byte, error) {
  2670  	type NoMethod PartialUpdateClusterMetadata
  2671  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2672  }
  2673  
  2674  // PartialUpdateClusterRequest: Request message for
  2675  // BigtableInstanceAdmin.PartialUpdateCluster.
  2676  type PartialUpdateClusterRequest struct {
  2677  	// Cluster: Required. The Cluster which contains the partial updates to be
  2678  	// applied, subject to the update_mask.
  2679  	Cluster *Cluster `json:"cluster,omitempty"`
  2680  	// UpdateMask: Required. The subset of Cluster fields which should be replaced.
  2681  	UpdateMask string `json:"updateMask,omitempty"`
  2682  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  2683  	// include in API requests. By default, fields with empty or default values are
  2684  	// omitted from API requests. See
  2685  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2686  	// details.
  2687  	ForceSendFields []string `json:"-"`
  2688  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  2689  	// requests with the JSON null value. By default, fields with empty values are
  2690  	// omitted from API requests. See
  2691  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2692  	NullFields []string `json:"-"`
  2693  }
  2694  
  2695  func (s *PartialUpdateClusterRequest) MarshalJSON() ([]byte, error) {
  2696  	type NoMethod PartialUpdateClusterRequest
  2697  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2698  }
  2699  
  2700  // PartialUpdateInstanceRequest: Request message for
  2701  // BigtableInstanceAdmin.PartialUpdateInstance.
  2702  type PartialUpdateInstanceRequest struct {
  2703  	// Instance: Required. The Instance which will (partially) replace the current
  2704  	// value.
  2705  	Instance *Instance `json:"instance,omitempty"`
  2706  	// UpdateMask: Required. The subset of Instance fields which should be
  2707  	// replaced. Must be explicitly set.
  2708  	UpdateMask string `json:"updateMask,omitempty"`
  2709  	// ForceSendFields is a list of field names (e.g. "Instance") to
  2710  	// unconditionally include in API requests. By default, fields with empty or
  2711  	// default values are omitted from API requests. See
  2712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2713  	// details.
  2714  	ForceSendFields []string `json:"-"`
  2715  	// NullFields is a list of field names (e.g. "Instance") to include in API
  2716  	// requests with the JSON null value. By default, fields with empty values are
  2717  	// omitted from API requests. See
  2718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2719  	NullFields []string `json:"-"`
  2720  }
  2721  
  2722  func (s *PartialUpdateInstanceRequest) MarshalJSON() ([]byte, error) {
  2723  	type NoMethod PartialUpdateInstanceRequest
  2724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2725  }
  2726  
  2727  // Policy: An Identity and Access Management (IAM) policy, which specifies
  2728  // access controls for Google Cloud resources. A `Policy` is a collection of
  2729  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  2730  // single `role`. Principals can be user accounts, service accounts, Google
  2731  // groups, and domains (such as G Suite). A `role` is a named list of
  2732  // permissions; each `role` can be an IAM predefined role or a user-created
  2733  // custom role. For some types of Google Cloud resources, a `binding` can also
  2734  // specify a `condition`, which is a logical expression that allows access to a
  2735  // resource only if the expression evaluates to `true`. A condition can add
  2736  // constraints based on attributes of the request, the resource, or both. To
  2737  // learn which resources support conditions in their IAM policies, see the IAM
  2738  // documentation
  2739  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  2740  // example:** ``` { "bindings": [ { "role":
  2741  // "roles/resourcemanager.organizationAdmin", "members": [
  2742  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  2743  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  2744  // "roles/resourcemanager.organizationViewer", "members": [
  2745  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  2746  // "description": "Does not grant access after Sep 2020", "expression":
  2747  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  2748  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  2749  // members: - user:mike@example.com - group:admins@example.com -
  2750  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  2751  // role: roles/resourcemanager.organizationAdmin - members: -
  2752  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  2753  // condition: title: expirable access description: Does not grant access after
  2754  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  2755  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  2756  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  2757  type Policy struct {
  2758  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  2759  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  2760  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  2761  	// Optionally, may specify a `condition` that determines how and when the
  2762  	// `bindings` are applied. Each of the `bindings` must contain at least one
  2763  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  2764  	// up to 250 of these principals can be Google groups. Each occurrence of a
  2765  	// principal counts towards these limits. For example, if the `bindings` grant
  2766  	// 50 different roles to `user:alice@example.com`, and not to any other
  2767  	// principal, then you can add another 1,450 principals to the `bindings` in
  2768  	// the `Policy`.
  2769  	Bindings []*Binding `json:"bindings,omitempty"`
  2770  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  2771  	// prevent simultaneous updates of a policy from overwriting each other. It is
  2772  	// strongly suggested that systems make use of the `etag` in the
  2773  	// read-modify-write cycle to perform policy updates in order to avoid race
  2774  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  2775  	// systems are expected to put that etag in the request to `setIamPolicy` to
  2776  	// ensure that their change will be applied to the same version of the policy.
  2777  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  2778  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  2779  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  2780  	// the conditions in the version `3` policy are lost.
  2781  	Etag string `json:"etag,omitempty"`
  2782  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  2783  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  2784  	// affects conditional role bindings must specify version `3`. This requirement
  2785  	// applies to the following operations: * Getting a policy that includes a
  2786  	// conditional role binding * Adding a conditional role binding to a policy *
  2787  	// Changing a conditional role binding in a policy * Removing any role binding,
  2788  	// with or without a condition, from a policy that includes conditions
  2789  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  2790  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  2791  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  2792  	// the conditions in the version `3` policy are lost. If a policy does not
  2793  	// include any conditions, operations on that policy may specify any valid
  2794  	// version or leave the field unset. To learn which resources support
  2795  	// conditions in their IAM policies, see the IAM documentation
  2796  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  2797  	Version int64 `json:"version,omitempty"`
  2798  
  2799  	// ServerResponse contains the HTTP response code and headers from the server.
  2800  	googleapi.ServerResponse `json:"-"`
  2801  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  2802  	// unconditionally include in API requests. By default, fields with empty or
  2803  	// default values are omitted from API requests. See
  2804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2805  	// details.
  2806  	ForceSendFields []string `json:"-"`
  2807  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  2808  	// requests with the JSON null value. By default, fields with empty values are
  2809  	// omitted from API requests. See
  2810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2811  	NullFields []string `json:"-"`
  2812  }
  2813  
  2814  func (s *Policy) MarshalJSON() ([]byte, error) {
  2815  	type NoMethod Policy
  2816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2817  }
  2818  
  2819  // RestoreInfo: Information about a table restore.
  2820  type RestoreInfo struct {
  2821  	// BackupInfo: Information about the backup used to restore the table. The
  2822  	// backup may no longer exist.
  2823  	BackupInfo *BackupInfo `json:"backupInfo,omitempty"`
  2824  	// SourceType: The type of the restore source.
  2825  	//
  2826  	// Possible values:
  2827  	//   "RESTORE_SOURCE_TYPE_UNSPECIFIED" - No restore associated.
  2828  	//   "BACKUP" - A backup was used as the source of the restore.
  2829  	SourceType string `json:"sourceType,omitempty"`
  2830  	// ForceSendFields is a list of field names (e.g. "BackupInfo") to
  2831  	// unconditionally include in API requests. By default, fields with empty or
  2832  	// default values are omitted from API requests. See
  2833  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2834  	// details.
  2835  	ForceSendFields []string `json:"-"`
  2836  	// NullFields is a list of field names (e.g. "BackupInfo") to include in API
  2837  	// requests with the JSON null value. By default, fields with empty values are
  2838  	// omitted from API requests. See
  2839  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2840  	NullFields []string `json:"-"`
  2841  }
  2842  
  2843  func (s *RestoreInfo) MarshalJSON() ([]byte, error) {
  2844  	type NoMethod RestoreInfo
  2845  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2846  }
  2847  
  2848  // RestoreTableMetadata: Metadata type for the long-running operation returned
  2849  // by RestoreTable.
  2850  type RestoreTableMetadata struct {
  2851  	BackupInfo *BackupInfo `json:"backupInfo,omitempty"`
  2852  	// Name: Name of the table being created and restored to.
  2853  	Name string `json:"name,omitempty"`
  2854  	// OptimizeTableOperationName: If exists, the name of the long-running
  2855  	// operation that will be used to track the post-restore optimization process
  2856  	// to optimize the performance of the restored table. The metadata type of the
  2857  	// long-running operation is OptimizeRestoreTableMetadata. The response type is
  2858  	// Empty. This long-running operation may be automatically created by the
  2859  	// system if applicable after the RestoreTable long-running operation completes
  2860  	// successfully. This operation may not be created if the table is already
  2861  	// optimized or the restore was not successful.
  2862  	OptimizeTableOperationName string `json:"optimizeTableOperationName,omitempty"`
  2863  	// Progress: The progress of the RestoreTable operation.
  2864  	Progress *OperationProgress `json:"progress,omitempty"`
  2865  	// SourceType: The type of the restore source.
  2866  	//
  2867  	// Possible values:
  2868  	//   "RESTORE_SOURCE_TYPE_UNSPECIFIED" - No restore associated.
  2869  	//   "BACKUP" - A backup was used as the source of the restore.
  2870  	SourceType string `json:"sourceType,omitempty"`
  2871  	// ForceSendFields is a list of field names (e.g. "BackupInfo") to
  2872  	// unconditionally include in API requests. By default, fields with empty or
  2873  	// default values are omitted from API requests. See
  2874  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2875  	// details.
  2876  	ForceSendFields []string `json:"-"`
  2877  	// NullFields is a list of field names (e.g. "BackupInfo") to include in API
  2878  	// requests with the JSON null value. By default, fields with empty values are
  2879  	// omitted from API requests. See
  2880  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2881  	NullFields []string `json:"-"`
  2882  }
  2883  
  2884  func (s *RestoreTableMetadata) MarshalJSON() ([]byte, error) {
  2885  	type NoMethod RestoreTableMetadata
  2886  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2887  }
  2888  
  2889  // RestoreTableRequest: The request for RestoreTable.
  2890  type RestoreTableRequest struct {
  2891  	// Backup: Name of the backup from which to restore. Values are of the form
  2892  	// `projects//instances//clusters//backups/`.
  2893  	Backup string `json:"backup,omitempty"`
  2894  	// TableId: Required. The id of the table to create and restore to. This table
  2895  	// must not already exist. The `table_id` appended to `parent` forms the full
  2896  	// table name of the form `projects//instances//tables/`.
  2897  	TableId string `json:"tableId,omitempty"`
  2898  	// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
  2899  	// include in API requests. By default, fields with empty or default values are
  2900  	// omitted from API requests. See
  2901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2902  	// details.
  2903  	ForceSendFields []string `json:"-"`
  2904  	// NullFields is a list of field names (e.g. "Backup") to include in API
  2905  	// requests with the JSON null value. By default, fields with empty values are
  2906  	// omitted from API requests. See
  2907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2908  	NullFields []string `json:"-"`
  2909  }
  2910  
  2911  func (s *RestoreTableRequest) MarshalJSON() ([]byte, error) {
  2912  	type NoMethod RestoreTableRequest
  2913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2914  }
  2915  
  2916  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  2917  type SetIamPolicyRequest struct {
  2918  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  2919  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  2920  	// policy but certain Google Cloud services (such as Projects) might reject
  2921  	// them.
  2922  	Policy *Policy `json:"policy,omitempty"`
  2923  	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
  2924  	// modify. Only the fields in the mask will be modified. If no mask is
  2925  	// provided, the following default mask is used: `paths: "bindings, etag"
  2926  	UpdateMask string `json:"updateMask,omitempty"`
  2927  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  2928  	// include in API requests. By default, fields with empty or default values are
  2929  	// omitted from API requests. See
  2930  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2931  	// details.
  2932  	ForceSendFields []string `json:"-"`
  2933  	// NullFields is a list of field names (e.g. "Policy") to include in API
  2934  	// requests with the JSON null value. By default, fields with empty values are
  2935  	// omitted from API requests. See
  2936  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2937  	NullFields []string `json:"-"`
  2938  }
  2939  
  2940  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  2941  	type NoMethod SetIamPolicyRequest
  2942  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2943  }
  2944  
  2945  // SingleClusterRouting: Unconditionally routes all read/write requests to a
  2946  // specific cluster. This option preserves read-your-writes consistency but
  2947  // does not improve availability.
  2948  type SingleClusterRouting struct {
  2949  	// AllowTransactionalWrites: Whether or not `CheckAndMutateRow` and
  2950  	// `ReadModifyWriteRow` requests are allowed by this app profile. It is unsafe
  2951  	// to send these requests to the same table/row/column in multiple clusters.
  2952  	AllowTransactionalWrites bool `json:"allowTransactionalWrites,omitempty"`
  2953  	// ClusterId: The cluster to which read/write requests should be routed.
  2954  	ClusterId string `json:"clusterId,omitempty"`
  2955  	// ForceSendFields is a list of field names (e.g. "AllowTransactionalWrites")
  2956  	// to unconditionally include in API requests. By default, fields with empty or
  2957  	// default values are omitted from API requests. See
  2958  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2959  	// details.
  2960  	ForceSendFields []string `json:"-"`
  2961  	// NullFields is a list of field names (e.g. "AllowTransactionalWrites") to
  2962  	// include in API requests with the JSON null value. By default, fields with
  2963  	// empty values are omitted from API requests. See
  2964  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2965  	NullFields []string `json:"-"`
  2966  }
  2967  
  2968  func (s *SingleClusterRouting) MarshalJSON() ([]byte, error) {
  2969  	type NoMethod SingleClusterRouting
  2970  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2971  }
  2972  
  2973  // Split: An initial split point for a newly created table.
  2974  type Split struct {
  2975  	// Key: Row key to use as an initial tablet boundary.
  2976  	Key string `json:"key,omitempty"`
  2977  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2978  	// include in API requests. By default, fields with empty or default values are
  2979  	// omitted from API requests. See
  2980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2981  	// details.
  2982  	ForceSendFields []string `json:"-"`
  2983  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2984  	// with the JSON null value. By default, fields with empty values are omitted
  2985  	// from API requests. See
  2986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2987  	NullFields []string `json:"-"`
  2988  }
  2989  
  2990  func (s *Split) MarshalJSON() ([]byte, error) {
  2991  	type NoMethod Split
  2992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2993  }
  2994  
  2995  // StandardIsolation: Standard options for isolating this app profile's traffic
  2996  // from other use cases.
  2997  type StandardIsolation struct {
  2998  	// Priority: The priority of requests sent using this app profile.
  2999  	//
  3000  	// Possible values:
  3001  	//   "PRIORITY_UNSPECIFIED" - Default value. Mapped to PRIORITY_HIGH (the
  3002  	// legacy behavior) on creation.
  3003  	//   "PRIORITY_LOW"
  3004  	//   "PRIORITY_MEDIUM"
  3005  	//   "PRIORITY_HIGH"
  3006  	Priority string `json:"priority,omitempty"`
  3007  	// ForceSendFields is a list of field names (e.g. "Priority") to
  3008  	// unconditionally include in API requests. By default, fields with empty or
  3009  	// default values are omitted from API requests. See
  3010  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3011  	// details.
  3012  	ForceSendFields []string `json:"-"`
  3013  	// NullFields is a list of field names (e.g. "Priority") to include in API
  3014  	// requests with the JSON null value. By default, fields with empty values are
  3015  	// omitted from API requests. See
  3016  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3017  	NullFields []string `json:"-"`
  3018  }
  3019  
  3020  func (s *StandardIsolation) MarshalJSON() ([]byte, error) {
  3021  	type NoMethod StandardIsolation
  3022  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3023  }
  3024  
  3025  // StandardReadRemoteWrites: Checks that all writes before the consistency
  3026  // token was generated are replicated in every cluster and readable.
  3027  type StandardReadRemoteWrites struct {
  3028  }
  3029  
  3030  // Status: The `Status` type defines a logical error model that is suitable for
  3031  // different programming environments, including REST APIs and RPC APIs. It is
  3032  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  3033  // pieces of data: error code, error message, and error details. You can find
  3034  // out more about this error model and how to work with it in the API Design
  3035  // Guide (https://cloud.google.com/apis/design/errors).
  3036  type Status struct {
  3037  	// Code: The status code, which should be an enum value of google.rpc.Code.
  3038  	Code int64 `json:"code,omitempty"`
  3039  	// Details: A list of messages that carry the error details. There is a common
  3040  	// set of message types for APIs to use.
  3041  	Details []googleapi.RawMessage `json:"details,omitempty"`
  3042  	// Message: A developer-facing error message, which should be in English. Any
  3043  	// user-facing error message should be localized and sent in the
  3044  	// google.rpc.Status.details field, or localized by the client.
  3045  	Message string `json:"message,omitempty"`
  3046  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3047  	// include in API requests. By default, fields with empty or default values are
  3048  	// omitted from API requests. See
  3049  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3050  	// details.
  3051  	ForceSendFields []string `json:"-"`
  3052  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3053  	// with the JSON null value. By default, fields with empty values are omitted
  3054  	// from API requests. See
  3055  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3056  	NullFields []string `json:"-"`
  3057  }
  3058  
  3059  func (s *Status) MarshalJSON() ([]byte, error) {
  3060  	type NoMethod Status
  3061  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3062  }
  3063  
  3064  // Table: A collection of user data indexed by row, column, and timestamp. Each
  3065  // table is served using the resources of its parent cluster.
  3066  type Table struct {
  3067  	// AutomatedBackupPolicy: If specified, automated backups are enabled for this
  3068  	// table. Otherwise, automated backups are disabled.
  3069  	AutomatedBackupPolicy *AutomatedBackupPolicy `json:"automatedBackupPolicy,omitempty"`
  3070  	// ChangeStreamConfig: If specified, enable the change stream on this table.
  3071  	// Otherwise, the change stream is disabled and the change stream is not
  3072  	// retained.
  3073  	ChangeStreamConfig *ChangeStreamConfig `json:"changeStreamConfig,omitempty"`
  3074  	// ClusterStates: Output only. Map from cluster ID to per-cluster table state.
  3075  	// If it could not be determined whether or not the table has data in a
  3076  	// particular cluster (for example, if its zone is unavailable), then there
  3077  	// will be an entry for the cluster with UNKNOWN `replication_status`. Views:
  3078  	// `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`
  3079  	ClusterStates map[string]ClusterState `json:"clusterStates,omitempty"`
  3080  	// ColumnFamilies: The column families configured for this table, mapped by
  3081  	// column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`
  3082  	ColumnFamilies map[string]ColumnFamily `json:"columnFamilies,omitempty"`
  3083  	// DeletionProtection: Set to true to make the table protected against data
  3084  	// loss. i.e. deleting the following resources through Admin APIs are
  3085  	// prohibited: * The table. * The column families in the table. * The instance
  3086  	// containing the table. Note one can still delete the data stored in the table
  3087  	// through Data APIs.
  3088  	DeletionProtection bool `json:"deletionProtection,omitempty"`
  3089  	// Granularity: Immutable. The granularity (i.e. `MILLIS`) at which timestamps
  3090  	// are stored in this table. Timestamps not matching the granularity will be
  3091  	// rejected. If unspecified at creation time, the value will be set to
  3092  	// `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`.
  3093  	//
  3094  	// Possible values:
  3095  	//   "TIMESTAMP_GRANULARITY_UNSPECIFIED" - The user did not specify a
  3096  	// granularity. Should not be returned. When specified during table creation,
  3097  	// MILLIS will be used.
  3098  	//   "MILLIS" - The table keeps data versioned at a granularity of 1ms.
  3099  	Granularity string `json:"granularity,omitempty"`
  3100  	// Name: The unique name of the table. Values are of the form
  3101  	// `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views:
  3102  	// `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`
  3103  	Name string `json:"name,omitempty"`
  3104  	// RestoreInfo: Output only. If this table was restored from another data
  3105  	// source (e.g. a backup), this field will be populated with information about
  3106  	// the restore.
  3107  	RestoreInfo *RestoreInfo `json:"restoreInfo,omitempty"`
  3108  	// Stats: Output only. Only available with STATS_VIEW, this includes summary
  3109  	// statistics about the entire table contents. For statistics about a specific
  3110  	// column family, see ColumnFamilyStats in the mapped ColumnFamily collection
  3111  	// above.
  3112  	Stats *TableStats `json:"stats,omitempty"`
  3113  
  3114  	// ServerResponse contains the HTTP response code and headers from the server.
  3115  	googleapi.ServerResponse `json:"-"`
  3116  	// ForceSendFields is a list of field names (e.g. "AutomatedBackupPolicy") to
  3117  	// unconditionally include in API requests. By default, fields with empty or
  3118  	// default values are omitted from API requests. See
  3119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3120  	// details.
  3121  	ForceSendFields []string `json:"-"`
  3122  	// NullFields is a list of field names (e.g. "AutomatedBackupPolicy") to
  3123  	// include in API requests with the JSON null value. By default, fields with
  3124  	// empty values are omitted from API requests. See
  3125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3126  	NullFields []string `json:"-"`
  3127  }
  3128  
  3129  func (s *Table) MarshalJSON() ([]byte, error) {
  3130  	type NoMethod Table
  3131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3132  }
  3133  
  3134  // TableProgress: Progress info for copying a table's data to the new cluster.
  3135  type TableProgress struct {
  3136  	// EstimatedCopiedBytes: Estimate of the number of bytes copied so far for this
  3137  	// table. This will eventually reach 'estimated_size_bytes' unless the table
  3138  	// copy is CANCELLED.
  3139  	EstimatedCopiedBytes int64 `json:"estimatedCopiedBytes,omitempty,string"`
  3140  	// EstimatedSizeBytes: Estimate of the size of the table to be copied.
  3141  	EstimatedSizeBytes int64 `json:"estimatedSizeBytes,omitempty,string"`
  3142  	// Possible values:
  3143  	//   "STATE_UNSPECIFIED"
  3144  	//   "PENDING" - The table has not yet begun copying to the new cluster.
  3145  	//   "COPYING" - The table is actively being copied to the new cluster.
  3146  	//   "COMPLETED" - The table has been fully copied to the new cluster.
  3147  	//   "CANCELLED" - The table was deleted before it finished copying to the new
  3148  	// cluster. Note that tables deleted after completion will stay marked as
  3149  	// COMPLETED, not CANCELLED.
  3150  	State string `json:"state,omitempty"`
  3151  	// ForceSendFields is a list of field names (e.g. "EstimatedCopiedBytes") to
  3152  	// unconditionally include in API requests. By default, fields with empty or
  3153  	// default values are omitted from API requests. See
  3154  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3155  	// details.
  3156  	ForceSendFields []string `json:"-"`
  3157  	// NullFields is a list of field names (e.g. "EstimatedCopiedBytes") to include
  3158  	// in API requests with the JSON null value. By default, fields with empty
  3159  	// values are omitted from API requests. See
  3160  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3161  	NullFields []string `json:"-"`
  3162  }
  3163  
  3164  func (s *TableProgress) MarshalJSON() ([]byte, error) {
  3165  	type NoMethod TableProgress
  3166  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3167  }
  3168  
  3169  // TableStats: Approximate statistics related to a table. These statistics are
  3170  // calculated infrequently, while simultaneously, data in the table can change
  3171  // rapidly. Thus the values reported here (e.g. row count) are very likely
  3172  // out-of date, even the instant they are received in this API. Thus, only
  3173  // treat these values as approximate. IMPORTANT: Everything below is
  3174  // approximate, unless otherwise specified.
  3175  type TableStats struct {
  3176  	// AverageCellsPerColumn: How many cells are present per column (column family,
  3177  	// column qualifier) combinations, averaged over all columns in all rows in the
  3178  	// table. e.g. A table with 2 rows: * A row with 3 cells in "family:col" and 1
  3179  	// cell in "other:col" (4 cells / 2 columns) * A row with 1 cell in
  3180  	// "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (15
  3181  	// cells / 3 columns) would report (4 + 15)/(2 + 3) = 3.8 in this field.
  3182  	AverageCellsPerColumn float64 `json:"averageCellsPerColumn,omitempty"`
  3183  	// AverageColumnsPerRow: How many (column family, column qualifier)
  3184  	// combinations are present per row in the table, averaged over all rows in the
  3185  	// table. e.g. A table with 2 rows: * A row with cells in "family:col" and
  3186  	// "other:col" (2 distinct columns) * A row with cells in "family:col",
  3187  	// "family:other_col", and "other:data" (3 distinct columns) would report (2 +
  3188  	// 3)/2 = 2.5 in this field.
  3189  	AverageColumnsPerRow float64 `json:"averageColumnsPerRow,omitempty"`
  3190  	// LogicalDataBytes: This is roughly how many bytes would be needed to read the
  3191  	// entire table (e.g. by streaming all contents out).
  3192  	LogicalDataBytes int64 `json:"logicalDataBytes,omitempty,string"`
  3193  	// RowCount: How many rows are in the table.
  3194  	RowCount int64 `json:"rowCount,omitempty,string"`
  3195  	// ForceSendFields is a list of field names (e.g. "AverageCellsPerColumn") to
  3196  	// unconditionally include in API requests. By default, fields with empty or
  3197  	// default values are omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3199  	// details.
  3200  	ForceSendFields []string `json:"-"`
  3201  	// NullFields is a list of field names (e.g. "AverageCellsPerColumn") to
  3202  	// include in API requests with the JSON null value. By default, fields with
  3203  	// empty values are omitted from API requests. See
  3204  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3205  	NullFields []string `json:"-"`
  3206  }
  3207  
  3208  func (s *TableStats) MarshalJSON() ([]byte, error) {
  3209  	type NoMethod TableStats
  3210  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3211  }
  3212  
  3213  func (s *TableStats) UnmarshalJSON(data []byte) error {
  3214  	type NoMethod TableStats
  3215  	var s1 struct {
  3216  		AverageCellsPerColumn gensupport.JSONFloat64 `json:"averageCellsPerColumn"`
  3217  		AverageColumnsPerRow  gensupport.JSONFloat64 `json:"averageColumnsPerRow"`
  3218  		*NoMethod
  3219  	}
  3220  	s1.NoMethod = (*NoMethod)(s)
  3221  	if err := json.Unmarshal(data, &s1); err != nil {
  3222  		return err
  3223  	}
  3224  	s.AverageCellsPerColumn = float64(s1.AverageCellsPerColumn)
  3225  	s.AverageColumnsPerRow = float64(s1.AverageColumnsPerRow)
  3226  	return nil
  3227  }
  3228  
  3229  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  3230  type TestIamPermissionsRequest struct {
  3231  	// Permissions: The set of permissions to check for the `resource`. Permissions
  3232  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  3233  	// information see IAM Overview
  3234  	// (https://cloud.google.com/iam/docs/overview#permissions).
  3235  	Permissions []string `json:"permissions,omitempty"`
  3236  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  3237  	// unconditionally include in API requests. By default, fields with empty or
  3238  	// default values are omitted from API requests. See
  3239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3240  	// details.
  3241  	ForceSendFields []string `json:"-"`
  3242  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  3243  	// requests with the JSON null value. By default, fields with empty values are
  3244  	// omitted from API requests. See
  3245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3246  	NullFields []string `json:"-"`
  3247  }
  3248  
  3249  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  3250  	type NoMethod TestIamPermissionsRequest
  3251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3252  }
  3253  
  3254  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  3255  // method.
  3256  type TestIamPermissionsResponse struct {
  3257  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  3258  	// caller is allowed.
  3259  	Permissions []string `json:"permissions,omitempty"`
  3260  
  3261  	// ServerResponse contains the HTTP response code and headers from the server.
  3262  	googleapi.ServerResponse `json:"-"`
  3263  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  3264  	// unconditionally include in API requests. By default, fields with empty or
  3265  	// default values are omitted from API requests. See
  3266  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3267  	// details.
  3268  	ForceSendFields []string `json:"-"`
  3269  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  3270  	// requests with the JSON null value. By default, fields with empty values are
  3271  	// omitted from API requests. See
  3272  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3273  	NullFields []string `json:"-"`
  3274  }
  3275  
  3276  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  3277  	type NoMethod TestIamPermissionsResponse
  3278  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3279  }
  3280  
  3281  // Type: `Type` represents the type of data that is written to, read from, or
  3282  // stored in Bigtable. It is heavily based on the GoogleSQL standard to help
  3283  // maintain familiarity and consistency across products and features. For
  3284  // compatibility with Bigtable's existing untyped APIs, each `Type` includes an
  3285  // `Encoding` which describes how to convert to/from the underlying data. This
  3286  // might involve composing a series of steps into an "encoding chain," for
  3287  // example to convert from INT64 -> STRING -> raw bytes. In most cases, a
  3288  // "link" in the encoding chain will be based an on existing GoogleSQL
  3289  // conversion function like `CAST`. Each link in the encoding chain also
  3290  // defines the following properties: * Natural sort: Does the encoded value
  3291  // sort consistently with the original typed value? Note that Bigtable will
  3292  // always sort data based on the raw encoded value, *not* the decoded type. -
  3293  // Example: STRING values sort in the same order as their UTF-8 encodings. -
  3294  // Counterexample: Encoding INT64 to a fixed-width STRING does *not* preserve
  3295  // sort order when dealing with negative numbers. INT64(1) > INT64(-1), but
  3296  // STRING("-00001") > STRING("00001). - The overall encoding chain sorts
  3297  // naturally if *every* link does. * Self-delimiting: If we concatenate two
  3298  // encoded values, can we always tell where the first one ends and the second
  3299  // one begins? - Example: If we encode INT64s to fixed-width STRINGs, the first
  3300  // value will always contain exactly N digits, possibly preceded by a sign. -
  3301  // Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way
  3302  // to tell where the first one ends. - The overall encoding chain is
  3303  // self-delimiting if *any* link is. * Compatibility: Which other systems have
  3304  // matching encoding schemes? For example, does this encoding have a GoogleSQL
  3305  // equivalent? HBase? Java?
  3306  type Type struct {
  3307  	// AggregateType: Aggregate
  3308  	AggregateType *GoogleBigtableAdminV2TypeAggregate `json:"aggregateType,omitempty"`
  3309  	// BytesType: Bytes
  3310  	BytesType *GoogleBigtableAdminV2TypeBytes `json:"bytesType,omitempty"`
  3311  	// Int64Type: Int64
  3312  	Int64Type *GoogleBigtableAdminV2TypeInt64 `json:"int64Type,omitempty"`
  3313  	// ForceSendFields is a list of field names (e.g. "AggregateType") to
  3314  	// unconditionally include in API requests. By default, fields with empty or
  3315  	// default values are omitted from API requests. See
  3316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3317  	// details.
  3318  	ForceSendFields []string `json:"-"`
  3319  	// NullFields is a list of field names (e.g. "AggregateType") to include in API
  3320  	// requests with the JSON null value. By default, fields with empty values are
  3321  	// omitted from API requests. See
  3322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3323  	NullFields []string `json:"-"`
  3324  }
  3325  
  3326  func (s *Type) MarshalJSON() ([]byte, error) {
  3327  	type NoMethod Type
  3328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3329  }
  3330  
  3331  // UndeleteTableMetadata: Metadata type for the operation returned by
  3332  // google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable.
  3333  type UndeleteTableMetadata struct {
  3334  	// EndTime: If set, the time at which this operation finished or was cancelled.
  3335  	EndTime string `json:"endTime,omitempty"`
  3336  	// Name: The name of the table being restored.
  3337  	Name string `json:"name,omitempty"`
  3338  	// StartTime: The time at which this operation started.
  3339  	StartTime string `json:"startTime,omitempty"`
  3340  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  3341  	// include in API requests. By default, fields with empty or default values are
  3342  	// omitted from API requests. See
  3343  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3344  	// details.
  3345  	ForceSendFields []string `json:"-"`
  3346  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  3347  	// requests with the JSON null value. By default, fields with empty values are
  3348  	// omitted from API requests. See
  3349  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3350  	NullFields []string `json:"-"`
  3351  }
  3352  
  3353  func (s *UndeleteTableMetadata) MarshalJSON() ([]byte, error) {
  3354  	type NoMethod UndeleteTableMetadata
  3355  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3356  }
  3357  
  3358  // UndeleteTableRequest: Request message for
  3359  // google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable
  3360  type UndeleteTableRequest struct {
  3361  }
  3362  
  3363  // Union: A GcRule which deletes cells matching any of the given rules.
  3364  type Union struct {
  3365  	// Rules: Delete cells which would be deleted by any element of `rules`.
  3366  	Rules []*GcRule `json:"rules,omitempty"`
  3367  	// ForceSendFields is a list of field names (e.g. "Rules") to unconditionally
  3368  	// include in API requests. By default, fields with empty or default values are
  3369  	// omitted from API requests. See
  3370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3371  	// details.
  3372  	ForceSendFields []string `json:"-"`
  3373  	// NullFields is a list of field names (e.g. "Rules") to include in API
  3374  	// requests with the JSON null value. By default, fields with empty values are
  3375  	// omitted from API requests. See
  3376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3377  	NullFields []string `json:"-"`
  3378  }
  3379  
  3380  func (s *Union) MarshalJSON() ([]byte, error) {
  3381  	type NoMethod Union
  3382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3383  }
  3384  
  3385  // UpdateAppProfileMetadata: The metadata for the Operation returned by
  3386  // UpdateAppProfile.
  3387  type UpdateAppProfileMetadata struct {
  3388  }
  3389  
  3390  // UpdateAuthorizedViewMetadata: Metadata for the google.longrunning.Operation
  3391  // returned by UpdateAuthorizedView.
  3392  type UpdateAuthorizedViewMetadata struct {
  3393  	// FinishTime: The time at which the operation failed or was completed
  3394  	// successfully.
  3395  	FinishTime string `json:"finishTime,omitempty"`
  3396  	// OriginalRequest: The request that prompted the initiation of this
  3397  	// UpdateAuthorizedView operation.
  3398  	OriginalRequest *UpdateAuthorizedViewRequest `json:"originalRequest,omitempty"`
  3399  	// RequestTime: The time at which the original request was received.
  3400  	RequestTime string `json:"requestTime,omitempty"`
  3401  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  3402  	// unconditionally include in API requests. By default, fields with empty or
  3403  	// default values are omitted from API requests. See
  3404  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3405  	// details.
  3406  	ForceSendFields []string `json:"-"`
  3407  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  3408  	// requests with the JSON null value. By default, fields with empty values are
  3409  	// omitted from API requests. See
  3410  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3411  	NullFields []string `json:"-"`
  3412  }
  3413  
  3414  func (s *UpdateAuthorizedViewMetadata) MarshalJSON() ([]byte, error) {
  3415  	type NoMethod UpdateAuthorizedViewMetadata
  3416  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3417  }
  3418  
  3419  // UpdateAuthorizedViewRequest: The request for UpdateAuthorizedView.
  3420  type UpdateAuthorizedViewRequest struct {
  3421  	// AuthorizedView: Required. The AuthorizedView to update. The `name` in
  3422  	// `authorized_view` is used to identify the AuthorizedView. AuthorizedView
  3423  	// name must in this format:
  3424  	// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{auth
  3425  	// orized_view}`.
  3426  	AuthorizedView *AuthorizedView `json:"authorizedView,omitempty"`
  3427  	// IgnoreWarnings: Optional. If true, ignore the safety checks when updating
  3428  	// the AuthorizedView.
  3429  	IgnoreWarnings bool `json:"ignoreWarnings,omitempty"`
  3430  	// UpdateMask: Optional. The list of fields to update. A mask specifying which
  3431  	// fields in the AuthorizedView resource should be updated. This mask is
  3432  	// relative to the AuthorizedView resource, not to the request message. A field
  3433  	// will be overwritten if it is in the mask. If empty, all fields set in the
  3434  	// request will be overwritten. A special value `*` means to overwrite all
  3435  	// fields (including fields not set in the request).
  3436  	UpdateMask string `json:"updateMask,omitempty"`
  3437  	// ForceSendFields is a list of field names (e.g. "AuthorizedView") to
  3438  	// unconditionally include in API requests. By default, fields with empty or
  3439  	// default values are omitted from API requests. See
  3440  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3441  	// details.
  3442  	ForceSendFields []string `json:"-"`
  3443  	// NullFields is a list of field names (e.g. "AuthorizedView") to include in
  3444  	// API requests with the JSON null value. By default, fields with empty values
  3445  	// are omitted from API requests. See
  3446  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3447  	NullFields []string `json:"-"`
  3448  }
  3449  
  3450  func (s *UpdateAuthorizedViewRequest) MarshalJSON() ([]byte, error) {
  3451  	type NoMethod UpdateAuthorizedViewRequest
  3452  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3453  }
  3454  
  3455  // UpdateClusterMetadata: The metadata for the Operation returned by
  3456  // UpdateCluster.
  3457  type UpdateClusterMetadata struct {
  3458  	// FinishTime: The time at which the operation failed or was completed
  3459  	// successfully.
  3460  	FinishTime string `json:"finishTime,omitempty"`
  3461  	// OriginalRequest: The request that prompted the initiation of this
  3462  	// UpdateCluster operation.
  3463  	OriginalRequest *Cluster `json:"originalRequest,omitempty"`
  3464  	// RequestTime: The time at which the original request was received.
  3465  	RequestTime string `json:"requestTime,omitempty"`
  3466  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  3467  	// unconditionally include in API requests. By default, fields with empty or
  3468  	// default values are omitted from API requests. See
  3469  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3470  	// details.
  3471  	ForceSendFields []string `json:"-"`
  3472  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  3473  	// requests with the JSON null value. By default, fields with empty values are
  3474  	// omitted from API requests. See
  3475  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3476  	NullFields []string `json:"-"`
  3477  }
  3478  
  3479  func (s *UpdateClusterMetadata) MarshalJSON() ([]byte, error) {
  3480  	type NoMethod UpdateClusterMetadata
  3481  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3482  }
  3483  
  3484  // UpdateInstanceMetadata: The metadata for the Operation returned by
  3485  // UpdateInstance.
  3486  type UpdateInstanceMetadata struct {
  3487  	// FinishTime: The time at which the operation failed or was completed
  3488  	// successfully.
  3489  	FinishTime string `json:"finishTime,omitempty"`
  3490  	// OriginalRequest: The request that prompted the initiation of this
  3491  	// UpdateInstance operation.
  3492  	OriginalRequest *PartialUpdateInstanceRequest `json:"originalRequest,omitempty"`
  3493  	// RequestTime: The time at which the original request was received.
  3494  	RequestTime string `json:"requestTime,omitempty"`
  3495  	// ForceSendFields is a list of field names (e.g. "FinishTime") to
  3496  	// unconditionally include in API requests. By default, fields with empty or
  3497  	// default values are omitted from API requests. See
  3498  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3499  	// details.
  3500  	ForceSendFields []string `json:"-"`
  3501  	// NullFields is a list of field names (e.g. "FinishTime") to include in API
  3502  	// requests with the JSON null value. By default, fields with empty values are
  3503  	// omitted from API requests. See
  3504  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3505  	NullFields []string `json:"-"`
  3506  }
  3507  
  3508  func (s *UpdateInstanceMetadata) MarshalJSON() ([]byte, error) {
  3509  	type NoMethod UpdateInstanceMetadata
  3510  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3511  }
  3512  
  3513  // UpdateTableMetadata: Metadata type for the operation returned by
  3514  // UpdateTable.
  3515  type UpdateTableMetadata struct {
  3516  	// EndTime: If set, the time at which this operation finished or was canceled.
  3517  	EndTime string `json:"endTime,omitempty"`
  3518  	// Name: The name of the table being updated.
  3519  	Name string `json:"name,omitempty"`
  3520  	// StartTime: The time at which this operation started.
  3521  	StartTime string `json:"startTime,omitempty"`
  3522  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  3523  	// include in API requests. By default, fields with empty or default values are
  3524  	// omitted from API requests. See
  3525  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3526  	// details.
  3527  	ForceSendFields []string `json:"-"`
  3528  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  3529  	// requests with the JSON null value. By default, fields with empty values are
  3530  	// omitted from API requests. See
  3531  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3532  	NullFields []string `json:"-"`
  3533  }
  3534  
  3535  func (s *UpdateTableMetadata) MarshalJSON() ([]byte, error) {
  3536  	type NoMethod UpdateTableMetadata
  3537  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3538  }
  3539  
  3540  type OperationsGetCall struct {
  3541  	s            *Service
  3542  	name         string
  3543  	urlParams_   gensupport.URLParams
  3544  	ifNoneMatch_ string
  3545  	ctx_         context.Context
  3546  	header_      http.Header
  3547  }
  3548  
  3549  // Get: Gets the latest state of a long-running operation. Clients can use this
  3550  // method to poll the operation result at intervals as recommended by the API
  3551  // service.
  3552  //
  3553  // - name: The name of the operation resource.
  3554  func (r *OperationsService) Get(name string) *OperationsGetCall {
  3555  	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3556  	c.name = name
  3557  	return c
  3558  }
  3559  
  3560  // Fields allows partial responses to be retrieved. See
  3561  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3562  // details.
  3563  func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
  3564  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3565  	return c
  3566  }
  3567  
  3568  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3569  // object's ETag matches the given value. This is useful for getting updates
  3570  // only after the object has changed since the last request.
  3571  func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
  3572  	c.ifNoneMatch_ = entityTag
  3573  	return c
  3574  }
  3575  
  3576  // Context sets the context to be used in this call's Do method.
  3577  func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
  3578  	c.ctx_ = ctx
  3579  	return c
  3580  }
  3581  
  3582  // Header returns a http.Header that can be modified by the caller to add
  3583  // headers to the request.
  3584  func (c *OperationsGetCall) Header() http.Header {
  3585  	if c.header_ == nil {
  3586  		c.header_ = make(http.Header)
  3587  	}
  3588  	return c.header_
  3589  }
  3590  
  3591  func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
  3592  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3593  	if c.ifNoneMatch_ != "" {
  3594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3595  	}
  3596  	var body io.Reader = nil
  3597  	c.urlParams_.Set("alt", alt)
  3598  	c.urlParams_.Set("prettyPrint", "false")
  3599  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  3600  	urls += "?" + c.urlParams_.Encode()
  3601  	req, err := http.NewRequest("GET", urls, body)
  3602  	if err != nil {
  3603  		return nil, err
  3604  	}
  3605  	req.Header = reqHeaders
  3606  	googleapi.Expand(req.URL, map[string]string{
  3607  		"name": c.name,
  3608  	})
  3609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3610  }
  3611  
  3612  // Do executes the "bigtableadmin.operations.get" call.
  3613  // Any non-2xx status code is an error. Response headers are in either
  3614  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3615  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3616  // whether the returned error was because http.StatusNotModified was returned.
  3617  func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3618  	gensupport.SetOptions(c.urlParams_, opts...)
  3619  	res, err := c.doRequest("json")
  3620  	if res != nil && res.StatusCode == http.StatusNotModified {
  3621  		if res.Body != nil {
  3622  			res.Body.Close()
  3623  		}
  3624  		return nil, gensupport.WrapError(&googleapi.Error{
  3625  			Code:   res.StatusCode,
  3626  			Header: res.Header,
  3627  		})
  3628  	}
  3629  	if err != nil {
  3630  		return nil, err
  3631  	}
  3632  	defer googleapi.CloseBody(res)
  3633  	if err := googleapi.CheckResponse(res); err != nil {
  3634  		return nil, gensupport.WrapError(err)
  3635  	}
  3636  	ret := &Operation{
  3637  		ServerResponse: googleapi.ServerResponse{
  3638  			Header:         res.Header,
  3639  			HTTPStatusCode: res.StatusCode,
  3640  		},
  3641  	}
  3642  	target := &ret
  3643  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3644  		return nil, err
  3645  	}
  3646  	return ret, nil
  3647  }
  3648  
  3649  type OperationsProjectsOperationsListCall struct {
  3650  	s            *Service
  3651  	name         string
  3652  	urlParams_   gensupport.URLParams
  3653  	ifNoneMatch_ string
  3654  	ctx_         context.Context
  3655  	header_      http.Header
  3656  }
  3657  
  3658  // List: Lists operations that match the specified filter in the request. If
  3659  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
  3660  //
  3661  // - name: The name of the operation's parent resource.
  3662  func (r *OperationsProjectsOperationsService) List(name string) *OperationsProjectsOperationsListCall {
  3663  	c := &OperationsProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3664  	c.name = name
  3665  	return c
  3666  }
  3667  
  3668  // Filter sets the optional parameter "filter": The standard list filter.
  3669  func (c *OperationsProjectsOperationsListCall) Filter(filter string) *OperationsProjectsOperationsListCall {
  3670  	c.urlParams_.Set("filter", filter)
  3671  	return c
  3672  }
  3673  
  3674  // PageSize sets the optional parameter "pageSize": The standard list page
  3675  // size.
  3676  func (c *OperationsProjectsOperationsListCall) PageSize(pageSize int64) *OperationsProjectsOperationsListCall {
  3677  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3678  	return c
  3679  }
  3680  
  3681  // PageToken sets the optional parameter "pageToken": The standard list page
  3682  // token.
  3683  func (c *OperationsProjectsOperationsListCall) PageToken(pageToken string) *OperationsProjectsOperationsListCall {
  3684  	c.urlParams_.Set("pageToken", pageToken)
  3685  	return c
  3686  }
  3687  
  3688  // Fields allows partial responses to be retrieved. See
  3689  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3690  // details.
  3691  func (c *OperationsProjectsOperationsListCall) Fields(s ...googleapi.Field) *OperationsProjectsOperationsListCall {
  3692  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3693  	return c
  3694  }
  3695  
  3696  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3697  // object's ETag matches the given value. This is useful for getting updates
  3698  // only after the object has changed since the last request.
  3699  func (c *OperationsProjectsOperationsListCall) IfNoneMatch(entityTag string) *OperationsProjectsOperationsListCall {
  3700  	c.ifNoneMatch_ = entityTag
  3701  	return c
  3702  }
  3703  
  3704  // Context sets the context to be used in this call's Do method.
  3705  func (c *OperationsProjectsOperationsListCall) Context(ctx context.Context) *OperationsProjectsOperationsListCall {
  3706  	c.ctx_ = ctx
  3707  	return c
  3708  }
  3709  
  3710  // Header returns a http.Header that can be modified by the caller to add
  3711  // headers to the request.
  3712  func (c *OperationsProjectsOperationsListCall) Header() http.Header {
  3713  	if c.header_ == nil {
  3714  		c.header_ = make(http.Header)
  3715  	}
  3716  	return c.header_
  3717  }
  3718  
  3719  func (c *OperationsProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  3720  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3721  	if c.ifNoneMatch_ != "" {
  3722  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3723  	}
  3724  	var body io.Reader = nil
  3725  	c.urlParams_.Set("alt", alt)
  3726  	c.urlParams_.Set("prettyPrint", "false")
  3727  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/operations")
  3728  	urls += "?" + c.urlParams_.Encode()
  3729  	req, err := http.NewRequest("GET", urls, body)
  3730  	if err != nil {
  3731  		return nil, err
  3732  	}
  3733  	req.Header = reqHeaders
  3734  	googleapi.Expand(req.URL, map[string]string{
  3735  		"name": c.name,
  3736  	})
  3737  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3738  }
  3739  
  3740  // Do executes the "bigtableadmin.operations.projects.operations.list" call.
  3741  // Any non-2xx status code is an error. Response headers are in either
  3742  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  3743  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  3744  // check whether the returned error was because http.StatusNotModified was
  3745  // returned.
  3746  func (c *OperationsProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  3747  	gensupport.SetOptions(c.urlParams_, opts...)
  3748  	res, err := c.doRequest("json")
  3749  	if res != nil && res.StatusCode == http.StatusNotModified {
  3750  		if res.Body != nil {
  3751  			res.Body.Close()
  3752  		}
  3753  		return nil, gensupport.WrapError(&googleapi.Error{
  3754  			Code:   res.StatusCode,
  3755  			Header: res.Header,
  3756  		})
  3757  	}
  3758  	if err != nil {
  3759  		return nil, err
  3760  	}
  3761  	defer googleapi.CloseBody(res)
  3762  	if err := googleapi.CheckResponse(res); err != nil {
  3763  		return nil, gensupport.WrapError(err)
  3764  	}
  3765  	ret := &ListOperationsResponse{
  3766  		ServerResponse: googleapi.ServerResponse{
  3767  			Header:         res.Header,
  3768  			HTTPStatusCode: res.StatusCode,
  3769  		},
  3770  	}
  3771  	target := &ret
  3772  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3773  		return nil, err
  3774  	}
  3775  	return ret, nil
  3776  }
  3777  
  3778  // Pages invokes f for each page of results.
  3779  // A non-nil error returned from f will halt the iteration.
  3780  // The provided context supersedes any context provided to the Context method.
  3781  func (c *OperationsProjectsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  3782  	c.ctx_ = ctx
  3783  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3784  	for {
  3785  		x, err := c.Do()
  3786  		if err != nil {
  3787  			return err
  3788  		}
  3789  		if err := f(x); err != nil {
  3790  			return err
  3791  		}
  3792  		if x.NextPageToken == "" {
  3793  			return nil
  3794  		}
  3795  		c.PageToken(x.NextPageToken)
  3796  	}
  3797  }
  3798  
  3799  type ProjectsInstancesCreateCall struct {
  3800  	s                     *Service
  3801  	parent                string
  3802  	createinstancerequest *CreateInstanceRequest
  3803  	urlParams_            gensupport.URLParams
  3804  	ctx_                  context.Context
  3805  	header_               http.Header
  3806  }
  3807  
  3808  // Create: Create an instance within a project. Note that exactly one of
  3809  // Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config
  3810  // can be set. If serve_nodes is set to non-zero, then the cluster is manually
  3811  // scaled. If cluster_config.cluster_autoscaling_config is non-empty, then
  3812  // autoscaling is enabled.
  3813  //
  3814  //   - parent: The unique name of the project in which to create the new
  3815  //     instance. Values are of the form `projects/{project}`.
  3816  func (r *ProjectsInstancesService) Create(parent string, createinstancerequest *CreateInstanceRequest) *ProjectsInstancesCreateCall {
  3817  	c := &ProjectsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3818  	c.parent = parent
  3819  	c.createinstancerequest = createinstancerequest
  3820  	return c
  3821  }
  3822  
  3823  // Fields allows partial responses to be retrieved. See
  3824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3825  // details.
  3826  func (c *ProjectsInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesCreateCall {
  3827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3828  	return c
  3829  }
  3830  
  3831  // Context sets the context to be used in this call's Do method.
  3832  func (c *ProjectsInstancesCreateCall) Context(ctx context.Context) *ProjectsInstancesCreateCall {
  3833  	c.ctx_ = ctx
  3834  	return c
  3835  }
  3836  
  3837  // Header returns a http.Header that can be modified by the caller to add
  3838  // headers to the request.
  3839  func (c *ProjectsInstancesCreateCall) Header() http.Header {
  3840  	if c.header_ == nil {
  3841  		c.header_ = make(http.Header)
  3842  	}
  3843  	return c.header_
  3844  }
  3845  
  3846  func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
  3847  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3848  	var body io.Reader = nil
  3849  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createinstancerequest)
  3850  	if err != nil {
  3851  		return nil, err
  3852  	}
  3853  	c.urlParams_.Set("alt", alt)
  3854  	c.urlParams_.Set("prettyPrint", "false")
  3855  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/instances")
  3856  	urls += "?" + c.urlParams_.Encode()
  3857  	req, err := http.NewRequest("POST", urls, body)
  3858  	if err != nil {
  3859  		return nil, err
  3860  	}
  3861  	req.Header = reqHeaders
  3862  	googleapi.Expand(req.URL, map[string]string{
  3863  		"parent": c.parent,
  3864  	})
  3865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3866  }
  3867  
  3868  // Do executes the "bigtableadmin.projects.instances.create" call.
  3869  // Any non-2xx status code is an error. Response headers are in either
  3870  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3871  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3872  // whether the returned error was because http.StatusNotModified was returned.
  3873  func (c *ProjectsInstancesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3874  	gensupport.SetOptions(c.urlParams_, opts...)
  3875  	res, err := c.doRequest("json")
  3876  	if res != nil && res.StatusCode == http.StatusNotModified {
  3877  		if res.Body != nil {
  3878  			res.Body.Close()
  3879  		}
  3880  		return nil, gensupport.WrapError(&googleapi.Error{
  3881  			Code:   res.StatusCode,
  3882  			Header: res.Header,
  3883  		})
  3884  	}
  3885  	if err != nil {
  3886  		return nil, err
  3887  	}
  3888  	defer googleapi.CloseBody(res)
  3889  	if err := googleapi.CheckResponse(res); err != nil {
  3890  		return nil, gensupport.WrapError(err)
  3891  	}
  3892  	ret := &Operation{
  3893  		ServerResponse: googleapi.ServerResponse{
  3894  			Header:         res.Header,
  3895  			HTTPStatusCode: res.StatusCode,
  3896  		},
  3897  	}
  3898  	target := &ret
  3899  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3900  		return nil, err
  3901  	}
  3902  	return ret, nil
  3903  }
  3904  
  3905  type ProjectsInstancesDeleteCall struct {
  3906  	s          *Service
  3907  	name       string
  3908  	urlParams_ gensupport.URLParams
  3909  	ctx_       context.Context
  3910  	header_    http.Header
  3911  }
  3912  
  3913  // Delete: Delete an instance from a project.
  3914  //
  3915  //   - name: The unique name of the instance to be deleted. Values are of the
  3916  //     form `projects/{project}/instances/{instance}`.
  3917  func (r *ProjectsInstancesService) Delete(name string) *ProjectsInstancesDeleteCall {
  3918  	c := &ProjectsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3919  	c.name = name
  3920  	return c
  3921  }
  3922  
  3923  // Fields allows partial responses to be retrieved. See
  3924  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3925  // details.
  3926  func (c *ProjectsInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesDeleteCall {
  3927  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3928  	return c
  3929  }
  3930  
  3931  // Context sets the context to be used in this call's Do method.
  3932  func (c *ProjectsInstancesDeleteCall) Context(ctx context.Context) *ProjectsInstancesDeleteCall {
  3933  	c.ctx_ = ctx
  3934  	return c
  3935  }
  3936  
  3937  // Header returns a http.Header that can be modified by the caller to add
  3938  // headers to the request.
  3939  func (c *ProjectsInstancesDeleteCall) Header() http.Header {
  3940  	if c.header_ == nil {
  3941  		c.header_ = make(http.Header)
  3942  	}
  3943  	return c.header_
  3944  }
  3945  
  3946  func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
  3947  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3948  	var body io.Reader = nil
  3949  	c.urlParams_.Set("alt", alt)
  3950  	c.urlParams_.Set("prettyPrint", "false")
  3951  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  3952  	urls += "?" + c.urlParams_.Encode()
  3953  	req, err := http.NewRequest("DELETE", urls, body)
  3954  	if err != nil {
  3955  		return nil, err
  3956  	}
  3957  	req.Header = reqHeaders
  3958  	googleapi.Expand(req.URL, map[string]string{
  3959  		"name": c.name,
  3960  	})
  3961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3962  }
  3963  
  3964  // Do executes the "bigtableadmin.projects.instances.delete" call.
  3965  // Any non-2xx status code is an error. Response headers are in either
  3966  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  3967  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3968  // whether the returned error was because http.StatusNotModified was returned.
  3969  func (c *ProjectsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  3970  	gensupport.SetOptions(c.urlParams_, opts...)
  3971  	res, err := c.doRequest("json")
  3972  	if res != nil && res.StatusCode == http.StatusNotModified {
  3973  		if res.Body != nil {
  3974  			res.Body.Close()
  3975  		}
  3976  		return nil, gensupport.WrapError(&googleapi.Error{
  3977  			Code:   res.StatusCode,
  3978  			Header: res.Header,
  3979  		})
  3980  	}
  3981  	if err != nil {
  3982  		return nil, err
  3983  	}
  3984  	defer googleapi.CloseBody(res)
  3985  	if err := googleapi.CheckResponse(res); err != nil {
  3986  		return nil, gensupport.WrapError(err)
  3987  	}
  3988  	ret := &Empty{
  3989  		ServerResponse: googleapi.ServerResponse{
  3990  			Header:         res.Header,
  3991  			HTTPStatusCode: res.StatusCode,
  3992  		},
  3993  	}
  3994  	target := &ret
  3995  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3996  		return nil, err
  3997  	}
  3998  	return ret, nil
  3999  }
  4000  
  4001  type ProjectsInstancesGetCall struct {
  4002  	s            *Service
  4003  	name         string
  4004  	urlParams_   gensupport.URLParams
  4005  	ifNoneMatch_ string
  4006  	ctx_         context.Context
  4007  	header_      http.Header
  4008  }
  4009  
  4010  // Get: Gets information about an instance.
  4011  //
  4012  //   - name: The unique name of the requested instance. Values are of the form
  4013  //     `projects/{project}/instances/{instance}`.
  4014  func (r *ProjectsInstancesService) Get(name string) *ProjectsInstancesGetCall {
  4015  	c := &ProjectsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4016  	c.name = name
  4017  	return c
  4018  }
  4019  
  4020  // Fields allows partial responses to be retrieved. See
  4021  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4022  // details.
  4023  func (c *ProjectsInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetCall {
  4024  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4025  	return c
  4026  }
  4027  
  4028  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4029  // object's ETag matches the given value. This is useful for getting updates
  4030  // only after the object has changed since the last request.
  4031  func (c *ProjectsInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetCall {
  4032  	c.ifNoneMatch_ = entityTag
  4033  	return c
  4034  }
  4035  
  4036  // Context sets the context to be used in this call's Do method.
  4037  func (c *ProjectsInstancesGetCall) Context(ctx context.Context) *ProjectsInstancesGetCall {
  4038  	c.ctx_ = ctx
  4039  	return c
  4040  }
  4041  
  4042  // Header returns a http.Header that can be modified by the caller to add
  4043  // headers to the request.
  4044  func (c *ProjectsInstancesGetCall) Header() http.Header {
  4045  	if c.header_ == nil {
  4046  		c.header_ = make(http.Header)
  4047  	}
  4048  	return c.header_
  4049  }
  4050  
  4051  func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
  4052  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4053  	if c.ifNoneMatch_ != "" {
  4054  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4055  	}
  4056  	var body io.Reader = nil
  4057  	c.urlParams_.Set("alt", alt)
  4058  	c.urlParams_.Set("prettyPrint", "false")
  4059  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  4060  	urls += "?" + c.urlParams_.Encode()
  4061  	req, err := http.NewRequest("GET", urls, body)
  4062  	if err != nil {
  4063  		return nil, err
  4064  	}
  4065  	req.Header = reqHeaders
  4066  	googleapi.Expand(req.URL, map[string]string{
  4067  		"name": c.name,
  4068  	})
  4069  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4070  }
  4071  
  4072  // Do executes the "bigtableadmin.projects.instances.get" call.
  4073  // Any non-2xx status code is an error. Response headers are in either
  4074  // *Instance.ServerResponse.Header or (if a response was returned at all) in
  4075  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4076  // whether the returned error was because http.StatusNotModified was returned.
  4077  func (c *ProjectsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
  4078  	gensupport.SetOptions(c.urlParams_, opts...)
  4079  	res, err := c.doRequest("json")
  4080  	if res != nil && res.StatusCode == http.StatusNotModified {
  4081  		if res.Body != nil {
  4082  			res.Body.Close()
  4083  		}
  4084  		return nil, gensupport.WrapError(&googleapi.Error{
  4085  			Code:   res.StatusCode,
  4086  			Header: res.Header,
  4087  		})
  4088  	}
  4089  	if err != nil {
  4090  		return nil, err
  4091  	}
  4092  	defer googleapi.CloseBody(res)
  4093  	if err := googleapi.CheckResponse(res); err != nil {
  4094  		return nil, gensupport.WrapError(err)
  4095  	}
  4096  	ret := &Instance{
  4097  		ServerResponse: googleapi.ServerResponse{
  4098  			Header:         res.Header,
  4099  			HTTPStatusCode: res.StatusCode,
  4100  		},
  4101  	}
  4102  	target := &ret
  4103  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4104  		return nil, err
  4105  	}
  4106  	return ret, nil
  4107  }
  4108  
  4109  type ProjectsInstancesGetIamPolicyCall struct {
  4110  	s                   *Service
  4111  	resource            string
  4112  	getiampolicyrequest *GetIamPolicyRequest
  4113  	urlParams_          gensupport.URLParams
  4114  	ctx_                context.Context
  4115  	header_             http.Header
  4116  }
  4117  
  4118  // GetIamPolicy: Gets the access control policy for an instance resource.
  4119  // Returns an empty policy if an instance exists but does not have a policy
  4120  // set.
  4121  //
  4122  //   - resource: REQUIRED: The resource for which the policy is being requested.
  4123  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  4124  //     for the appropriate value for this field.
  4125  func (r *ProjectsInstancesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesGetIamPolicyCall {
  4126  	c := &ProjectsInstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4127  	c.resource = resource
  4128  	c.getiampolicyrequest = getiampolicyrequest
  4129  	return c
  4130  }
  4131  
  4132  // Fields allows partial responses to be retrieved. See
  4133  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4134  // details.
  4135  func (c *ProjectsInstancesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetIamPolicyCall {
  4136  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4137  	return c
  4138  }
  4139  
  4140  // Context sets the context to be used in this call's Do method.
  4141  func (c *ProjectsInstancesGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesGetIamPolicyCall {
  4142  	c.ctx_ = ctx
  4143  	return c
  4144  }
  4145  
  4146  // Header returns a http.Header that can be modified by the caller to add
  4147  // headers to the request.
  4148  func (c *ProjectsInstancesGetIamPolicyCall) Header() http.Header {
  4149  	if c.header_ == nil {
  4150  		c.header_ = make(http.Header)
  4151  	}
  4152  	return c.header_
  4153  }
  4154  
  4155  func (c *ProjectsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  4156  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4157  	var body io.Reader = nil
  4158  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  4159  	if err != nil {
  4160  		return nil, err
  4161  	}
  4162  	c.urlParams_.Set("alt", alt)
  4163  	c.urlParams_.Set("prettyPrint", "false")
  4164  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
  4165  	urls += "?" + c.urlParams_.Encode()
  4166  	req, err := http.NewRequest("POST", urls, body)
  4167  	if err != nil {
  4168  		return nil, err
  4169  	}
  4170  	req.Header = reqHeaders
  4171  	googleapi.Expand(req.URL, map[string]string{
  4172  		"resource": c.resource,
  4173  	})
  4174  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4175  }
  4176  
  4177  // Do executes the "bigtableadmin.projects.instances.getIamPolicy" call.
  4178  // Any non-2xx status code is an error. Response headers are in either
  4179  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  4180  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4181  // whether the returned error was because http.StatusNotModified was returned.
  4182  func (c *ProjectsInstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  4183  	gensupport.SetOptions(c.urlParams_, opts...)
  4184  	res, err := c.doRequest("json")
  4185  	if res != nil && res.StatusCode == http.StatusNotModified {
  4186  		if res.Body != nil {
  4187  			res.Body.Close()
  4188  		}
  4189  		return nil, gensupport.WrapError(&googleapi.Error{
  4190  			Code:   res.StatusCode,
  4191  			Header: res.Header,
  4192  		})
  4193  	}
  4194  	if err != nil {
  4195  		return nil, err
  4196  	}
  4197  	defer googleapi.CloseBody(res)
  4198  	if err := googleapi.CheckResponse(res); err != nil {
  4199  		return nil, gensupport.WrapError(err)
  4200  	}
  4201  	ret := &Policy{
  4202  		ServerResponse: googleapi.ServerResponse{
  4203  			Header:         res.Header,
  4204  			HTTPStatusCode: res.StatusCode,
  4205  		},
  4206  	}
  4207  	target := &ret
  4208  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4209  		return nil, err
  4210  	}
  4211  	return ret, nil
  4212  }
  4213  
  4214  type ProjectsInstancesListCall struct {
  4215  	s            *Service
  4216  	parent       string
  4217  	urlParams_   gensupport.URLParams
  4218  	ifNoneMatch_ string
  4219  	ctx_         context.Context
  4220  	header_      http.Header
  4221  }
  4222  
  4223  // List: Lists information about instances in a project.
  4224  //
  4225  //   - parent: The unique name of the project for which a list of instances is
  4226  //     requested. Values are of the form `projects/{project}`.
  4227  func (r *ProjectsInstancesService) List(parent string) *ProjectsInstancesListCall {
  4228  	c := &ProjectsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4229  	c.parent = parent
  4230  	return c
  4231  }
  4232  
  4233  // PageToken sets the optional parameter "pageToken": DEPRECATED: This field is
  4234  // unused and ignored.
  4235  func (c *ProjectsInstancesListCall) PageToken(pageToken string) *ProjectsInstancesListCall {
  4236  	c.urlParams_.Set("pageToken", pageToken)
  4237  	return c
  4238  }
  4239  
  4240  // Fields allows partial responses to be retrieved. See
  4241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4242  // details.
  4243  func (c *ProjectsInstancesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesListCall {
  4244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4245  	return c
  4246  }
  4247  
  4248  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4249  // object's ETag matches the given value. This is useful for getting updates
  4250  // only after the object has changed since the last request.
  4251  func (c *ProjectsInstancesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesListCall {
  4252  	c.ifNoneMatch_ = entityTag
  4253  	return c
  4254  }
  4255  
  4256  // Context sets the context to be used in this call's Do method.
  4257  func (c *ProjectsInstancesListCall) Context(ctx context.Context) *ProjectsInstancesListCall {
  4258  	c.ctx_ = ctx
  4259  	return c
  4260  }
  4261  
  4262  // Header returns a http.Header that can be modified by the caller to add
  4263  // headers to the request.
  4264  func (c *ProjectsInstancesListCall) Header() http.Header {
  4265  	if c.header_ == nil {
  4266  		c.header_ = make(http.Header)
  4267  	}
  4268  	return c.header_
  4269  }
  4270  
  4271  func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) {
  4272  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4273  	if c.ifNoneMatch_ != "" {
  4274  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4275  	}
  4276  	var body io.Reader = nil
  4277  	c.urlParams_.Set("alt", alt)
  4278  	c.urlParams_.Set("prettyPrint", "false")
  4279  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/instances")
  4280  	urls += "?" + c.urlParams_.Encode()
  4281  	req, err := http.NewRequest("GET", urls, body)
  4282  	if err != nil {
  4283  		return nil, err
  4284  	}
  4285  	req.Header = reqHeaders
  4286  	googleapi.Expand(req.URL, map[string]string{
  4287  		"parent": c.parent,
  4288  	})
  4289  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4290  }
  4291  
  4292  // Do executes the "bigtableadmin.projects.instances.list" call.
  4293  // Any non-2xx status code is an error. Response headers are in either
  4294  // *ListInstancesResponse.ServerResponse.Header or (if a response was returned
  4295  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4296  // check whether the returned error was because http.StatusNotModified was
  4297  // returned.
  4298  func (c *ProjectsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
  4299  	gensupport.SetOptions(c.urlParams_, opts...)
  4300  	res, err := c.doRequest("json")
  4301  	if res != nil && res.StatusCode == http.StatusNotModified {
  4302  		if res.Body != nil {
  4303  			res.Body.Close()
  4304  		}
  4305  		return nil, gensupport.WrapError(&googleapi.Error{
  4306  			Code:   res.StatusCode,
  4307  			Header: res.Header,
  4308  		})
  4309  	}
  4310  	if err != nil {
  4311  		return nil, err
  4312  	}
  4313  	defer googleapi.CloseBody(res)
  4314  	if err := googleapi.CheckResponse(res); err != nil {
  4315  		return nil, gensupport.WrapError(err)
  4316  	}
  4317  	ret := &ListInstancesResponse{
  4318  		ServerResponse: googleapi.ServerResponse{
  4319  			Header:         res.Header,
  4320  			HTTPStatusCode: res.StatusCode,
  4321  		},
  4322  	}
  4323  	target := &ret
  4324  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4325  		return nil, err
  4326  	}
  4327  	return ret, nil
  4328  }
  4329  
  4330  // Pages invokes f for each page of results.
  4331  // A non-nil error returned from f will halt the iteration.
  4332  // The provided context supersedes any context provided to the Context method.
  4333  func (c *ProjectsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
  4334  	c.ctx_ = ctx
  4335  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4336  	for {
  4337  		x, err := c.Do()
  4338  		if err != nil {
  4339  			return err
  4340  		}
  4341  		if err := f(x); err != nil {
  4342  			return err
  4343  		}
  4344  		if x.NextPageToken == "" {
  4345  			return nil
  4346  		}
  4347  		c.PageToken(x.NextPageToken)
  4348  	}
  4349  }
  4350  
  4351  type ProjectsInstancesPartialUpdateInstanceCall struct {
  4352  	s          *Service
  4353  	name       string
  4354  	instance   *Instance
  4355  	urlParams_ gensupport.URLParams
  4356  	ctx_       context.Context
  4357  	header_    http.Header
  4358  }
  4359  
  4360  // PartialUpdateInstance: Partially updates an instance within a project. This
  4361  // method can modify all fields of an Instance and is the preferred way to
  4362  // update an Instance.
  4363  //
  4364  //   - name: The unique name of the instance. Values are of the form
  4365  //     `projects/{project}/instances/a-z+[a-z0-9]`.
  4366  func (r *ProjectsInstancesService) PartialUpdateInstance(name string, instance *Instance) *ProjectsInstancesPartialUpdateInstanceCall {
  4367  	c := &ProjectsInstancesPartialUpdateInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4368  	c.name = name
  4369  	c.instance = instance
  4370  	return c
  4371  }
  4372  
  4373  // UpdateMask sets the optional parameter "updateMask": Required. The subset of
  4374  // Instance fields which should be replaced. Must be explicitly set.
  4375  func (c *ProjectsInstancesPartialUpdateInstanceCall) UpdateMask(updateMask string) *ProjectsInstancesPartialUpdateInstanceCall {
  4376  	c.urlParams_.Set("updateMask", updateMask)
  4377  	return c
  4378  }
  4379  
  4380  // Fields allows partial responses to be retrieved. See
  4381  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4382  // details.
  4383  func (c *ProjectsInstancesPartialUpdateInstanceCall) Fields(s ...googleapi.Field) *ProjectsInstancesPartialUpdateInstanceCall {
  4384  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4385  	return c
  4386  }
  4387  
  4388  // Context sets the context to be used in this call's Do method.
  4389  func (c *ProjectsInstancesPartialUpdateInstanceCall) Context(ctx context.Context) *ProjectsInstancesPartialUpdateInstanceCall {
  4390  	c.ctx_ = ctx
  4391  	return c
  4392  }
  4393  
  4394  // Header returns a http.Header that can be modified by the caller to add
  4395  // headers to the request.
  4396  func (c *ProjectsInstancesPartialUpdateInstanceCall) Header() http.Header {
  4397  	if c.header_ == nil {
  4398  		c.header_ = make(http.Header)
  4399  	}
  4400  	return c.header_
  4401  }
  4402  
  4403  func (c *ProjectsInstancesPartialUpdateInstanceCall) doRequest(alt string) (*http.Response, error) {
  4404  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4405  	var body io.Reader = nil
  4406  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  4407  	if err != nil {
  4408  		return nil, err
  4409  	}
  4410  	c.urlParams_.Set("alt", alt)
  4411  	c.urlParams_.Set("prettyPrint", "false")
  4412  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  4413  	urls += "?" + c.urlParams_.Encode()
  4414  	req, err := http.NewRequest("PATCH", urls, body)
  4415  	if err != nil {
  4416  		return nil, err
  4417  	}
  4418  	req.Header = reqHeaders
  4419  	googleapi.Expand(req.URL, map[string]string{
  4420  		"name": c.name,
  4421  	})
  4422  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4423  }
  4424  
  4425  // Do executes the "bigtableadmin.projects.instances.partialUpdateInstance" call.
  4426  // Any non-2xx status code is an error. Response headers are in either
  4427  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4428  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4429  // whether the returned error was because http.StatusNotModified was returned.
  4430  func (c *ProjectsInstancesPartialUpdateInstanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4431  	gensupport.SetOptions(c.urlParams_, opts...)
  4432  	res, err := c.doRequest("json")
  4433  	if res != nil && res.StatusCode == http.StatusNotModified {
  4434  		if res.Body != nil {
  4435  			res.Body.Close()
  4436  		}
  4437  		return nil, gensupport.WrapError(&googleapi.Error{
  4438  			Code:   res.StatusCode,
  4439  			Header: res.Header,
  4440  		})
  4441  	}
  4442  	if err != nil {
  4443  		return nil, err
  4444  	}
  4445  	defer googleapi.CloseBody(res)
  4446  	if err := googleapi.CheckResponse(res); err != nil {
  4447  		return nil, gensupport.WrapError(err)
  4448  	}
  4449  	ret := &Operation{
  4450  		ServerResponse: googleapi.ServerResponse{
  4451  			Header:         res.Header,
  4452  			HTTPStatusCode: res.StatusCode,
  4453  		},
  4454  	}
  4455  	target := &ret
  4456  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4457  		return nil, err
  4458  	}
  4459  	return ret, nil
  4460  }
  4461  
  4462  type ProjectsInstancesSetIamPolicyCall struct {
  4463  	s                   *Service
  4464  	resource            string
  4465  	setiampolicyrequest *SetIamPolicyRequest
  4466  	urlParams_          gensupport.URLParams
  4467  	ctx_                context.Context
  4468  	header_             http.Header
  4469  }
  4470  
  4471  // SetIamPolicy: Sets the access control policy on an instance resource.
  4472  // Replaces any existing policy.
  4473  //
  4474  //   - resource: REQUIRED: The resource for which the policy is being specified.
  4475  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  4476  //     for the appropriate value for this field.
  4477  func (r *ProjectsInstancesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesSetIamPolicyCall {
  4478  	c := &ProjectsInstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4479  	c.resource = resource
  4480  	c.setiampolicyrequest = setiampolicyrequest
  4481  	return c
  4482  }
  4483  
  4484  // Fields allows partial responses to be retrieved. See
  4485  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4486  // details.
  4487  func (c *ProjectsInstancesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesSetIamPolicyCall {
  4488  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4489  	return c
  4490  }
  4491  
  4492  // Context sets the context to be used in this call's Do method.
  4493  func (c *ProjectsInstancesSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesSetIamPolicyCall {
  4494  	c.ctx_ = ctx
  4495  	return c
  4496  }
  4497  
  4498  // Header returns a http.Header that can be modified by the caller to add
  4499  // headers to the request.
  4500  func (c *ProjectsInstancesSetIamPolicyCall) Header() http.Header {
  4501  	if c.header_ == nil {
  4502  		c.header_ = make(http.Header)
  4503  	}
  4504  	return c.header_
  4505  }
  4506  
  4507  func (c *ProjectsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  4508  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4509  	var body io.Reader = nil
  4510  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  4511  	if err != nil {
  4512  		return nil, err
  4513  	}
  4514  	c.urlParams_.Set("alt", alt)
  4515  	c.urlParams_.Set("prettyPrint", "false")
  4516  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
  4517  	urls += "?" + c.urlParams_.Encode()
  4518  	req, err := http.NewRequest("POST", urls, body)
  4519  	if err != nil {
  4520  		return nil, err
  4521  	}
  4522  	req.Header = reqHeaders
  4523  	googleapi.Expand(req.URL, map[string]string{
  4524  		"resource": c.resource,
  4525  	})
  4526  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4527  }
  4528  
  4529  // Do executes the "bigtableadmin.projects.instances.setIamPolicy" call.
  4530  // Any non-2xx status code is an error. Response headers are in either
  4531  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  4532  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4533  // whether the returned error was because http.StatusNotModified was returned.
  4534  func (c *ProjectsInstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  4535  	gensupport.SetOptions(c.urlParams_, opts...)
  4536  	res, err := c.doRequest("json")
  4537  	if res != nil && res.StatusCode == http.StatusNotModified {
  4538  		if res.Body != nil {
  4539  			res.Body.Close()
  4540  		}
  4541  		return nil, gensupport.WrapError(&googleapi.Error{
  4542  			Code:   res.StatusCode,
  4543  			Header: res.Header,
  4544  		})
  4545  	}
  4546  	if err != nil {
  4547  		return nil, err
  4548  	}
  4549  	defer googleapi.CloseBody(res)
  4550  	if err := googleapi.CheckResponse(res); err != nil {
  4551  		return nil, gensupport.WrapError(err)
  4552  	}
  4553  	ret := &Policy{
  4554  		ServerResponse: googleapi.ServerResponse{
  4555  			Header:         res.Header,
  4556  			HTTPStatusCode: res.StatusCode,
  4557  		},
  4558  	}
  4559  	target := &ret
  4560  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4561  		return nil, err
  4562  	}
  4563  	return ret, nil
  4564  }
  4565  
  4566  type ProjectsInstancesTestIamPermissionsCall struct {
  4567  	s                         *Service
  4568  	resource                  string
  4569  	testiampermissionsrequest *TestIamPermissionsRequest
  4570  	urlParams_                gensupport.URLParams
  4571  	ctx_                      context.Context
  4572  	header_                   http.Header
  4573  }
  4574  
  4575  // TestIamPermissions: Returns permissions that the caller has on the specified
  4576  // instance resource.
  4577  //
  4578  //   - resource: REQUIRED: The resource for which the policy detail is being
  4579  //     requested. See Resource names
  4580  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  4581  //     value for this field.
  4582  func (r *ProjectsInstancesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTestIamPermissionsCall {
  4583  	c := &ProjectsInstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4584  	c.resource = resource
  4585  	c.testiampermissionsrequest = testiampermissionsrequest
  4586  	return c
  4587  }
  4588  
  4589  // Fields allows partial responses to be retrieved. See
  4590  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4591  // details.
  4592  func (c *ProjectsInstancesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTestIamPermissionsCall {
  4593  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4594  	return c
  4595  }
  4596  
  4597  // Context sets the context to be used in this call's Do method.
  4598  func (c *ProjectsInstancesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTestIamPermissionsCall {
  4599  	c.ctx_ = ctx
  4600  	return c
  4601  }
  4602  
  4603  // Header returns a http.Header that can be modified by the caller to add
  4604  // headers to the request.
  4605  func (c *ProjectsInstancesTestIamPermissionsCall) Header() http.Header {
  4606  	if c.header_ == nil {
  4607  		c.header_ = make(http.Header)
  4608  	}
  4609  	return c.header_
  4610  }
  4611  
  4612  func (c *ProjectsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  4613  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4614  	var body io.Reader = nil
  4615  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  4616  	if err != nil {
  4617  		return nil, err
  4618  	}
  4619  	c.urlParams_.Set("alt", alt)
  4620  	c.urlParams_.Set("prettyPrint", "false")
  4621  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
  4622  	urls += "?" + c.urlParams_.Encode()
  4623  	req, err := http.NewRequest("POST", urls, body)
  4624  	if err != nil {
  4625  		return nil, err
  4626  	}
  4627  	req.Header = reqHeaders
  4628  	googleapi.Expand(req.URL, map[string]string{
  4629  		"resource": c.resource,
  4630  	})
  4631  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4632  }
  4633  
  4634  // Do executes the "bigtableadmin.projects.instances.testIamPermissions" call.
  4635  // Any non-2xx status code is an error. Response headers are in either
  4636  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  4637  // returned at all) in error.(*googleapi.Error).Header. Use
  4638  // googleapi.IsNotModified to check whether the returned error was because
  4639  // http.StatusNotModified was returned.
  4640  func (c *ProjectsInstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  4641  	gensupport.SetOptions(c.urlParams_, opts...)
  4642  	res, err := c.doRequest("json")
  4643  	if res != nil && res.StatusCode == http.StatusNotModified {
  4644  		if res.Body != nil {
  4645  			res.Body.Close()
  4646  		}
  4647  		return nil, gensupport.WrapError(&googleapi.Error{
  4648  			Code:   res.StatusCode,
  4649  			Header: res.Header,
  4650  		})
  4651  	}
  4652  	if err != nil {
  4653  		return nil, err
  4654  	}
  4655  	defer googleapi.CloseBody(res)
  4656  	if err := googleapi.CheckResponse(res); err != nil {
  4657  		return nil, gensupport.WrapError(err)
  4658  	}
  4659  	ret := &TestIamPermissionsResponse{
  4660  		ServerResponse: googleapi.ServerResponse{
  4661  			Header:         res.Header,
  4662  			HTTPStatusCode: res.StatusCode,
  4663  		},
  4664  	}
  4665  	target := &ret
  4666  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4667  		return nil, err
  4668  	}
  4669  	return ret, nil
  4670  }
  4671  
  4672  type ProjectsInstancesUpdateCall struct {
  4673  	s          *Service
  4674  	name       string
  4675  	instance   *Instance
  4676  	urlParams_ gensupport.URLParams
  4677  	ctx_       context.Context
  4678  	header_    http.Header
  4679  }
  4680  
  4681  // Update: Updates an instance within a project. This method updates only the
  4682  // display name and type for an Instance. To update other Instance properties,
  4683  // such as labels, use PartialUpdateInstance.
  4684  //
  4685  //   - name: The unique name of the instance. Values are of the form
  4686  //     `projects/{project}/instances/a-z+[a-z0-9]`.
  4687  func (r *ProjectsInstancesService) Update(name string, instance *Instance) *ProjectsInstancesUpdateCall {
  4688  	c := &ProjectsInstancesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4689  	c.name = name
  4690  	c.instance = instance
  4691  	return c
  4692  }
  4693  
  4694  // Fields allows partial responses to be retrieved. See
  4695  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4696  // details.
  4697  func (c *ProjectsInstancesUpdateCall) Fields(s ...googleapi.Field) *ProjectsInstancesUpdateCall {
  4698  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4699  	return c
  4700  }
  4701  
  4702  // Context sets the context to be used in this call's Do method.
  4703  func (c *ProjectsInstancesUpdateCall) Context(ctx context.Context) *ProjectsInstancesUpdateCall {
  4704  	c.ctx_ = ctx
  4705  	return c
  4706  }
  4707  
  4708  // Header returns a http.Header that can be modified by the caller to add
  4709  // headers to the request.
  4710  func (c *ProjectsInstancesUpdateCall) Header() http.Header {
  4711  	if c.header_ == nil {
  4712  		c.header_ = make(http.Header)
  4713  	}
  4714  	return c.header_
  4715  }
  4716  
  4717  func (c *ProjectsInstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
  4718  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4719  	var body io.Reader = nil
  4720  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  4721  	if err != nil {
  4722  		return nil, err
  4723  	}
  4724  	c.urlParams_.Set("alt", alt)
  4725  	c.urlParams_.Set("prettyPrint", "false")
  4726  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  4727  	urls += "?" + c.urlParams_.Encode()
  4728  	req, err := http.NewRequest("PUT", urls, body)
  4729  	if err != nil {
  4730  		return nil, err
  4731  	}
  4732  	req.Header = reqHeaders
  4733  	googleapi.Expand(req.URL, map[string]string{
  4734  		"name": c.name,
  4735  	})
  4736  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4737  }
  4738  
  4739  // Do executes the "bigtableadmin.projects.instances.update" call.
  4740  // Any non-2xx status code is an error. Response headers are in either
  4741  // *Instance.ServerResponse.Header or (if a response was returned at all) in
  4742  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4743  // whether the returned error was because http.StatusNotModified was returned.
  4744  func (c *ProjectsInstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
  4745  	gensupport.SetOptions(c.urlParams_, opts...)
  4746  	res, err := c.doRequest("json")
  4747  	if res != nil && res.StatusCode == http.StatusNotModified {
  4748  		if res.Body != nil {
  4749  			res.Body.Close()
  4750  		}
  4751  		return nil, gensupport.WrapError(&googleapi.Error{
  4752  			Code:   res.StatusCode,
  4753  			Header: res.Header,
  4754  		})
  4755  	}
  4756  	if err != nil {
  4757  		return nil, err
  4758  	}
  4759  	defer googleapi.CloseBody(res)
  4760  	if err := googleapi.CheckResponse(res); err != nil {
  4761  		return nil, gensupport.WrapError(err)
  4762  	}
  4763  	ret := &Instance{
  4764  		ServerResponse: googleapi.ServerResponse{
  4765  			Header:         res.Header,
  4766  			HTTPStatusCode: res.StatusCode,
  4767  		},
  4768  	}
  4769  	target := &ret
  4770  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4771  		return nil, err
  4772  	}
  4773  	return ret, nil
  4774  }
  4775  
  4776  type ProjectsInstancesAppProfilesCreateCall struct {
  4777  	s          *Service
  4778  	parent     string
  4779  	appprofile *AppProfile
  4780  	urlParams_ gensupport.URLParams
  4781  	ctx_       context.Context
  4782  	header_    http.Header
  4783  }
  4784  
  4785  // Create: Creates an app profile within an instance.
  4786  //
  4787  //   - parent: The unique name of the instance in which to create the new app
  4788  //     profile. Values are of the form `projects/{project}/instances/{instance}`.
  4789  func (r *ProjectsInstancesAppProfilesService) Create(parent string, appprofile *AppProfile) *ProjectsInstancesAppProfilesCreateCall {
  4790  	c := &ProjectsInstancesAppProfilesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4791  	c.parent = parent
  4792  	c.appprofile = appprofile
  4793  	return c
  4794  }
  4795  
  4796  // AppProfileId sets the optional parameter "appProfileId": Required. The ID to
  4797  // be used when referring to the new app profile within its instance, e.g.,
  4798  // just `myprofile` rather than
  4799  // `projects/myproject/instances/myinstance/appProfiles/myprofile`.
  4800  func (c *ProjectsInstancesAppProfilesCreateCall) AppProfileId(appProfileId string) *ProjectsInstancesAppProfilesCreateCall {
  4801  	c.urlParams_.Set("appProfileId", appProfileId)
  4802  	return c
  4803  }
  4804  
  4805  // IgnoreWarnings sets the optional parameter "ignoreWarnings": If true, ignore
  4806  // safety checks when creating the app profile.
  4807  func (c *ProjectsInstancesAppProfilesCreateCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesCreateCall {
  4808  	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
  4809  	return c
  4810  }
  4811  
  4812  // Fields allows partial responses to be retrieved. See
  4813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4814  // details.
  4815  func (c *ProjectsInstancesAppProfilesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesCreateCall {
  4816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4817  	return c
  4818  }
  4819  
  4820  // Context sets the context to be used in this call's Do method.
  4821  func (c *ProjectsInstancesAppProfilesCreateCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesCreateCall {
  4822  	c.ctx_ = ctx
  4823  	return c
  4824  }
  4825  
  4826  // Header returns a http.Header that can be modified by the caller to add
  4827  // headers to the request.
  4828  func (c *ProjectsInstancesAppProfilesCreateCall) Header() http.Header {
  4829  	if c.header_ == nil {
  4830  		c.header_ = make(http.Header)
  4831  	}
  4832  	return c.header_
  4833  }
  4834  
  4835  func (c *ProjectsInstancesAppProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
  4836  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4837  	var body io.Reader = nil
  4838  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appprofile)
  4839  	if err != nil {
  4840  		return nil, err
  4841  	}
  4842  	c.urlParams_.Set("alt", alt)
  4843  	c.urlParams_.Set("prettyPrint", "false")
  4844  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/appProfiles")
  4845  	urls += "?" + c.urlParams_.Encode()
  4846  	req, err := http.NewRequest("POST", urls, body)
  4847  	if err != nil {
  4848  		return nil, err
  4849  	}
  4850  	req.Header = reqHeaders
  4851  	googleapi.Expand(req.URL, map[string]string{
  4852  		"parent": c.parent,
  4853  	})
  4854  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4855  }
  4856  
  4857  // Do executes the "bigtableadmin.projects.instances.appProfiles.create" call.
  4858  // Any non-2xx status code is an error. Response headers are in either
  4859  // *AppProfile.ServerResponse.Header or (if a response was returned at all) in
  4860  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4861  // whether the returned error was because http.StatusNotModified was returned.
  4862  func (c *ProjectsInstancesAppProfilesCreateCall) Do(opts ...googleapi.CallOption) (*AppProfile, error) {
  4863  	gensupport.SetOptions(c.urlParams_, opts...)
  4864  	res, err := c.doRequest("json")
  4865  	if res != nil && res.StatusCode == http.StatusNotModified {
  4866  		if res.Body != nil {
  4867  			res.Body.Close()
  4868  		}
  4869  		return nil, gensupport.WrapError(&googleapi.Error{
  4870  			Code:   res.StatusCode,
  4871  			Header: res.Header,
  4872  		})
  4873  	}
  4874  	if err != nil {
  4875  		return nil, err
  4876  	}
  4877  	defer googleapi.CloseBody(res)
  4878  	if err := googleapi.CheckResponse(res); err != nil {
  4879  		return nil, gensupport.WrapError(err)
  4880  	}
  4881  	ret := &AppProfile{
  4882  		ServerResponse: googleapi.ServerResponse{
  4883  			Header:         res.Header,
  4884  			HTTPStatusCode: res.StatusCode,
  4885  		},
  4886  	}
  4887  	target := &ret
  4888  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4889  		return nil, err
  4890  	}
  4891  	return ret, nil
  4892  }
  4893  
  4894  type ProjectsInstancesAppProfilesDeleteCall struct {
  4895  	s          *Service
  4896  	name       string
  4897  	urlParams_ gensupport.URLParams
  4898  	ctx_       context.Context
  4899  	header_    http.Header
  4900  }
  4901  
  4902  // Delete: Deletes an app profile from an instance.
  4903  //
  4904  //   - name: The unique name of the app profile to be deleted. Values are of the
  4905  //     form `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
  4906  func (r *ProjectsInstancesAppProfilesService) Delete(name string) *ProjectsInstancesAppProfilesDeleteCall {
  4907  	c := &ProjectsInstancesAppProfilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4908  	c.name = name
  4909  	return c
  4910  }
  4911  
  4912  // IgnoreWarnings sets the optional parameter "ignoreWarnings": Required. If
  4913  // true, ignore safety checks when deleting the app profile.
  4914  func (c *ProjectsInstancesAppProfilesDeleteCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesDeleteCall {
  4915  	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
  4916  	return c
  4917  }
  4918  
  4919  // Fields allows partial responses to be retrieved. See
  4920  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4921  // details.
  4922  func (c *ProjectsInstancesAppProfilesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesDeleteCall {
  4923  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4924  	return c
  4925  }
  4926  
  4927  // Context sets the context to be used in this call's Do method.
  4928  func (c *ProjectsInstancesAppProfilesDeleteCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesDeleteCall {
  4929  	c.ctx_ = ctx
  4930  	return c
  4931  }
  4932  
  4933  // Header returns a http.Header that can be modified by the caller to add
  4934  // headers to the request.
  4935  func (c *ProjectsInstancesAppProfilesDeleteCall) Header() http.Header {
  4936  	if c.header_ == nil {
  4937  		c.header_ = make(http.Header)
  4938  	}
  4939  	return c.header_
  4940  }
  4941  
  4942  func (c *ProjectsInstancesAppProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
  4943  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4944  	var body io.Reader = nil
  4945  	c.urlParams_.Set("alt", alt)
  4946  	c.urlParams_.Set("prettyPrint", "false")
  4947  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  4948  	urls += "?" + c.urlParams_.Encode()
  4949  	req, err := http.NewRequest("DELETE", urls, body)
  4950  	if err != nil {
  4951  		return nil, err
  4952  	}
  4953  	req.Header = reqHeaders
  4954  	googleapi.Expand(req.URL, map[string]string{
  4955  		"name": c.name,
  4956  	})
  4957  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4958  }
  4959  
  4960  // Do executes the "bigtableadmin.projects.instances.appProfiles.delete" call.
  4961  // Any non-2xx status code is an error. Response headers are in either
  4962  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  4963  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4964  // whether the returned error was because http.StatusNotModified was returned.
  4965  func (c *ProjectsInstancesAppProfilesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  4966  	gensupport.SetOptions(c.urlParams_, opts...)
  4967  	res, err := c.doRequest("json")
  4968  	if res != nil && res.StatusCode == http.StatusNotModified {
  4969  		if res.Body != nil {
  4970  			res.Body.Close()
  4971  		}
  4972  		return nil, gensupport.WrapError(&googleapi.Error{
  4973  			Code:   res.StatusCode,
  4974  			Header: res.Header,
  4975  		})
  4976  	}
  4977  	if err != nil {
  4978  		return nil, err
  4979  	}
  4980  	defer googleapi.CloseBody(res)
  4981  	if err := googleapi.CheckResponse(res); err != nil {
  4982  		return nil, gensupport.WrapError(err)
  4983  	}
  4984  	ret := &Empty{
  4985  		ServerResponse: googleapi.ServerResponse{
  4986  			Header:         res.Header,
  4987  			HTTPStatusCode: res.StatusCode,
  4988  		},
  4989  	}
  4990  	target := &ret
  4991  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4992  		return nil, err
  4993  	}
  4994  	return ret, nil
  4995  }
  4996  
  4997  type ProjectsInstancesAppProfilesGetCall struct {
  4998  	s            *Service
  4999  	name         string
  5000  	urlParams_   gensupport.URLParams
  5001  	ifNoneMatch_ string
  5002  	ctx_         context.Context
  5003  	header_      http.Header
  5004  }
  5005  
  5006  // Get: Gets information about an app profile.
  5007  //
  5008  //   - name: The unique name of the requested app profile. Values are of the form
  5009  //     `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
  5010  func (r *ProjectsInstancesAppProfilesService) Get(name string) *ProjectsInstancesAppProfilesGetCall {
  5011  	c := &ProjectsInstancesAppProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5012  	c.name = name
  5013  	return c
  5014  }
  5015  
  5016  // Fields allows partial responses to be retrieved. See
  5017  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5018  // details.
  5019  func (c *ProjectsInstancesAppProfilesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesGetCall {
  5020  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5021  	return c
  5022  }
  5023  
  5024  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5025  // object's ETag matches the given value. This is useful for getting updates
  5026  // only after the object has changed since the last request.
  5027  func (c *ProjectsInstancesAppProfilesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesAppProfilesGetCall {
  5028  	c.ifNoneMatch_ = entityTag
  5029  	return c
  5030  }
  5031  
  5032  // Context sets the context to be used in this call's Do method.
  5033  func (c *ProjectsInstancesAppProfilesGetCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesGetCall {
  5034  	c.ctx_ = ctx
  5035  	return c
  5036  }
  5037  
  5038  // Header returns a http.Header that can be modified by the caller to add
  5039  // headers to the request.
  5040  func (c *ProjectsInstancesAppProfilesGetCall) Header() http.Header {
  5041  	if c.header_ == nil {
  5042  		c.header_ = make(http.Header)
  5043  	}
  5044  	return c.header_
  5045  }
  5046  
  5047  func (c *ProjectsInstancesAppProfilesGetCall) doRequest(alt string) (*http.Response, error) {
  5048  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5049  	if c.ifNoneMatch_ != "" {
  5050  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5051  	}
  5052  	var body io.Reader = nil
  5053  	c.urlParams_.Set("alt", alt)
  5054  	c.urlParams_.Set("prettyPrint", "false")
  5055  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  5056  	urls += "?" + c.urlParams_.Encode()
  5057  	req, err := http.NewRequest("GET", urls, body)
  5058  	if err != nil {
  5059  		return nil, err
  5060  	}
  5061  	req.Header = reqHeaders
  5062  	googleapi.Expand(req.URL, map[string]string{
  5063  		"name": c.name,
  5064  	})
  5065  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5066  }
  5067  
  5068  // Do executes the "bigtableadmin.projects.instances.appProfiles.get" call.
  5069  // Any non-2xx status code is an error. Response headers are in either
  5070  // *AppProfile.ServerResponse.Header or (if a response was returned at all) in
  5071  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5072  // whether the returned error was because http.StatusNotModified was returned.
  5073  func (c *ProjectsInstancesAppProfilesGetCall) Do(opts ...googleapi.CallOption) (*AppProfile, error) {
  5074  	gensupport.SetOptions(c.urlParams_, opts...)
  5075  	res, err := c.doRequest("json")
  5076  	if res != nil && res.StatusCode == http.StatusNotModified {
  5077  		if res.Body != nil {
  5078  			res.Body.Close()
  5079  		}
  5080  		return nil, gensupport.WrapError(&googleapi.Error{
  5081  			Code:   res.StatusCode,
  5082  			Header: res.Header,
  5083  		})
  5084  	}
  5085  	if err != nil {
  5086  		return nil, err
  5087  	}
  5088  	defer googleapi.CloseBody(res)
  5089  	if err := googleapi.CheckResponse(res); err != nil {
  5090  		return nil, gensupport.WrapError(err)
  5091  	}
  5092  	ret := &AppProfile{
  5093  		ServerResponse: googleapi.ServerResponse{
  5094  			Header:         res.Header,
  5095  			HTTPStatusCode: res.StatusCode,
  5096  		},
  5097  	}
  5098  	target := &ret
  5099  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5100  		return nil, err
  5101  	}
  5102  	return ret, nil
  5103  }
  5104  
  5105  type ProjectsInstancesAppProfilesListCall struct {
  5106  	s            *Service
  5107  	parent       string
  5108  	urlParams_   gensupport.URLParams
  5109  	ifNoneMatch_ string
  5110  	ctx_         context.Context
  5111  	header_      http.Header
  5112  }
  5113  
  5114  // List: Lists information about app profiles in an instance.
  5115  //
  5116  //   - parent: The unique name of the instance for which a list of app profiles
  5117  //     is requested. Values are of the form
  5118  //     `projects/{project}/instances/{instance}`. Use `{instance} = '-'` to list
  5119  //     AppProfiles for all Instances in a project, e.g.,
  5120  //     `projects/myproject/instances/-`.
  5121  func (r *ProjectsInstancesAppProfilesService) List(parent string) *ProjectsInstancesAppProfilesListCall {
  5122  	c := &ProjectsInstancesAppProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5123  	c.parent = parent
  5124  	return c
  5125  }
  5126  
  5127  // PageSize sets the optional parameter "pageSize": Maximum number of results
  5128  // per page. A page_size of zero lets the server choose the number of items to
  5129  // return. A page_size which is strictly positive will return at most that many
  5130  // items. A negative page_size will cause an error. Following the first
  5131  // request, subsequent paginated calls are not required to pass a page_size. If
  5132  // a page_size is set in subsequent calls, it must match the page_size given in
  5133  // the first request.
  5134  func (c *ProjectsInstancesAppProfilesListCall) PageSize(pageSize int64) *ProjectsInstancesAppProfilesListCall {
  5135  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5136  	return c
  5137  }
  5138  
  5139  // PageToken sets the optional parameter "pageToken": The value of
  5140  // `next_page_token` returned by a previous call.
  5141  func (c *ProjectsInstancesAppProfilesListCall) PageToken(pageToken string) *ProjectsInstancesAppProfilesListCall {
  5142  	c.urlParams_.Set("pageToken", pageToken)
  5143  	return c
  5144  }
  5145  
  5146  // Fields allows partial responses to be retrieved. See
  5147  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5148  // details.
  5149  func (c *ProjectsInstancesAppProfilesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesListCall {
  5150  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5151  	return c
  5152  }
  5153  
  5154  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5155  // object's ETag matches the given value. This is useful for getting updates
  5156  // only after the object has changed since the last request.
  5157  func (c *ProjectsInstancesAppProfilesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesAppProfilesListCall {
  5158  	c.ifNoneMatch_ = entityTag
  5159  	return c
  5160  }
  5161  
  5162  // Context sets the context to be used in this call's Do method.
  5163  func (c *ProjectsInstancesAppProfilesListCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesListCall {
  5164  	c.ctx_ = ctx
  5165  	return c
  5166  }
  5167  
  5168  // Header returns a http.Header that can be modified by the caller to add
  5169  // headers to the request.
  5170  func (c *ProjectsInstancesAppProfilesListCall) Header() http.Header {
  5171  	if c.header_ == nil {
  5172  		c.header_ = make(http.Header)
  5173  	}
  5174  	return c.header_
  5175  }
  5176  
  5177  func (c *ProjectsInstancesAppProfilesListCall) doRequest(alt string) (*http.Response, error) {
  5178  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5179  	if c.ifNoneMatch_ != "" {
  5180  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5181  	}
  5182  	var body io.Reader = nil
  5183  	c.urlParams_.Set("alt", alt)
  5184  	c.urlParams_.Set("prettyPrint", "false")
  5185  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/appProfiles")
  5186  	urls += "?" + c.urlParams_.Encode()
  5187  	req, err := http.NewRequest("GET", urls, body)
  5188  	if err != nil {
  5189  		return nil, err
  5190  	}
  5191  	req.Header = reqHeaders
  5192  	googleapi.Expand(req.URL, map[string]string{
  5193  		"parent": c.parent,
  5194  	})
  5195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5196  }
  5197  
  5198  // Do executes the "bigtableadmin.projects.instances.appProfiles.list" call.
  5199  // Any non-2xx status code is an error. Response headers are in either
  5200  // *ListAppProfilesResponse.ServerResponse.Header or (if a response was
  5201  // returned at all) in error.(*googleapi.Error).Header. Use
  5202  // googleapi.IsNotModified to check whether the returned error was because
  5203  // http.StatusNotModified was returned.
  5204  func (c *ProjectsInstancesAppProfilesListCall) Do(opts ...googleapi.CallOption) (*ListAppProfilesResponse, error) {
  5205  	gensupport.SetOptions(c.urlParams_, opts...)
  5206  	res, err := c.doRequest("json")
  5207  	if res != nil && res.StatusCode == http.StatusNotModified {
  5208  		if res.Body != nil {
  5209  			res.Body.Close()
  5210  		}
  5211  		return nil, gensupport.WrapError(&googleapi.Error{
  5212  			Code:   res.StatusCode,
  5213  			Header: res.Header,
  5214  		})
  5215  	}
  5216  	if err != nil {
  5217  		return nil, err
  5218  	}
  5219  	defer googleapi.CloseBody(res)
  5220  	if err := googleapi.CheckResponse(res); err != nil {
  5221  		return nil, gensupport.WrapError(err)
  5222  	}
  5223  	ret := &ListAppProfilesResponse{
  5224  		ServerResponse: googleapi.ServerResponse{
  5225  			Header:         res.Header,
  5226  			HTTPStatusCode: res.StatusCode,
  5227  		},
  5228  	}
  5229  	target := &ret
  5230  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5231  		return nil, err
  5232  	}
  5233  	return ret, nil
  5234  }
  5235  
  5236  // Pages invokes f for each page of results.
  5237  // A non-nil error returned from f will halt the iteration.
  5238  // The provided context supersedes any context provided to the Context method.
  5239  func (c *ProjectsInstancesAppProfilesListCall) Pages(ctx context.Context, f func(*ListAppProfilesResponse) error) error {
  5240  	c.ctx_ = ctx
  5241  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5242  	for {
  5243  		x, err := c.Do()
  5244  		if err != nil {
  5245  			return err
  5246  		}
  5247  		if err := f(x); err != nil {
  5248  			return err
  5249  		}
  5250  		if x.NextPageToken == "" {
  5251  			return nil
  5252  		}
  5253  		c.PageToken(x.NextPageToken)
  5254  	}
  5255  }
  5256  
  5257  type ProjectsInstancesAppProfilesPatchCall struct {
  5258  	s          *Service
  5259  	name       string
  5260  	appprofile *AppProfile
  5261  	urlParams_ gensupport.URLParams
  5262  	ctx_       context.Context
  5263  	header_    http.Header
  5264  }
  5265  
  5266  // Patch: Updates an app profile within an instance.
  5267  //
  5268  //   - name: The unique name of the app profile. Values are of the form
  5269  //     `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.
  5270  func (r *ProjectsInstancesAppProfilesService) Patch(name string, appprofile *AppProfile) *ProjectsInstancesAppProfilesPatchCall {
  5271  	c := &ProjectsInstancesAppProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5272  	c.name = name
  5273  	c.appprofile = appprofile
  5274  	return c
  5275  }
  5276  
  5277  // IgnoreWarnings sets the optional parameter "ignoreWarnings": If true, ignore
  5278  // safety checks when updating the app profile.
  5279  func (c *ProjectsInstancesAppProfilesPatchCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesPatchCall {
  5280  	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
  5281  	return c
  5282  }
  5283  
  5284  // UpdateMask sets the optional parameter "updateMask": Required. The subset of
  5285  // app profile fields which should be replaced. If unset, all fields will be
  5286  // replaced.
  5287  func (c *ProjectsInstancesAppProfilesPatchCall) UpdateMask(updateMask string) *ProjectsInstancesAppProfilesPatchCall {
  5288  	c.urlParams_.Set("updateMask", updateMask)
  5289  	return c
  5290  }
  5291  
  5292  // Fields allows partial responses to be retrieved. See
  5293  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5294  // details.
  5295  func (c *ProjectsInstancesAppProfilesPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesPatchCall {
  5296  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5297  	return c
  5298  }
  5299  
  5300  // Context sets the context to be used in this call's Do method.
  5301  func (c *ProjectsInstancesAppProfilesPatchCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesPatchCall {
  5302  	c.ctx_ = ctx
  5303  	return c
  5304  }
  5305  
  5306  // Header returns a http.Header that can be modified by the caller to add
  5307  // headers to the request.
  5308  func (c *ProjectsInstancesAppProfilesPatchCall) Header() http.Header {
  5309  	if c.header_ == nil {
  5310  		c.header_ = make(http.Header)
  5311  	}
  5312  	return c.header_
  5313  }
  5314  
  5315  func (c *ProjectsInstancesAppProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
  5316  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5317  	var body io.Reader = nil
  5318  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appprofile)
  5319  	if err != nil {
  5320  		return nil, err
  5321  	}
  5322  	c.urlParams_.Set("alt", alt)
  5323  	c.urlParams_.Set("prettyPrint", "false")
  5324  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  5325  	urls += "?" + c.urlParams_.Encode()
  5326  	req, err := http.NewRequest("PATCH", urls, body)
  5327  	if err != nil {
  5328  		return nil, err
  5329  	}
  5330  	req.Header = reqHeaders
  5331  	googleapi.Expand(req.URL, map[string]string{
  5332  		"name": c.name,
  5333  	})
  5334  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5335  }
  5336  
  5337  // Do executes the "bigtableadmin.projects.instances.appProfiles.patch" call.
  5338  // Any non-2xx status code is an error. Response headers are in either
  5339  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5340  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5341  // whether the returned error was because http.StatusNotModified was returned.
  5342  func (c *ProjectsInstancesAppProfilesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5343  	gensupport.SetOptions(c.urlParams_, opts...)
  5344  	res, err := c.doRequest("json")
  5345  	if res != nil && res.StatusCode == http.StatusNotModified {
  5346  		if res.Body != nil {
  5347  			res.Body.Close()
  5348  		}
  5349  		return nil, gensupport.WrapError(&googleapi.Error{
  5350  			Code:   res.StatusCode,
  5351  			Header: res.Header,
  5352  		})
  5353  	}
  5354  	if err != nil {
  5355  		return nil, err
  5356  	}
  5357  	defer googleapi.CloseBody(res)
  5358  	if err := googleapi.CheckResponse(res); err != nil {
  5359  		return nil, gensupport.WrapError(err)
  5360  	}
  5361  	ret := &Operation{
  5362  		ServerResponse: googleapi.ServerResponse{
  5363  			Header:         res.Header,
  5364  			HTTPStatusCode: res.StatusCode,
  5365  		},
  5366  	}
  5367  	target := &ret
  5368  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5369  		return nil, err
  5370  	}
  5371  	return ret, nil
  5372  }
  5373  
  5374  type ProjectsInstancesClustersCreateCall struct {
  5375  	s          *Service
  5376  	parent     string
  5377  	cluster    *Cluster
  5378  	urlParams_ gensupport.URLParams
  5379  	ctx_       context.Context
  5380  	header_    http.Header
  5381  }
  5382  
  5383  // Create: Creates a cluster within an instance. Note that exactly one of
  5384  // Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config
  5385  // can be set. If serve_nodes is set to non-zero, then the cluster is manually
  5386  // scaled. If cluster_config.cluster_autoscaling_config is non-empty, then
  5387  // autoscaling is enabled.
  5388  //
  5389  //   - parent: The unique name of the instance in which to create the new
  5390  //     cluster. Values are of the form `projects/{project}/instances/{instance}`.
  5391  func (r *ProjectsInstancesClustersService) Create(parent string, cluster *Cluster) *ProjectsInstancesClustersCreateCall {
  5392  	c := &ProjectsInstancesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5393  	c.parent = parent
  5394  	c.cluster = cluster
  5395  	return c
  5396  }
  5397  
  5398  // ClusterId sets the optional parameter "clusterId": Required. The ID to be
  5399  // used when referring to the new cluster within its instance, e.g., just
  5400  // `mycluster` rather than
  5401  // `projects/myproject/instances/myinstance/clusters/mycluster`.
  5402  func (c *ProjectsInstancesClustersCreateCall) ClusterId(clusterId string) *ProjectsInstancesClustersCreateCall {
  5403  	c.urlParams_.Set("clusterId", clusterId)
  5404  	return c
  5405  }
  5406  
  5407  // Fields allows partial responses to be retrieved. See
  5408  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5409  // details.
  5410  func (c *ProjectsInstancesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersCreateCall {
  5411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5412  	return c
  5413  }
  5414  
  5415  // Context sets the context to be used in this call's Do method.
  5416  func (c *ProjectsInstancesClustersCreateCall) Context(ctx context.Context) *ProjectsInstancesClustersCreateCall {
  5417  	c.ctx_ = ctx
  5418  	return c
  5419  }
  5420  
  5421  // Header returns a http.Header that can be modified by the caller to add
  5422  // headers to the request.
  5423  func (c *ProjectsInstancesClustersCreateCall) Header() http.Header {
  5424  	if c.header_ == nil {
  5425  		c.header_ = make(http.Header)
  5426  	}
  5427  	return c.header_
  5428  }
  5429  
  5430  func (c *ProjectsInstancesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
  5431  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5432  	var body io.Reader = nil
  5433  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  5434  	if err != nil {
  5435  		return nil, err
  5436  	}
  5437  	c.urlParams_.Set("alt", alt)
  5438  	c.urlParams_.Set("prettyPrint", "false")
  5439  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/clusters")
  5440  	urls += "?" + c.urlParams_.Encode()
  5441  	req, err := http.NewRequest("POST", urls, body)
  5442  	if err != nil {
  5443  		return nil, err
  5444  	}
  5445  	req.Header = reqHeaders
  5446  	googleapi.Expand(req.URL, map[string]string{
  5447  		"parent": c.parent,
  5448  	})
  5449  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5450  }
  5451  
  5452  // Do executes the "bigtableadmin.projects.instances.clusters.create" call.
  5453  // Any non-2xx status code is an error. Response headers are in either
  5454  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5455  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5456  // whether the returned error was because http.StatusNotModified was returned.
  5457  func (c *ProjectsInstancesClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5458  	gensupport.SetOptions(c.urlParams_, opts...)
  5459  	res, err := c.doRequest("json")
  5460  	if res != nil && res.StatusCode == http.StatusNotModified {
  5461  		if res.Body != nil {
  5462  			res.Body.Close()
  5463  		}
  5464  		return nil, gensupport.WrapError(&googleapi.Error{
  5465  			Code:   res.StatusCode,
  5466  			Header: res.Header,
  5467  		})
  5468  	}
  5469  	if err != nil {
  5470  		return nil, err
  5471  	}
  5472  	defer googleapi.CloseBody(res)
  5473  	if err := googleapi.CheckResponse(res); err != nil {
  5474  		return nil, gensupport.WrapError(err)
  5475  	}
  5476  	ret := &Operation{
  5477  		ServerResponse: googleapi.ServerResponse{
  5478  			Header:         res.Header,
  5479  			HTTPStatusCode: res.StatusCode,
  5480  		},
  5481  	}
  5482  	target := &ret
  5483  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5484  		return nil, err
  5485  	}
  5486  	return ret, nil
  5487  }
  5488  
  5489  type ProjectsInstancesClustersDeleteCall struct {
  5490  	s          *Service
  5491  	name       string
  5492  	urlParams_ gensupport.URLParams
  5493  	ctx_       context.Context
  5494  	header_    http.Header
  5495  }
  5496  
  5497  // Delete: Deletes a cluster from an instance.
  5498  //
  5499  //   - name: The unique name of the cluster to be deleted. Values are of the form
  5500  //     `projects/{project}/instances/{instance}/clusters/{cluster}`.
  5501  func (r *ProjectsInstancesClustersService) Delete(name string) *ProjectsInstancesClustersDeleteCall {
  5502  	c := &ProjectsInstancesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5503  	c.name = name
  5504  	return c
  5505  }
  5506  
  5507  // Fields allows partial responses to be retrieved. See
  5508  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5509  // details.
  5510  func (c *ProjectsInstancesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersDeleteCall {
  5511  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5512  	return c
  5513  }
  5514  
  5515  // Context sets the context to be used in this call's Do method.
  5516  func (c *ProjectsInstancesClustersDeleteCall) Context(ctx context.Context) *ProjectsInstancesClustersDeleteCall {
  5517  	c.ctx_ = ctx
  5518  	return c
  5519  }
  5520  
  5521  // Header returns a http.Header that can be modified by the caller to add
  5522  // headers to the request.
  5523  func (c *ProjectsInstancesClustersDeleteCall) Header() http.Header {
  5524  	if c.header_ == nil {
  5525  		c.header_ = make(http.Header)
  5526  	}
  5527  	return c.header_
  5528  }
  5529  
  5530  func (c *ProjectsInstancesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
  5531  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5532  	var body io.Reader = nil
  5533  	c.urlParams_.Set("alt", alt)
  5534  	c.urlParams_.Set("prettyPrint", "false")
  5535  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  5536  	urls += "?" + c.urlParams_.Encode()
  5537  	req, err := http.NewRequest("DELETE", urls, body)
  5538  	if err != nil {
  5539  		return nil, err
  5540  	}
  5541  	req.Header = reqHeaders
  5542  	googleapi.Expand(req.URL, map[string]string{
  5543  		"name": c.name,
  5544  	})
  5545  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5546  }
  5547  
  5548  // Do executes the "bigtableadmin.projects.instances.clusters.delete" call.
  5549  // Any non-2xx status code is an error. Response headers are in either
  5550  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  5551  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5552  // whether the returned error was because http.StatusNotModified was returned.
  5553  func (c *ProjectsInstancesClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  5554  	gensupport.SetOptions(c.urlParams_, opts...)
  5555  	res, err := c.doRequest("json")
  5556  	if res != nil && res.StatusCode == http.StatusNotModified {
  5557  		if res.Body != nil {
  5558  			res.Body.Close()
  5559  		}
  5560  		return nil, gensupport.WrapError(&googleapi.Error{
  5561  			Code:   res.StatusCode,
  5562  			Header: res.Header,
  5563  		})
  5564  	}
  5565  	if err != nil {
  5566  		return nil, err
  5567  	}
  5568  	defer googleapi.CloseBody(res)
  5569  	if err := googleapi.CheckResponse(res); err != nil {
  5570  		return nil, gensupport.WrapError(err)
  5571  	}
  5572  	ret := &Empty{
  5573  		ServerResponse: googleapi.ServerResponse{
  5574  			Header:         res.Header,
  5575  			HTTPStatusCode: res.StatusCode,
  5576  		},
  5577  	}
  5578  	target := &ret
  5579  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5580  		return nil, err
  5581  	}
  5582  	return ret, nil
  5583  }
  5584  
  5585  type ProjectsInstancesClustersGetCall struct {
  5586  	s            *Service
  5587  	name         string
  5588  	urlParams_   gensupport.URLParams
  5589  	ifNoneMatch_ string
  5590  	ctx_         context.Context
  5591  	header_      http.Header
  5592  }
  5593  
  5594  // Get: Gets information about a cluster.
  5595  //
  5596  //   - name: The unique name of the requested cluster. Values are of the form
  5597  //     `projects/{project}/instances/{instance}/clusters/{cluster}`.
  5598  func (r *ProjectsInstancesClustersService) Get(name string) *ProjectsInstancesClustersGetCall {
  5599  	c := &ProjectsInstancesClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5600  	c.name = name
  5601  	return c
  5602  }
  5603  
  5604  // Fields allows partial responses to be retrieved. See
  5605  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5606  // details.
  5607  func (c *ProjectsInstancesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersGetCall {
  5608  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5609  	return c
  5610  }
  5611  
  5612  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5613  // object's ETag matches the given value. This is useful for getting updates
  5614  // only after the object has changed since the last request.
  5615  func (c *ProjectsInstancesClustersGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersGetCall {
  5616  	c.ifNoneMatch_ = entityTag
  5617  	return c
  5618  }
  5619  
  5620  // Context sets the context to be used in this call's Do method.
  5621  func (c *ProjectsInstancesClustersGetCall) Context(ctx context.Context) *ProjectsInstancesClustersGetCall {
  5622  	c.ctx_ = ctx
  5623  	return c
  5624  }
  5625  
  5626  // Header returns a http.Header that can be modified by the caller to add
  5627  // headers to the request.
  5628  func (c *ProjectsInstancesClustersGetCall) Header() http.Header {
  5629  	if c.header_ == nil {
  5630  		c.header_ = make(http.Header)
  5631  	}
  5632  	return c.header_
  5633  }
  5634  
  5635  func (c *ProjectsInstancesClustersGetCall) doRequest(alt string) (*http.Response, error) {
  5636  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5637  	if c.ifNoneMatch_ != "" {
  5638  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5639  	}
  5640  	var body io.Reader = nil
  5641  	c.urlParams_.Set("alt", alt)
  5642  	c.urlParams_.Set("prettyPrint", "false")
  5643  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  5644  	urls += "?" + c.urlParams_.Encode()
  5645  	req, err := http.NewRequest("GET", urls, body)
  5646  	if err != nil {
  5647  		return nil, err
  5648  	}
  5649  	req.Header = reqHeaders
  5650  	googleapi.Expand(req.URL, map[string]string{
  5651  		"name": c.name,
  5652  	})
  5653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5654  }
  5655  
  5656  // Do executes the "bigtableadmin.projects.instances.clusters.get" call.
  5657  // Any non-2xx status code is an error. Response headers are in either
  5658  // *Cluster.ServerResponse.Header or (if a response was returned at all) in
  5659  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5660  // whether the returned error was because http.StatusNotModified was returned.
  5661  func (c *ProjectsInstancesClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
  5662  	gensupport.SetOptions(c.urlParams_, opts...)
  5663  	res, err := c.doRequest("json")
  5664  	if res != nil && res.StatusCode == http.StatusNotModified {
  5665  		if res.Body != nil {
  5666  			res.Body.Close()
  5667  		}
  5668  		return nil, gensupport.WrapError(&googleapi.Error{
  5669  			Code:   res.StatusCode,
  5670  			Header: res.Header,
  5671  		})
  5672  	}
  5673  	if err != nil {
  5674  		return nil, err
  5675  	}
  5676  	defer googleapi.CloseBody(res)
  5677  	if err := googleapi.CheckResponse(res); err != nil {
  5678  		return nil, gensupport.WrapError(err)
  5679  	}
  5680  	ret := &Cluster{
  5681  		ServerResponse: googleapi.ServerResponse{
  5682  			Header:         res.Header,
  5683  			HTTPStatusCode: res.StatusCode,
  5684  		},
  5685  	}
  5686  	target := &ret
  5687  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5688  		return nil, err
  5689  	}
  5690  	return ret, nil
  5691  }
  5692  
  5693  type ProjectsInstancesClustersListCall struct {
  5694  	s            *Service
  5695  	parent       string
  5696  	urlParams_   gensupport.URLParams
  5697  	ifNoneMatch_ string
  5698  	ctx_         context.Context
  5699  	header_      http.Header
  5700  }
  5701  
  5702  // List: Lists information about clusters in an instance.
  5703  //
  5704  //   - parent: The unique name of the instance for which a list of clusters is
  5705  //     requested. Values are of the form
  5706  //     `projects/{project}/instances/{instance}`. Use `{instance} = '-'` to list
  5707  //     Clusters for all Instances in a project, e.g.,
  5708  //     `projects/myproject/instances/-`.
  5709  func (r *ProjectsInstancesClustersService) List(parent string) *ProjectsInstancesClustersListCall {
  5710  	c := &ProjectsInstancesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5711  	c.parent = parent
  5712  	return c
  5713  }
  5714  
  5715  // PageToken sets the optional parameter "pageToken": DEPRECATED: This field is
  5716  // unused and ignored.
  5717  func (c *ProjectsInstancesClustersListCall) PageToken(pageToken string) *ProjectsInstancesClustersListCall {
  5718  	c.urlParams_.Set("pageToken", pageToken)
  5719  	return c
  5720  }
  5721  
  5722  // Fields allows partial responses to be retrieved. See
  5723  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5724  // details.
  5725  func (c *ProjectsInstancesClustersListCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersListCall {
  5726  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5727  	return c
  5728  }
  5729  
  5730  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5731  // object's ETag matches the given value. This is useful for getting updates
  5732  // only after the object has changed since the last request.
  5733  func (c *ProjectsInstancesClustersListCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersListCall {
  5734  	c.ifNoneMatch_ = entityTag
  5735  	return c
  5736  }
  5737  
  5738  // Context sets the context to be used in this call's Do method.
  5739  func (c *ProjectsInstancesClustersListCall) Context(ctx context.Context) *ProjectsInstancesClustersListCall {
  5740  	c.ctx_ = ctx
  5741  	return c
  5742  }
  5743  
  5744  // Header returns a http.Header that can be modified by the caller to add
  5745  // headers to the request.
  5746  func (c *ProjectsInstancesClustersListCall) Header() http.Header {
  5747  	if c.header_ == nil {
  5748  		c.header_ = make(http.Header)
  5749  	}
  5750  	return c.header_
  5751  }
  5752  
  5753  func (c *ProjectsInstancesClustersListCall) doRequest(alt string) (*http.Response, error) {
  5754  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5755  	if c.ifNoneMatch_ != "" {
  5756  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5757  	}
  5758  	var body io.Reader = nil
  5759  	c.urlParams_.Set("alt", alt)
  5760  	c.urlParams_.Set("prettyPrint", "false")
  5761  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/clusters")
  5762  	urls += "?" + c.urlParams_.Encode()
  5763  	req, err := http.NewRequest("GET", urls, body)
  5764  	if err != nil {
  5765  		return nil, err
  5766  	}
  5767  	req.Header = reqHeaders
  5768  	googleapi.Expand(req.URL, map[string]string{
  5769  		"parent": c.parent,
  5770  	})
  5771  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5772  }
  5773  
  5774  // Do executes the "bigtableadmin.projects.instances.clusters.list" call.
  5775  // Any non-2xx status code is an error. Response headers are in either
  5776  // *ListClustersResponse.ServerResponse.Header or (if a response was returned
  5777  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5778  // check whether the returned error was because http.StatusNotModified was
  5779  // returned.
  5780  func (c *ProjectsInstancesClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
  5781  	gensupport.SetOptions(c.urlParams_, opts...)
  5782  	res, err := c.doRequest("json")
  5783  	if res != nil && res.StatusCode == http.StatusNotModified {
  5784  		if res.Body != nil {
  5785  			res.Body.Close()
  5786  		}
  5787  		return nil, gensupport.WrapError(&googleapi.Error{
  5788  			Code:   res.StatusCode,
  5789  			Header: res.Header,
  5790  		})
  5791  	}
  5792  	if err != nil {
  5793  		return nil, err
  5794  	}
  5795  	defer googleapi.CloseBody(res)
  5796  	if err := googleapi.CheckResponse(res); err != nil {
  5797  		return nil, gensupport.WrapError(err)
  5798  	}
  5799  	ret := &ListClustersResponse{
  5800  		ServerResponse: googleapi.ServerResponse{
  5801  			Header:         res.Header,
  5802  			HTTPStatusCode: res.StatusCode,
  5803  		},
  5804  	}
  5805  	target := &ret
  5806  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5807  		return nil, err
  5808  	}
  5809  	return ret, nil
  5810  }
  5811  
  5812  // Pages invokes f for each page of results.
  5813  // A non-nil error returned from f will halt the iteration.
  5814  // The provided context supersedes any context provided to the Context method.
  5815  func (c *ProjectsInstancesClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) error) error {
  5816  	c.ctx_ = ctx
  5817  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5818  	for {
  5819  		x, err := c.Do()
  5820  		if err != nil {
  5821  			return err
  5822  		}
  5823  		if err := f(x); err != nil {
  5824  			return err
  5825  		}
  5826  		if x.NextPageToken == "" {
  5827  			return nil
  5828  		}
  5829  		c.PageToken(x.NextPageToken)
  5830  	}
  5831  }
  5832  
  5833  type ProjectsInstancesClustersPartialUpdateClusterCall struct {
  5834  	s          *Service
  5835  	name       string
  5836  	cluster    *Cluster
  5837  	urlParams_ gensupport.URLParams
  5838  	ctx_       context.Context
  5839  	header_    http.Header
  5840  }
  5841  
  5842  // PartialUpdateCluster: Partially updates a cluster within a project. This
  5843  // method is the preferred way to update a Cluster. To enable and update
  5844  // autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling
  5845  // is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that
  5846  // updates to it are ignored. Note that an update cannot simultaneously set
  5847  // serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to
  5848  // non-empty, and also specify both in the update_mask. To disable autoscaling,
  5849  // clear cluster_config.cluster_autoscaling_config, and explicitly set a
  5850  // serve_node count via the update_mask.
  5851  //
  5852  //   - name: The unique name of the cluster. Values are of the form
  5853  //     `projects/{project}/instances/{instance}/clusters/a-z*`.
  5854  func (r *ProjectsInstancesClustersService) PartialUpdateCluster(name string, cluster *Cluster) *ProjectsInstancesClustersPartialUpdateClusterCall {
  5855  	c := &ProjectsInstancesClustersPartialUpdateClusterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5856  	c.name = name
  5857  	c.cluster = cluster
  5858  	return c
  5859  }
  5860  
  5861  // UpdateMask sets the optional parameter "updateMask": Required. The subset of
  5862  // Cluster fields which should be replaced.
  5863  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) UpdateMask(updateMask string) *ProjectsInstancesClustersPartialUpdateClusterCall {
  5864  	c.urlParams_.Set("updateMask", updateMask)
  5865  	return c
  5866  }
  5867  
  5868  // Fields allows partial responses to be retrieved. See
  5869  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5870  // details.
  5871  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersPartialUpdateClusterCall {
  5872  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5873  	return c
  5874  }
  5875  
  5876  // Context sets the context to be used in this call's Do method.
  5877  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) Context(ctx context.Context) *ProjectsInstancesClustersPartialUpdateClusterCall {
  5878  	c.ctx_ = ctx
  5879  	return c
  5880  }
  5881  
  5882  // Header returns a http.Header that can be modified by the caller to add
  5883  // headers to the request.
  5884  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) Header() http.Header {
  5885  	if c.header_ == nil {
  5886  		c.header_ = make(http.Header)
  5887  	}
  5888  	return c.header_
  5889  }
  5890  
  5891  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) doRequest(alt string) (*http.Response, error) {
  5892  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5893  	var body io.Reader = nil
  5894  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  5895  	if err != nil {
  5896  		return nil, err
  5897  	}
  5898  	c.urlParams_.Set("alt", alt)
  5899  	c.urlParams_.Set("prettyPrint", "false")
  5900  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  5901  	urls += "?" + c.urlParams_.Encode()
  5902  	req, err := http.NewRequest("PATCH", urls, body)
  5903  	if err != nil {
  5904  		return nil, err
  5905  	}
  5906  	req.Header = reqHeaders
  5907  	googleapi.Expand(req.URL, map[string]string{
  5908  		"name": c.name,
  5909  	})
  5910  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5911  }
  5912  
  5913  // Do executes the "bigtableadmin.projects.instances.clusters.partialUpdateCluster" call.
  5914  // Any non-2xx status code is an error. Response headers are in either
  5915  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5916  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5917  // whether the returned error was because http.StatusNotModified was returned.
  5918  func (c *ProjectsInstancesClustersPartialUpdateClusterCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5919  	gensupport.SetOptions(c.urlParams_, opts...)
  5920  	res, err := c.doRequest("json")
  5921  	if res != nil && res.StatusCode == http.StatusNotModified {
  5922  		if res.Body != nil {
  5923  			res.Body.Close()
  5924  		}
  5925  		return nil, gensupport.WrapError(&googleapi.Error{
  5926  			Code:   res.StatusCode,
  5927  			Header: res.Header,
  5928  		})
  5929  	}
  5930  	if err != nil {
  5931  		return nil, err
  5932  	}
  5933  	defer googleapi.CloseBody(res)
  5934  	if err := googleapi.CheckResponse(res); err != nil {
  5935  		return nil, gensupport.WrapError(err)
  5936  	}
  5937  	ret := &Operation{
  5938  		ServerResponse: googleapi.ServerResponse{
  5939  			Header:         res.Header,
  5940  			HTTPStatusCode: res.StatusCode,
  5941  		},
  5942  	}
  5943  	target := &ret
  5944  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5945  		return nil, err
  5946  	}
  5947  	return ret, nil
  5948  }
  5949  
  5950  type ProjectsInstancesClustersUpdateCall struct {
  5951  	s          *Service
  5952  	name       string
  5953  	cluster    *Cluster
  5954  	urlParams_ gensupport.URLParams
  5955  	ctx_       context.Context
  5956  	header_    http.Header
  5957  }
  5958  
  5959  // Update: Updates a cluster within an instance. Note that UpdateCluster does
  5960  // not support updating cluster_config.cluster_autoscaling_config. In order to
  5961  // update it, you must use PartialUpdateCluster.
  5962  //
  5963  //   - name: The unique name of the cluster. Values are of the form
  5964  //     `projects/{project}/instances/{instance}/clusters/a-z*`.
  5965  func (r *ProjectsInstancesClustersService) Update(name string, cluster *Cluster) *ProjectsInstancesClustersUpdateCall {
  5966  	c := &ProjectsInstancesClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5967  	c.name = name
  5968  	c.cluster = cluster
  5969  	return c
  5970  }
  5971  
  5972  // Fields allows partial responses to be retrieved. See
  5973  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5974  // details.
  5975  func (c *ProjectsInstancesClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersUpdateCall {
  5976  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5977  	return c
  5978  }
  5979  
  5980  // Context sets the context to be used in this call's Do method.
  5981  func (c *ProjectsInstancesClustersUpdateCall) Context(ctx context.Context) *ProjectsInstancesClustersUpdateCall {
  5982  	c.ctx_ = ctx
  5983  	return c
  5984  }
  5985  
  5986  // Header returns a http.Header that can be modified by the caller to add
  5987  // headers to the request.
  5988  func (c *ProjectsInstancesClustersUpdateCall) Header() http.Header {
  5989  	if c.header_ == nil {
  5990  		c.header_ = make(http.Header)
  5991  	}
  5992  	return c.header_
  5993  }
  5994  
  5995  func (c *ProjectsInstancesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
  5996  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5997  	var body io.Reader = nil
  5998  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  5999  	if err != nil {
  6000  		return nil, err
  6001  	}
  6002  	c.urlParams_.Set("alt", alt)
  6003  	c.urlParams_.Set("prettyPrint", "false")
  6004  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  6005  	urls += "?" + c.urlParams_.Encode()
  6006  	req, err := http.NewRequest("PUT", urls, body)
  6007  	if err != nil {
  6008  		return nil, err
  6009  	}
  6010  	req.Header = reqHeaders
  6011  	googleapi.Expand(req.URL, map[string]string{
  6012  		"name": c.name,
  6013  	})
  6014  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6015  }
  6016  
  6017  // Do executes the "bigtableadmin.projects.instances.clusters.update" call.
  6018  // Any non-2xx status code is an error. Response headers are in either
  6019  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6020  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6021  // whether the returned error was because http.StatusNotModified was returned.
  6022  func (c *ProjectsInstancesClustersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6023  	gensupport.SetOptions(c.urlParams_, opts...)
  6024  	res, err := c.doRequest("json")
  6025  	if res != nil && res.StatusCode == http.StatusNotModified {
  6026  		if res.Body != nil {
  6027  			res.Body.Close()
  6028  		}
  6029  		return nil, gensupport.WrapError(&googleapi.Error{
  6030  			Code:   res.StatusCode,
  6031  			Header: res.Header,
  6032  		})
  6033  	}
  6034  	if err != nil {
  6035  		return nil, err
  6036  	}
  6037  	defer googleapi.CloseBody(res)
  6038  	if err := googleapi.CheckResponse(res); err != nil {
  6039  		return nil, gensupport.WrapError(err)
  6040  	}
  6041  	ret := &Operation{
  6042  		ServerResponse: googleapi.ServerResponse{
  6043  			Header:         res.Header,
  6044  			HTTPStatusCode: res.StatusCode,
  6045  		},
  6046  	}
  6047  	target := &ret
  6048  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6049  		return nil, err
  6050  	}
  6051  	return ret, nil
  6052  }
  6053  
  6054  type ProjectsInstancesClustersBackupsCopyCall struct {
  6055  	s                 *Service
  6056  	parent            string
  6057  	copybackuprequest *CopyBackupRequest
  6058  	urlParams_        gensupport.URLParams
  6059  	ctx_              context.Context
  6060  	header_           http.Header
  6061  }
  6062  
  6063  // Copy: Copy a Cloud Bigtable backup to a new backup in the destination
  6064  // cluster located in the destination instance and project.
  6065  //
  6066  //   - parent: The name of the destination cluster that will contain the backup
  6067  //     copy. The cluster must already exists. Values are of the form:
  6068  //     `projects/{project}/instances/{instance}/clusters/{cluster}`.
  6069  func (r *ProjectsInstancesClustersBackupsService) Copy(parent string, copybackuprequest *CopyBackupRequest) *ProjectsInstancesClustersBackupsCopyCall {
  6070  	c := &ProjectsInstancesClustersBackupsCopyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6071  	c.parent = parent
  6072  	c.copybackuprequest = copybackuprequest
  6073  	return c
  6074  }
  6075  
  6076  // Fields allows partial responses to be retrieved. See
  6077  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6078  // details.
  6079  func (c *ProjectsInstancesClustersBackupsCopyCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsCopyCall {
  6080  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6081  	return c
  6082  }
  6083  
  6084  // Context sets the context to be used in this call's Do method.
  6085  func (c *ProjectsInstancesClustersBackupsCopyCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsCopyCall {
  6086  	c.ctx_ = ctx
  6087  	return c
  6088  }
  6089  
  6090  // Header returns a http.Header that can be modified by the caller to add
  6091  // headers to the request.
  6092  func (c *ProjectsInstancesClustersBackupsCopyCall) Header() http.Header {
  6093  	if c.header_ == nil {
  6094  		c.header_ = make(http.Header)
  6095  	}
  6096  	return c.header_
  6097  }
  6098  
  6099  func (c *ProjectsInstancesClustersBackupsCopyCall) doRequest(alt string) (*http.Response, error) {
  6100  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6101  	var body io.Reader = nil
  6102  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.copybackuprequest)
  6103  	if err != nil {
  6104  		return nil, err
  6105  	}
  6106  	c.urlParams_.Set("alt", alt)
  6107  	c.urlParams_.Set("prettyPrint", "false")
  6108  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/backups:copy")
  6109  	urls += "?" + c.urlParams_.Encode()
  6110  	req, err := http.NewRequest("POST", urls, body)
  6111  	if err != nil {
  6112  		return nil, err
  6113  	}
  6114  	req.Header = reqHeaders
  6115  	googleapi.Expand(req.URL, map[string]string{
  6116  		"parent": c.parent,
  6117  	})
  6118  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6119  }
  6120  
  6121  // Do executes the "bigtableadmin.projects.instances.clusters.backups.copy" call.
  6122  // Any non-2xx status code is an error. Response headers are in either
  6123  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6124  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6125  // whether the returned error was because http.StatusNotModified was returned.
  6126  func (c *ProjectsInstancesClustersBackupsCopyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6127  	gensupport.SetOptions(c.urlParams_, opts...)
  6128  	res, err := c.doRequest("json")
  6129  	if res != nil && res.StatusCode == http.StatusNotModified {
  6130  		if res.Body != nil {
  6131  			res.Body.Close()
  6132  		}
  6133  		return nil, gensupport.WrapError(&googleapi.Error{
  6134  			Code:   res.StatusCode,
  6135  			Header: res.Header,
  6136  		})
  6137  	}
  6138  	if err != nil {
  6139  		return nil, err
  6140  	}
  6141  	defer googleapi.CloseBody(res)
  6142  	if err := googleapi.CheckResponse(res); err != nil {
  6143  		return nil, gensupport.WrapError(err)
  6144  	}
  6145  	ret := &Operation{
  6146  		ServerResponse: googleapi.ServerResponse{
  6147  			Header:         res.Header,
  6148  			HTTPStatusCode: res.StatusCode,
  6149  		},
  6150  	}
  6151  	target := &ret
  6152  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6153  		return nil, err
  6154  	}
  6155  	return ret, nil
  6156  }
  6157  
  6158  type ProjectsInstancesClustersBackupsCreateCall struct {
  6159  	s          *Service
  6160  	parent     string
  6161  	backup     *Backup
  6162  	urlParams_ gensupport.URLParams
  6163  	ctx_       context.Context
  6164  	header_    http.Header
  6165  }
  6166  
  6167  // Create: Starts creating a new Cloud Bigtable Backup. The returned backup
  6168  // long-running operation can be used to track creation of the backup. The
  6169  // metadata field type is CreateBackupMetadata. The response field type is
  6170  // Backup, if successful. Cancelling the returned operation will stop the
  6171  // creation and delete the backup.
  6172  //
  6173  //   - parent: This must be one of the clusters in the instance in which this
  6174  //     table is located. The backup will be stored in this cluster. Values are of
  6175  //     the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
  6176  func (r *ProjectsInstancesClustersBackupsService) Create(parent string, backup *Backup) *ProjectsInstancesClustersBackupsCreateCall {
  6177  	c := &ProjectsInstancesClustersBackupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6178  	c.parent = parent
  6179  	c.backup = backup
  6180  	return c
  6181  }
  6182  
  6183  // BackupId sets the optional parameter "backupId": Required. The id of the
  6184  // backup to be created. The `backup_id` along with the parent `parent` are
  6185  // combined as {parent}/backups/{backup_id} to create the full backup name, of
  6186  // the form:
  6187  // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_i
  6188  // d}`. This string must be between 1 and 50 characters in length and match the
  6189  // regex _a-zA-Z0-9*.
  6190  func (c *ProjectsInstancesClustersBackupsCreateCall) BackupId(backupId string) *ProjectsInstancesClustersBackupsCreateCall {
  6191  	c.urlParams_.Set("backupId", backupId)
  6192  	return c
  6193  }
  6194  
  6195  // Fields allows partial responses to be retrieved. See
  6196  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6197  // details.
  6198  func (c *ProjectsInstancesClustersBackupsCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsCreateCall {
  6199  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6200  	return c
  6201  }
  6202  
  6203  // Context sets the context to be used in this call's Do method.
  6204  func (c *ProjectsInstancesClustersBackupsCreateCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsCreateCall {
  6205  	c.ctx_ = ctx
  6206  	return c
  6207  }
  6208  
  6209  // Header returns a http.Header that can be modified by the caller to add
  6210  // headers to the request.
  6211  func (c *ProjectsInstancesClustersBackupsCreateCall) Header() http.Header {
  6212  	if c.header_ == nil {
  6213  		c.header_ = make(http.Header)
  6214  	}
  6215  	return c.header_
  6216  }
  6217  
  6218  func (c *ProjectsInstancesClustersBackupsCreateCall) doRequest(alt string) (*http.Response, error) {
  6219  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6220  	var body io.Reader = nil
  6221  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.backup)
  6222  	if err != nil {
  6223  		return nil, err
  6224  	}
  6225  	c.urlParams_.Set("alt", alt)
  6226  	c.urlParams_.Set("prettyPrint", "false")
  6227  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/backups")
  6228  	urls += "?" + c.urlParams_.Encode()
  6229  	req, err := http.NewRequest("POST", urls, body)
  6230  	if err != nil {
  6231  		return nil, err
  6232  	}
  6233  	req.Header = reqHeaders
  6234  	googleapi.Expand(req.URL, map[string]string{
  6235  		"parent": c.parent,
  6236  	})
  6237  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6238  }
  6239  
  6240  // Do executes the "bigtableadmin.projects.instances.clusters.backups.create" call.
  6241  // Any non-2xx status code is an error. Response headers are in either
  6242  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6243  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6244  // whether the returned error was because http.StatusNotModified was returned.
  6245  func (c *ProjectsInstancesClustersBackupsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6246  	gensupport.SetOptions(c.urlParams_, opts...)
  6247  	res, err := c.doRequest("json")
  6248  	if res != nil && res.StatusCode == http.StatusNotModified {
  6249  		if res.Body != nil {
  6250  			res.Body.Close()
  6251  		}
  6252  		return nil, gensupport.WrapError(&googleapi.Error{
  6253  			Code:   res.StatusCode,
  6254  			Header: res.Header,
  6255  		})
  6256  	}
  6257  	if err != nil {
  6258  		return nil, err
  6259  	}
  6260  	defer googleapi.CloseBody(res)
  6261  	if err := googleapi.CheckResponse(res); err != nil {
  6262  		return nil, gensupport.WrapError(err)
  6263  	}
  6264  	ret := &Operation{
  6265  		ServerResponse: googleapi.ServerResponse{
  6266  			Header:         res.Header,
  6267  			HTTPStatusCode: res.StatusCode,
  6268  		},
  6269  	}
  6270  	target := &ret
  6271  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6272  		return nil, err
  6273  	}
  6274  	return ret, nil
  6275  }
  6276  
  6277  type ProjectsInstancesClustersBackupsDeleteCall struct {
  6278  	s          *Service
  6279  	name       string
  6280  	urlParams_ gensupport.URLParams
  6281  	ctx_       context.Context
  6282  	header_    http.Header
  6283  }
  6284  
  6285  // Delete: Deletes a pending or completed Cloud Bigtable backup.
  6286  //
  6287  //   - name: Name of the backup to delete. Values are of the form
  6288  //     `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup
  6289  //     }`.
  6290  func (r *ProjectsInstancesClustersBackupsService) Delete(name string) *ProjectsInstancesClustersBackupsDeleteCall {
  6291  	c := &ProjectsInstancesClustersBackupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6292  	c.name = name
  6293  	return c
  6294  }
  6295  
  6296  // Fields allows partial responses to be retrieved. See
  6297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6298  // details.
  6299  func (c *ProjectsInstancesClustersBackupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsDeleteCall {
  6300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6301  	return c
  6302  }
  6303  
  6304  // Context sets the context to be used in this call's Do method.
  6305  func (c *ProjectsInstancesClustersBackupsDeleteCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsDeleteCall {
  6306  	c.ctx_ = ctx
  6307  	return c
  6308  }
  6309  
  6310  // Header returns a http.Header that can be modified by the caller to add
  6311  // headers to the request.
  6312  func (c *ProjectsInstancesClustersBackupsDeleteCall) Header() http.Header {
  6313  	if c.header_ == nil {
  6314  		c.header_ = make(http.Header)
  6315  	}
  6316  	return c.header_
  6317  }
  6318  
  6319  func (c *ProjectsInstancesClustersBackupsDeleteCall) doRequest(alt string) (*http.Response, error) {
  6320  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6321  	var body io.Reader = nil
  6322  	c.urlParams_.Set("alt", alt)
  6323  	c.urlParams_.Set("prettyPrint", "false")
  6324  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  6325  	urls += "?" + c.urlParams_.Encode()
  6326  	req, err := http.NewRequest("DELETE", urls, body)
  6327  	if err != nil {
  6328  		return nil, err
  6329  	}
  6330  	req.Header = reqHeaders
  6331  	googleapi.Expand(req.URL, map[string]string{
  6332  		"name": c.name,
  6333  	})
  6334  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6335  }
  6336  
  6337  // Do executes the "bigtableadmin.projects.instances.clusters.backups.delete" call.
  6338  // Any non-2xx status code is an error. Response headers are in either
  6339  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  6340  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6341  // whether the returned error was because http.StatusNotModified was returned.
  6342  func (c *ProjectsInstancesClustersBackupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  6343  	gensupport.SetOptions(c.urlParams_, opts...)
  6344  	res, err := c.doRequest("json")
  6345  	if res != nil && res.StatusCode == http.StatusNotModified {
  6346  		if res.Body != nil {
  6347  			res.Body.Close()
  6348  		}
  6349  		return nil, gensupport.WrapError(&googleapi.Error{
  6350  			Code:   res.StatusCode,
  6351  			Header: res.Header,
  6352  		})
  6353  	}
  6354  	if err != nil {
  6355  		return nil, err
  6356  	}
  6357  	defer googleapi.CloseBody(res)
  6358  	if err := googleapi.CheckResponse(res); err != nil {
  6359  		return nil, gensupport.WrapError(err)
  6360  	}
  6361  	ret := &Empty{
  6362  		ServerResponse: googleapi.ServerResponse{
  6363  			Header:         res.Header,
  6364  			HTTPStatusCode: res.StatusCode,
  6365  		},
  6366  	}
  6367  	target := &ret
  6368  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6369  		return nil, err
  6370  	}
  6371  	return ret, nil
  6372  }
  6373  
  6374  type ProjectsInstancesClustersBackupsGetCall struct {
  6375  	s            *Service
  6376  	name         string
  6377  	urlParams_   gensupport.URLParams
  6378  	ifNoneMatch_ string
  6379  	ctx_         context.Context
  6380  	header_      http.Header
  6381  }
  6382  
  6383  // Get: Gets metadata on a pending or completed Cloud Bigtable Backup.
  6384  //
  6385  //   - name: Name of the backup. Values are of the form
  6386  //     `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup
  6387  //     }`.
  6388  func (r *ProjectsInstancesClustersBackupsService) Get(name string) *ProjectsInstancesClustersBackupsGetCall {
  6389  	c := &ProjectsInstancesClustersBackupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6390  	c.name = name
  6391  	return c
  6392  }
  6393  
  6394  // Fields allows partial responses to be retrieved. See
  6395  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6396  // details.
  6397  func (c *ProjectsInstancesClustersBackupsGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsGetCall {
  6398  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6399  	return c
  6400  }
  6401  
  6402  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6403  // object's ETag matches the given value. This is useful for getting updates
  6404  // only after the object has changed since the last request.
  6405  func (c *ProjectsInstancesClustersBackupsGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersBackupsGetCall {
  6406  	c.ifNoneMatch_ = entityTag
  6407  	return c
  6408  }
  6409  
  6410  // Context sets the context to be used in this call's Do method.
  6411  func (c *ProjectsInstancesClustersBackupsGetCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsGetCall {
  6412  	c.ctx_ = ctx
  6413  	return c
  6414  }
  6415  
  6416  // Header returns a http.Header that can be modified by the caller to add
  6417  // headers to the request.
  6418  func (c *ProjectsInstancesClustersBackupsGetCall) Header() http.Header {
  6419  	if c.header_ == nil {
  6420  		c.header_ = make(http.Header)
  6421  	}
  6422  	return c.header_
  6423  }
  6424  
  6425  func (c *ProjectsInstancesClustersBackupsGetCall) doRequest(alt string) (*http.Response, error) {
  6426  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6427  	if c.ifNoneMatch_ != "" {
  6428  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6429  	}
  6430  	var body io.Reader = nil
  6431  	c.urlParams_.Set("alt", alt)
  6432  	c.urlParams_.Set("prettyPrint", "false")
  6433  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  6434  	urls += "?" + c.urlParams_.Encode()
  6435  	req, err := http.NewRequest("GET", urls, body)
  6436  	if err != nil {
  6437  		return nil, err
  6438  	}
  6439  	req.Header = reqHeaders
  6440  	googleapi.Expand(req.URL, map[string]string{
  6441  		"name": c.name,
  6442  	})
  6443  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6444  }
  6445  
  6446  // Do executes the "bigtableadmin.projects.instances.clusters.backups.get" call.
  6447  // Any non-2xx status code is an error. Response headers are in either
  6448  // *Backup.ServerResponse.Header or (if a response was returned at all) in
  6449  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6450  // whether the returned error was because http.StatusNotModified was returned.
  6451  func (c *ProjectsInstancesClustersBackupsGetCall) Do(opts ...googleapi.CallOption) (*Backup, error) {
  6452  	gensupport.SetOptions(c.urlParams_, opts...)
  6453  	res, err := c.doRequest("json")
  6454  	if res != nil && res.StatusCode == http.StatusNotModified {
  6455  		if res.Body != nil {
  6456  			res.Body.Close()
  6457  		}
  6458  		return nil, gensupport.WrapError(&googleapi.Error{
  6459  			Code:   res.StatusCode,
  6460  			Header: res.Header,
  6461  		})
  6462  	}
  6463  	if err != nil {
  6464  		return nil, err
  6465  	}
  6466  	defer googleapi.CloseBody(res)
  6467  	if err := googleapi.CheckResponse(res); err != nil {
  6468  		return nil, gensupport.WrapError(err)
  6469  	}
  6470  	ret := &Backup{
  6471  		ServerResponse: googleapi.ServerResponse{
  6472  			Header:         res.Header,
  6473  			HTTPStatusCode: res.StatusCode,
  6474  		},
  6475  	}
  6476  	target := &ret
  6477  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6478  		return nil, err
  6479  	}
  6480  	return ret, nil
  6481  }
  6482  
  6483  type ProjectsInstancesClustersBackupsGetIamPolicyCall struct {
  6484  	s                   *Service
  6485  	resource            string
  6486  	getiampolicyrequest *GetIamPolicyRequest
  6487  	urlParams_          gensupport.URLParams
  6488  	ctx_                context.Context
  6489  	header_             http.Header
  6490  }
  6491  
  6492  // GetIamPolicy: Gets the access control policy for a Bigtable resource.
  6493  // Returns an empty policy if the resource exists but does not have a policy
  6494  // set.
  6495  //
  6496  //   - resource: REQUIRED: The resource for which the policy is being requested.
  6497  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6498  //     for the appropriate value for this field.
  6499  func (r *ProjectsInstancesClustersBackupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
  6500  	c := &ProjectsInstancesClustersBackupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6501  	c.resource = resource
  6502  	c.getiampolicyrequest = getiampolicyrequest
  6503  	return c
  6504  }
  6505  
  6506  // Fields allows partial responses to be retrieved. See
  6507  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6508  // details.
  6509  func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
  6510  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6511  	return c
  6512  }
  6513  
  6514  // Context sets the context to be used in this call's Do method.
  6515  func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
  6516  	c.ctx_ = ctx
  6517  	return c
  6518  }
  6519  
  6520  // Header returns a http.Header that can be modified by the caller to add
  6521  // headers to the request.
  6522  func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Header() http.Header {
  6523  	if c.header_ == nil {
  6524  		c.header_ = make(http.Header)
  6525  	}
  6526  	return c.header_
  6527  }
  6528  
  6529  func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6530  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6531  	var body io.Reader = nil
  6532  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  6533  	if err != nil {
  6534  		return nil, err
  6535  	}
  6536  	c.urlParams_.Set("alt", alt)
  6537  	c.urlParams_.Set("prettyPrint", "false")
  6538  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
  6539  	urls += "?" + c.urlParams_.Encode()
  6540  	req, err := http.NewRequest("POST", urls, body)
  6541  	if err != nil {
  6542  		return nil, err
  6543  	}
  6544  	req.Header = reqHeaders
  6545  	googleapi.Expand(req.URL, map[string]string{
  6546  		"resource": c.resource,
  6547  	})
  6548  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6549  }
  6550  
  6551  // Do executes the "bigtableadmin.projects.instances.clusters.backups.getIamPolicy" call.
  6552  // Any non-2xx status code is an error. Response headers are in either
  6553  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6554  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6555  // whether the returned error was because http.StatusNotModified was returned.
  6556  func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6557  	gensupport.SetOptions(c.urlParams_, opts...)
  6558  	res, err := c.doRequest("json")
  6559  	if res != nil && res.StatusCode == http.StatusNotModified {
  6560  		if res.Body != nil {
  6561  			res.Body.Close()
  6562  		}
  6563  		return nil, gensupport.WrapError(&googleapi.Error{
  6564  			Code:   res.StatusCode,
  6565  			Header: res.Header,
  6566  		})
  6567  	}
  6568  	if err != nil {
  6569  		return nil, err
  6570  	}
  6571  	defer googleapi.CloseBody(res)
  6572  	if err := googleapi.CheckResponse(res); err != nil {
  6573  		return nil, gensupport.WrapError(err)
  6574  	}
  6575  	ret := &Policy{
  6576  		ServerResponse: googleapi.ServerResponse{
  6577  			Header:         res.Header,
  6578  			HTTPStatusCode: res.StatusCode,
  6579  		},
  6580  	}
  6581  	target := &ret
  6582  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6583  		return nil, err
  6584  	}
  6585  	return ret, nil
  6586  }
  6587  
  6588  type ProjectsInstancesClustersBackupsListCall struct {
  6589  	s            *Service
  6590  	parent       string
  6591  	urlParams_   gensupport.URLParams
  6592  	ifNoneMatch_ string
  6593  	ctx_         context.Context
  6594  	header_      http.Header
  6595  }
  6596  
  6597  // List: Lists Cloud Bigtable backups. Returns both completed and pending
  6598  // backups.
  6599  //
  6600  //   - parent: The cluster to list backups from. Values are of the form
  6601  //     `projects/{project}/instances/{instance}/clusters/{cluster}`. Use
  6602  //     `{cluster} = '-'` to list backups for all clusters in an instance, e.g.,
  6603  //     `projects/{project}/instances/{instance}/clusters/-`.
  6604  func (r *ProjectsInstancesClustersBackupsService) List(parent string) *ProjectsInstancesClustersBackupsListCall {
  6605  	c := &ProjectsInstancesClustersBackupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6606  	c.parent = parent
  6607  	return c
  6608  }
  6609  
  6610  // Filter sets the optional parameter "filter": A filter expression that
  6611  // filters backups listed in the response. The expression must specify the
  6612  // field name, a comparison operator, and the value that you want to use for
  6613  // filtering. The value must be a string, a number, or a boolean. The
  6614  // comparison operator must be <, >, <=, >=, !=, =, or :. Colon ':' represents
  6615  // a HAS operator which is roughly synonymous with equality. Filter rules are
  6616  // case insensitive. The fields eligible for filtering are: * `name` *
  6617  // `source_table` * `state` * `start_time` (and values are of the format
  6618  // YYYY-MM-DDTHH:MM:SSZ) * `end_time` (and values are of the format
  6619  // YYYY-MM-DDTHH:MM:SSZ) * `expire_time` (and values are of the format
  6620  // YYYY-MM-DDTHH:MM:SSZ) * `size_bytes` To filter on multiple expressions,
  6621  // provide each separate expression within parentheses. By default, each
  6622  // expression is an AND expression. However, you can include AND, OR, and NOT
  6623  // expressions explicitly. Some examples of using filters are: * `name:"exact"
  6624  // --> The backup's name is the string "exact". * `name:howl` --> The backup's
  6625  // name contains the string "howl". * `source_table:prod` --> The
  6626  // source_table's name contains the string "prod". * `state:CREATING` --> The
  6627  // backup is pending creation. * `state:READY` --> The backup is fully created
  6628  // and ready for use. * `(name:howl) AND (start_time <
  6629  // \"2018-03-28T14:50:00Z\")` --> The backup name contains the string "howl"
  6630  // and start_time of the backup is before 2018-03-28T14:50:00Z. * `size_bytes >
  6631  // 10000000000` --> The backup's size is greater than 10GB
  6632  func (c *ProjectsInstancesClustersBackupsListCall) Filter(filter string) *ProjectsInstancesClustersBackupsListCall {
  6633  	c.urlParams_.Set("filter", filter)
  6634  	return c
  6635  }
  6636  
  6637  // OrderBy sets the optional parameter "orderBy": An expression for specifying
  6638  // the sort order of the results of the request. The string value should
  6639  // specify one or more fields in Backup. The full syntax is described at
  6640  // https://aip.dev/132#ordering. Fields supported are: * name * source_table *
  6641  // expire_time * start_time * end_time * size_bytes * state For example,
  6642  // "start_time". The default sorting order is ascending. To specify descending
  6643  // order for the field, a suffix " desc" should be appended to the field name.
  6644  // For example, "start_time desc". Redundant space characters in the syntax are
  6645  // insigificant. If order_by is empty, results will be sorted by `start_time`
  6646  // in descending order starting from the most recently created backup.
  6647  func (c *ProjectsInstancesClustersBackupsListCall) OrderBy(orderBy string) *ProjectsInstancesClustersBackupsListCall {
  6648  	c.urlParams_.Set("orderBy", orderBy)
  6649  	return c
  6650  }
  6651  
  6652  // PageSize sets the optional parameter "pageSize": Number of backups to be
  6653  // returned in the response. If 0 or less, defaults to the server's maximum
  6654  // allowed page size.
  6655  func (c *ProjectsInstancesClustersBackupsListCall) PageSize(pageSize int64) *ProjectsInstancesClustersBackupsListCall {
  6656  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6657  	return c
  6658  }
  6659  
  6660  // PageToken sets the optional parameter "pageToken": If non-empty,
  6661  // `page_token` should contain a next_page_token from a previous
  6662  // ListBackupsResponse to the same `parent` and with the same `filter`.
  6663  func (c *ProjectsInstancesClustersBackupsListCall) PageToken(pageToken string) *ProjectsInstancesClustersBackupsListCall {
  6664  	c.urlParams_.Set("pageToken", pageToken)
  6665  	return c
  6666  }
  6667  
  6668  // Fields allows partial responses to be retrieved. See
  6669  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6670  // details.
  6671  func (c *ProjectsInstancesClustersBackupsListCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsListCall {
  6672  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6673  	return c
  6674  }
  6675  
  6676  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6677  // object's ETag matches the given value. This is useful for getting updates
  6678  // only after the object has changed since the last request.
  6679  func (c *ProjectsInstancesClustersBackupsListCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersBackupsListCall {
  6680  	c.ifNoneMatch_ = entityTag
  6681  	return c
  6682  }
  6683  
  6684  // Context sets the context to be used in this call's Do method.
  6685  func (c *ProjectsInstancesClustersBackupsListCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsListCall {
  6686  	c.ctx_ = ctx
  6687  	return c
  6688  }
  6689  
  6690  // Header returns a http.Header that can be modified by the caller to add
  6691  // headers to the request.
  6692  func (c *ProjectsInstancesClustersBackupsListCall) Header() http.Header {
  6693  	if c.header_ == nil {
  6694  		c.header_ = make(http.Header)
  6695  	}
  6696  	return c.header_
  6697  }
  6698  
  6699  func (c *ProjectsInstancesClustersBackupsListCall) doRequest(alt string) (*http.Response, error) {
  6700  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6701  	if c.ifNoneMatch_ != "" {
  6702  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6703  	}
  6704  	var body io.Reader = nil
  6705  	c.urlParams_.Set("alt", alt)
  6706  	c.urlParams_.Set("prettyPrint", "false")
  6707  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/backups")
  6708  	urls += "?" + c.urlParams_.Encode()
  6709  	req, err := http.NewRequest("GET", urls, body)
  6710  	if err != nil {
  6711  		return nil, err
  6712  	}
  6713  	req.Header = reqHeaders
  6714  	googleapi.Expand(req.URL, map[string]string{
  6715  		"parent": c.parent,
  6716  	})
  6717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6718  }
  6719  
  6720  // Do executes the "bigtableadmin.projects.instances.clusters.backups.list" call.
  6721  // Any non-2xx status code is an error. Response headers are in either
  6722  // *ListBackupsResponse.ServerResponse.Header or (if a response was returned at
  6723  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6724  // check whether the returned error was because http.StatusNotModified was
  6725  // returned.
  6726  func (c *ProjectsInstancesClustersBackupsListCall) Do(opts ...googleapi.CallOption) (*ListBackupsResponse, error) {
  6727  	gensupport.SetOptions(c.urlParams_, opts...)
  6728  	res, err := c.doRequest("json")
  6729  	if res != nil && res.StatusCode == http.StatusNotModified {
  6730  		if res.Body != nil {
  6731  			res.Body.Close()
  6732  		}
  6733  		return nil, gensupport.WrapError(&googleapi.Error{
  6734  			Code:   res.StatusCode,
  6735  			Header: res.Header,
  6736  		})
  6737  	}
  6738  	if err != nil {
  6739  		return nil, err
  6740  	}
  6741  	defer googleapi.CloseBody(res)
  6742  	if err := googleapi.CheckResponse(res); err != nil {
  6743  		return nil, gensupport.WrapError(err)
  6744  	}
  6745  	ret := &ListBackupsResponse{
  6746  		ServerResponse: googleapi.ServerResponse{
  6747  			Header:         res.Header,
  6748  			HTTPStatusCode: res.StatusCode,
  6749  		},
  6750  	}
  6751  	target := &ret
  6752  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6753  		return nil, err
  6754  	}
  6755  	return ret, nil
  6756  }
  6757  
  6758  // Pages invokes f for each page of results.
  6759  // A non-nil error returned from f will halt the iteration.
  6760  // The provided context supersedes any context provided to the Context method.
  6761  func (c *ProjectsInstancesClustersBackupsListCall) Pages(ctx context.Context, f func(*ListBackupsResponse) error) error {
  6762  	c.ctx_ = ctx
  6763  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6764  	for {
  6765  		x, err := c.Do()
  6766  		if err != nil {
  6767  			return err
  6768  		}
  6769  		if err := f(x); err != nil {
  6770  			return err
  6771  		}
  6772  		if x.NextPageToken == "" {
  6773  			return nil
  6774  		}
  6775  		c.PageToken(x.NextPageToken)
  6776  	}
  6777  }
  6778  
  6779  type ProjectsInstancesClustersBackupsPatchCall struct {
  6780  	s          *Service
  6781  	nameid     string
  6782  	backup     *Backup
  6783  	urlParams_ gensupport.URLParams
  6784  	ctx_       context.Context
  6785  	header_    http.Header
  6786  }
  6787  
  6788  // Patch: Updates a pending or completed Cloud Bigtable Backup.
  6789  //
  6790  //   - name: A globally unique identifier for the backup which cannot be changed.
  6791  //     Values are of the form
  6792  //     `projects/{project}/instances/{instance}/clusters/{cluster}/
  6793  //     backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and
  6794  //     50 characters in length. The backup is stored in the cluster identified by
  6795  //     the prefix of the backup name of the form
  6796  //     `projects/{project}/instances/{instance}/clusters/{cluster}`.
  6797  func (r *ProjectsInstancesClustersBackupsService) Patch(nameid string, backup *Backup) *ProjectsInstancesClustersBackupsPatchCall {
  6798  	c := &ProjectsInstancesClustersBackupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6799  	c.nameid = nameid
  6800  	c.backup = backup
  6801  	return c
  6802  }
  6803  
  6804  // UpdateMask sets the optional parameter "updateMask": Required. A mask
  6805  // specifying which fields (e.g. `expire_time`) in the Backup resource should
  6806  // be updated. This mask is relative to the Backup resource, not to the request
  6807  // message. The field mask must always be specified; this prevents any future
  6808  // fields from being erased accidentally by clients that do not know about
  6809  // them.
  6810  func (c *ProjectsInstancesClustersBackupsPatchCall) UpdateMask(updateMask string) *ProjectsInstancesClustersBackupsPatchCall {
  6811  	c.urlParams_.Set("updateMask", updateMask)
  6812  	return c
  6813  }
  6814  
  6815  // Fields allows partial responses to be retrieved. See
  6816  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6817  // details.
  6818  func (c *ProjectsInstancesClustersBackupsPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsPatchCall {
  6819  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6820  	return c
  6821  }
  6822  
  6823  // Context sets the context to be used in this call's Do method.
  6824  func (c *ProjectsInstancesClustersBackupsPatchCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsPatchCall {
  6825  	c.ctx_ = ctx
  6826  	return c
  6827  }
  6828  
  6829  // Header returns a http.Header that can be modified by the caller to add
  6830  // headers to the request.
  6831  func (c *ProjectsInstancesClustersBackupsPatchCall) Header() http.Header {
  6832  	if c.header_ == nil {
  6833  		c.header_ = make(http.Header)
  6834  	}
  6835  	return c.header_
  6836  }
  6837  
  6838  func (c *ProjectsInstancesClustersBackupsPatchCall) doRequest(alt string) (*http.Response, error) {
  6839  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6840  	var body io.Reader = nil
  6841  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.backup)
  6842  	if err != nil {
  6843  		return nil, err
  6844  	}
  6845  	c.urlParams_.Set("alt", alt)
  6846  	c.urlParams_.Set("prettyPrint", "false")
  6847  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  6848  	urls += "?" + c.urlParams_.Encode()
  6849  	req, err := http.NewRequest("PATCH", urls, body)
  6850  	if err != nil {
  6851  		return nil, err
  6852  	}
  6853  	req.Header = reqHeaders
  6854  	googleapi.Expand(req.URL, map[string]string{
  6855  		"name": c.nameid,
  6856  	})
  6857  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6858  }
  6859  
  6860  // Do executes the "bigtableadmin.projects.instances.clusters.backups.patch" call.
  6861  // Any non-2xx status code is an error. Response headers are in either
  6862  // *Backup.ServerResponse.Header or (if a response was returned at all) in
  6863  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6864  // whether the returned error was because http.StatusNotModified was returned.
  6865  func (c *ProjectsInstancesClustersBackupsPatchCall) Do(opts ...googleapi.CallOption) (*Backup, error) {
  6866  	gensupport.SetOptions(c.urlParams_, opts...)
  6867  	res, err := c.doRequest("json")
  6868  	if res != nil && res.StatusCode == http.StatusNotModified {
  6869  		if res.Body != nil {
  6870  			res.Body.Close()
  6871  		}
  6872  		return nil, gensupport.WrapError(&googleapi.Error{
  6873  			Code:   res.StatusCode,
  6874  			Header: res.Header,
  6875  		})
  6876  	}
  6877  	if err != nil {
  6878  		return nil, err
  6879  	}
  6880  	defer googleapi.CloseBody(res)
  6881  	if err := googleapi.CheckResponse(res); err != nil {
  6882  		return nil, gensupport.WrapError(err)
  6883  	}
  6884  	ret := &Backup{
  6885  		ServerResponse: googleapi.ServerResponse{
  6886  			Header:         res.Header,
  6887  			HTTPStatusCode: res.StatusCode,
  6888  		},
  6889  	}
  6890  	target := &ret
  6891  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6892  		return nil, err
  6893  	}
  6894  	return ret, nil
  6895  }
  6896  
  6897  type ProjectsInstancesClustersBackupsSetIamPolicyCall struct {
  6898  	s                   *Service
  6899  	resource            string
  6900  	setiampolicyrequest *SetIamPolicyRequest
  6901  	urlParams_          gensupport.URLParams
  6902  	ctx_                context.Context
  6903  	header_             http.Header
  6904  }
  6905  
  6906  // SetIamPolicy: Sets the access control policy on a Bigtable resource.
  6907  // Replaces any existing policy.
  6908  //
  6909  //   - resource: REQUIRED: The resource for which the policy is being specified.
  6910  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6911  //     for the appropriate value for this field.
  6912  func (r *ProjectsInstancesClustersBackupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
  6913  	c := &ProjectsInstancesClustersBackupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6914  	c.resource = resource
  6915  	c.setiampolicyrequest = setiampolicyrequest
  6916  	return c
  6917  }
  6918  
  6919  // Fields allows partial responses to be retrieved. See
  6920  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6921  // details.
  6922  func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
  6923  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6924  	return c
  6925  }
  6926  
  6927  // Context sets the context to be used in this call's Do method.
  6928  func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
  6929  	c.ctx_ = ctx
  6930  	return c
  6931  }
  6932  
  6933  // Header returns a http.Header that can be modified by the caller to add
  6934  // headers to the request.
  6935  func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Header() http.Header {
  6936  	if c.header_ == nil {
  6937  		c.header_ = make(http.Header)
  6938  	}
  6939  	return c.header_
  6940  }
  6941  
  6942  func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6943  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6944  	var body io.Reader = nil
  6945  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  6946  	if err != nil {
  6947  		return nil, err
  6948  	}
  6949  	c.urlParams_.Set("alt", alt)
  6950  	c.urlParams_.Set("prettyPrint", "false")
  6951  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
  6952  	urls += "?" + c.urlParams_.Encode()
  6953  	req, err := http.NewRequest("POST", urls, body)
  6954  	if err != nil {
  6955  		return nil, err
  6956  	}
  6957  	req.Header = reqHeaders
  6958  	googleapi.Expand(req.URL, map[string]string{
  6959  		"resource": c.resource,
  6960  	})
  6961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6962  }
  6963  
  6964  // Do executes the "bigtableadmin.projects.instances.clusters.backups.setIamPolicy" call.
  6965  // Any non-2xx status code is an error. Response headers are in either
  6966  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6967  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6968  // whether the returned error was because http.StatusNotModified was returned.
  6969  func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6970  	gensupport.SetOptions(c.urlParams_, opts...)
  6971  	res, err := c.doRequest("json")
  6972  	if res != nil && res.StatusCode == http.StatusNotModified {
  6973  		if res.Body != nil {
  6974  			res.Body.Close()
  6975  		}
  6976  		return nil, gensupport.WrapError(&googleapi.Error{
  6977  			Code:   res.StatusCode,
  6978  			Header: res.Header,
  6979  		})
  6980  	}
  6981  	if err != nil {
  6982  		return nil, err
  6983  	}
  6984  	defer googleapi.CloseBody(res)
  6985  	if err := googleapi.CheckResponse(res); err != nil {
  6986  		return nil, gensupport.WrapError(err)
  6987  	}
  6988  	ret := &Policy{
  6989  		ServerResponse: googleapi.ServerResponse{
  6990  			Header:         res.Header,
  6991  			HTTPStatusCode: res.StatusCode,
  6992  		},
  6993  	}
  6994  	target := &ret
  6995  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6996  		return nil, err
  6997  	}
  6998  	return ret, nil
  6999  }
  7000  
  7001  type ProjectsInstancesClustersBackupsTestIamPermissionsCall struct {
  7002  	s                         *Service
  7003  	resource                  string
  7004  	testiampermissionsrequest *TestIamPermissionsRequest
  7005  	urlParams_                gensupport.URLParams
  7006  	ctx_                      context.Context
  7007  	header_                   http.Header
  7008  }
  7009  
  7010  // TestIamPermissions: Returns permissions that the caller has on the specified
  7011  // Bigtable resource.
  7012  //
  7013  //   - resource: REQUIRED: The resource for which the policy detail is being
  7014  //     requested. See Resource names
  7015  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  7016  //     value for this field.
  7017  func (r *ProjectsInstancesClustersBackupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
  7018  	c := &ProjectsInstancesClustersBackupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7019  	c.resource = resource
  7020  	c.testiampermissionsrequest = testiampermissionsrequest
  7021  	return c
  7022  }
  7023  
  7024  // Fields allows partial responses to be retrieved. See
  7025  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7026  // details.
  7027  func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
  7028  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7029  	return c
  7030  }
  7031  
  7032  // Context sets the context to be used in this call's Do method.
  7033  func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
  7034  	c.ctx_ = ctx
  7035  	return c
  7036  }
  7037  
  7038  // Header returns a http.Header that can be modified by the caller to add
  7039  // headers to the request.
  7040  func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Header() http.Header {
  7041  	if c.header_ == nil {
  7042  		c.header_ = make(http.Header)
  7043  	}
  7044  	return c.header_
  7045  }
  7046  
  7047  func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  7048  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7049  	var body io.Reader = nil
  7050  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  7051  	if err != nil {
  7052  		return nil, err
  7053  	}
  7054  	c.urlParams_.Set("alt", alt)
  7055  	c.urlParams_.Set("prettyPrint", "false")
  7056  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
  7057  	urls += "?" + c.urlParams_.Encode()
  7058  	req, err := http.NewRequest("POST", urls, body)
  7059  	if err != nil {
  7060  		return nil, err
  7061  	}
  7062  	req.Header = reqHeaders
  7063  	googleapi.Expand(req.URL, map[string]string{
  7064  		"resource": c.resource,
  7065  	})
  7066  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7067  }
  7068  
  7069  // Do executes the "bigtableadmin.projects.instances.clusters.backups.testIamPermissions" call.
  7070  // Any non-2xx status code is an error. Response headers are in either
  7071  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  7072  // returned at all) in error.(*googleapi.Error).Header. Use
  7073  // googleapi.IsNotModified to check whether the returned error was because
  7074  // http.StatusNotModified was returned.
  7075  func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  7076  	gensupport.SetOptions(c.urlParams_, opts...)
  7077  	res, err := c.doRequest("json")
  7078  	if res != nil && res.StatusCode == http.StatusNotModified {
  7079  		if res.Body != nil {
  7080  			res.Body.Close()
  7081  		}
  7082  		return nil, gensupport.WrapError(&googleapi.Error{
  7083  			Code:   res.StatusCode,
  7084  			Header: res.Header,
  7085  		})
  7086  	}
  7087  	if err != nil {
  7088  		return nil, err
  7089  	}
  7090  	defer googleapi.CloseBody(res)
  7091  	if err := googleapi.CheckResponse(res); err != nil {
  7092  		return nil, gensupport.WrapError(err)
  7093  	}
  7094  	ret := &TestIamPermissionsResponse{
  7095  		ServerResponse: googleapi.ServerResponse{
  7096  			Header:         res.Header,
  7097  			HTTPStatusCode: res.StatusCode,
  7098  		},
  7099  	}
  7100  	target := &ret
  7101  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7102  		return nil, err
  7103  	}
  7104  	return ret, nil
  7105  }
  7106  
  7107  type ProjectsInstancesClustersHotTabletsListCall struct {
  7108  	s            *Service
  7109  	parent       string
  7110  	urlParams_   gensupport.URLParams
  7111  	ifNoneMatch_ string
  7112  	ctx_         context.Context
  7113  	header_      http.Header
  7114  }
  7115  
  7116  // List: Lists hot tablets in a cluster, within the time range provided. Hot
  7117  // tablets are ordered based on CPU usage.
  7118  //
  7119  //   - parent: The cluster name to list hot tablets. Value is in the following
  7120  //     form: `projects/{project}/instances/{instance}/clusters/{cluster}`.
  7121  func (r *ProjectsInstancesClustersHotTabletsService) List(parent string) *ProjectsInstancesClustersHotTabletsListCall {
  7122  	c := &ProjectsInstancesClustersHotTabletsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7123  	c.parent = parent
  7124  	return c
  7125  }
  7126  
  7127  // EndTime sets the optional parameter "endTime": The end time to list hot
  7128  // tablets.
  7129  func (c *ProjectsInstancesClustersHotTabletsListCall) EndTime(endTime string) *ProjectsInstancesClustersHotTabletsListCall {
  7130  	c.urlParams_.Set("endTime", endTime)
  7131  	return c
  7132  }
  7133  
  7134  // PageSize sets the optional parameter "pageSize": Maximum number of results
  7135  // per page. A page_size that is empty or zero lets the server choose the
  7136  // number of items to return. A page_size which is strictly positive will
  7137  // return at most that many items. A negative page_size will cause an error.
  7138  // Following the first request, subsequent paginated calls do not need a
  7139  // page_size field. If a page_size is set in subsequent calls, it must match
  7140  // the page_size given in the first request.
  7141  func (c *ProjectsInstancesClustersHotTabletsListCall) PageSize(pageSize int64) *ProjectsInstancesClustersHotTabletsListCall {
  7142  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7143  	return c
  7144  }
  7145  
  7146  // PageToken sets the optional parameter "pageToken": The value of
  7147  // `next_page_token` returned by a previous call.
  7148  func (c *ProjectsInstancesClustersHotTabletsListCall) PageToken(pageToken string) *ProjectsInstancesClustersHotTabletsListCall {
  7149  	c.urlParams_.Set("pageToken", pageToken)
  7150  	return c
  7151  }
  7152  
  7153  // StartTime sets the optional parameter "startTime": The start time to list
  7154  // hot tablets. The hot tablets in the response will have start times between
  7155  // the requested start time and end time. Start time defaults to Now if it is
  7156  // unset, and end time defaults to Now - 24 hours if it is unset. The start
  7157  // time should be less than the end time, and the maximum allowed time range
  7158  // between start time and end time is 48 hours. Start time and end time should
  7159  // have values between Now and Now - 14 days.
  7160  func (c *ProjectsInstancesClustersHotTabletsListCall) StartTime(startTime string) *ProjectsInstancesClustersHotTabletsListCall {
  7161  	c.urlParams_.Set("startTime", startTime)
  7162  	return c
  7163  }
  7164  
  7165  // Fields allows partial responses to be retrieved. See
  7166  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7167  // details.
  7168  func (c *ProjectsInstancesClustersHotTabletsListCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersHotTabletsListCall {
  7169  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7170  	return c
  7171  }
  7172  
  7173  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7174  // object's ETag matches the given value. This is useful for getting updates
  7175  // only after the object has changed since the last request.
  7176  func (c *ProjectsInstancesClustersHotTabletsListCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersHotTabletsListCall {
  7177  	c.ifNoneMatch_ = entityTag
  7178  	return c
  7179  }
  7180  
  7181  // Context sets the context to be used in this call's Do method.
  7182  func (c *ProjectsInstancesClustersHotTabletsListCall) Context(ctx context.Context) *ProjectsInstancesClustersHotTabletsListCall {
  7183  	c.ctx_ = ctx
  7184  	return c
  7185  }
  7186  
  7187  // Header returns a http.Header that can be modified by the caller to add
  7188  // headers to the request.
  7189  func (c *ProjectsInstancesClustersHotTabletsListCall) Header() http.Header {
  7190  	if c.header_ == nil {
  7191  		c.header_ = make(http.Header)
  7192  	}
  7193  	return c.header_
  7194  }
  7195  
  7196  func (c *ProjectsInstancesClustersHotTabletsListCall) doRequest(alt string) (*http.Response, error) {
  7197  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7198  	if c.ifNoneMatch_ != "" {
  7199  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7200  	}
  7201  	var body io.Reader = nil
  7202  	c.urlParams_.Set("alt", alt)
  7203  	c.urlParams_.Set("prettyPrint", "false")
  7204  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/hotTablets")
  7205  	urls += "?" + c.urlParams_.Encode()
  7206  	req, err := http.NewRequest("GET", urls, body)
  7207  	if err != nil {
  7208  		return nil, err
  7209  	}
  7210  	req.Header = reqHeaders
  7211  	googleapi.Expand(req.URL, map[string]string{
  7212  		"parent": c.parent,
  7213  	})
  7214  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7215  }
  7216  
  7217  // Do executes the "bigtableadmin.projects.instances.clusters.hotTablets.list" call.
  7218  // Any non-2xx status code is an error. Response headers are in either
  7219  // *ListHotTabletsResponse.ServerResponse.Header or (if a response was returned
  7220  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7221  // check whether the returned error was because http.StatusNotModified was
  7222  // returned.
  7223  func (c *ProjectsInstancesClustersHotTabletsListCall) Do(opts ...googleapi.CallOption) (*ListHotTabletsResponse, error) {
  7224  	gensupport.SetOptions(c.urlParams_, opts...)
  7225  	res, err := c.doRequest("json")
  7226  	if res != nil && res.StatusCode == http.StatusNotModified {
  7227  		if res.Body != nil {
  7228  			res.Body.Close()
  7229  		}
  7230  		return nil, gensupport.WrapError(&googleapi.Error{
  7231  			Code:   res.StatusCode,
  7232  			Header: res.Header,
  7233  		})
  7234  	}
  7235  	if err != nil {
  7236  		return nil, err
  7237  	}
  7238  	defer googleapi.CloseBody(res)
  7239  	if err := googleapi.CheckResponse(res); err != nil {
  7240  		return nil, gensupport.WrapError(err)
  7241  	}
  7242  	ret := &ListHotTabletsResponse{
  7243  		ServerResponse: googleapi.ServerResponse{
  7244  			Header:         res.Header,
  7245  			HTTPStatusCode: res.StatusCode,
  7246  		},
  7247  	}
  7248  	target := &ret
  7249  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7250  		return nil, err
  7251  	}
  7252  	return ret, nil
  7253  }
  7254  
  7255  // Pages invokes f for each page of results.
  7256  // A non-nil error returned from f will halt the iteration.
  7257  // The provided context supersedes any context provided to the Context method.
  7258  func (c *ProjectsInstancesClustersHotTabletsListCall) Pages(ctx context.Context, f func(*ListHotTabletsResponse) error) error {
  7259  	c.ctx_ = ctx
  7260  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7261  	for {
  7262  		x, err := c.Do()
  7263  		if err != nil {
  7264  			return err
  7265  		}
  7266  		if err := f(x); err != nil {
  7267  			return err
  7268  		}
  7269  		if x.NextPageToken == "" {
  7270  			return nil
  7271  		}
  7272  		c.PageToken(x.NextPageToken)
  7273  	}
  7274  }
  7275  
  7276  type ProjectsInstancesTablesCheckConsistencyCall struct {
  7277  	s                       *Service
  7278  	name                    string
  7279  	checkconsistencyrequest *CheckConsistencyRequest
  7280  	urlParams_              gensupport.URLParams
  7281  	ctx_                    context.Context
  7282  	header_                 http.Header
  7283  }
  7284  
  7285  // CheckConsistency: Checks replication consistency based on a consistency
  7286  // token, that is, if replication has caught up based on the conditions
  7287  // specified in the token and the check request.
  7288  //
  7289  //   - name: The unique name of the Table for which to check replication
  7290  //     consistency. Values are of the form
  7291  //     `projects/{project}/instances/{instance}/tables/{table}`.
  7292  func (r *ProjectsInstancesTablesService) CheckConsistency(name string, checkconsistencyrequest *CheckConsistencyRequest) *ProjectsInstancesTablesCheckConsistencyCall {
  7293  	c := &ProjectsInstancesTablesCheckConsistencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7294  	c.name = name
  7295  	c.checkconsistencyrequest = checkconsistencyrequest
  7296  	return c
  7297  }
  7298  
  7299  // Fields allows partial responses to be retrieved. See
  7300  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7301  // details.
  7302  func (c *ProjectsInstancesTablesCheckConsistencyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesCheckConsistencyCall {
  7303  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7304  	return c
  7305  }
  7306  
  7307  // Context sets the context to be used in this call's Do method.
  7308  func (c *ProjectsInstancesTablesCheckConsistencyCall) Context(ctx context.Context) *ProjectsInstancesTablesCheckConsistencyCall {
  7309  	c.ctx_ = ctx
  7310  	return c
  7311  }
  7312  
  7313  // Header returns a http.Header that can be modified by the caller to add
  7314  // headers to the request.
  7315  func (c *ProjectsInstancesTablesCheckConsistencyCall) Header() http.Header {
  7316  	if c.header_ == nil {
  7317  		c.header_ = make(http.Header)
  7318  	}
  7319  	return c.header_
  7320  }
  7321  
  7322  func (c *ProjectsInstancesTablesCheckConsistencyCall) doRequest(alt string) (*http.Response, error) {
  7323  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7324  	var body io.Reader = nil
  7325  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkconsistencyrequest)
  7326  	if err != nil {
  7327  		return nil, err
  7328  	}
  7329  	c.urlParams_.Set("alt", alt)
  7330  	c.urlParams_.Set("prettyPrint", "false")
  7331  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:checkConsistency")
  7332  	urls += "?" + c.urlParams_.Encode()
  7333  	req, err := http.NewRequest("POST", urls, body)
  7334  	if err != nil {
  7335  		return nil, err
  7336  	}
  7337  	req.Header = reqHeaders
  7338  	googleapi.Expand(req.URL, map[string]string{
  7339  		"name": c.name,
  7340  	})
  7341  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7342  }
  7343  
  7344  // Do executes the "bigtableadmin.projects.instances.tables.checkConsistency" call.
  7345  // Any non-2xx status code is an error. Response headers are in either
  7346  // *CheckConsistencyResponse.ServerResponse.Header or (if a response was
  7347  // returned at all) in error.(*googleapi.Error).Header. Use
  7348  // googleapi.IsNotModified to check whether the returned error was because
  7349  // http.StatusNotModified was returned.
  7350  func (c *ProjectsInstancesTablesCheckConsistencyCall) Do(opts ...googleapi.CallOption) (*CheckConsistencyResponse, error) {
  7351  	gensupport.SetOptions(c.urlParams_, opts...)
  7352  	res, err := c.doRequest("json")
  7353  	if res != nil && res.StatusCode == http.StatusNotModified {
  7354  		if res.Body != nil {
  7355  			res.Body.Close()
  7356  		}
  7357  		return nil, gensupport.WrapError(&googleapi.Error{
  7358  			Code:   res.StatusCode,
  7359  			Header: res.Header,
  7360  		})
  7361  	}
  7362  	if err != nil {
  7363  		return nil, err
  7364  	}
  7365  	defer googleapi.CloseBody(res)
  7366  	if err := googleapi.CheckResponse(res); err != nil {
  7367  		return nil, gensupport.WrapError(err)
  7368  	}
  7369  	ret := &CheckConsistencyResponse{
  7370  		ServerResponse: googleapi.ServerResponse{
  7371  			Header:         res.Header,
  7372  			HTTPStatusCode: res.StatusCode,
  7373  		},
  7374  	}
  7375  	target := &ret
  7376  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7377  		return nil, err
  7378  	}
  7379  	return ret, nil
  7380  }
  7381  
  7382  type ProjectsInstancesTablesCreateCall struct {
  7383  	s                  *Service
  7384  	parent             string
  7385  	createtablerequest *CreateTableRequest
  7386  	urlParams_         gensupport.URLParams
  7387  	ctx_               context.Context
  7388  	header_            http.Header
  7389  }
  7390  
  7391  // Create: Creates a new table in the specified instance. The table can be
  7392  // created with a full set of initial column families, specified in the
  7393  // request.
  7394  //
  7395  //   - parent: The unique name of the instance in which to create the table.
  7396  //     Values are of the form `projects/{project}/instances/{instance}`.
  7397  func (r *ProjectsInstancesTablesService) Create(parent string, createtablerequest *CreateTableRequest) *ProjectsInstancesTablesCreateCall {
  7398  	c := &ProjectsInstancesTablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7399  	c.parent = parent
  7400  	c.createtablerequest = createtablerequest
  7401  	return c
  7402  }
  7403  
  7404  // Fields allows partial responses to be retrieved. See
  7405  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7406  // details.
  7407  func (c *ProjectsInstancesTablesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesCreateCall {
  7408  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7409  	return c
  7410  }
  7411  
  7412  // Context sets the context to be used in this call's Do method.
  7413  func (c *ProjectsInstancesTablesCreateCall) Context(ctx context.Context) *ProjectsInstancesTablesCreateCall {
  7414  	c.ctx_ = ctx
  7415  	return c
  7416  }
  7417  
  7418  // Header returns a http.Header that can be modified by the caller to add
  7419  // headers to the request.
  7420  func (c *ProjectsInstancesTablesCreateCall) Header() http.Header {
  7421  	if c.header_ == nil {
  7422  		c.header_ = make(http.Header)
  7423  	}
  7424  	return c.header_
  7425  }
  7426  
  7427  func (c *ProjectsInstancesTablesCreateCall) doRequest(alt string) (*http.Response, error) {
  7428  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7429  	var body io.Reader = nil
  7430  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createtablerequest)
  7431  	if err != nil {
  7432  		return nil, err
  7433  	}
  7434  	c.urlParams_.Set("alt", alt)
  7435  	c.urlParams_.Set("prettyPrint", "false")
  7436  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/tables")
  7437  	urls += "?" + c.urlParams_.Encode()
  7438  	req, err := http.NewRequest("POST", urls, body)
  7439  	if err != nil {
  7440  		return nil, err
  7441  	}
  7442  	req.Header = reqHeaders
  7443  	googleapi.Expand(req.URL, map[string]string{
  7444  		"parent": c.parent,
  7445  	})
  7446  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7447  }
  7448  
  7449  // Do executes the "bigtableadmin.projects.instances.tables.create" call.
  7450  // Any non-2xx status code is an error. Response headers are in either
  7451  // *Table.ServerResponse.Header or (if a response was returned at all) in
  7452  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7453  // whether the returned error was because http.StatusNotModified was returned.
  7454  func (c *ProjectsInstancesTablesCreateCall) Do(opts ...googleapi.CallOption) (*Table, error) {
  7455  	gensupport.SetOptions(c.urlParams_, opts...)
  7456  	res, err := c.doRequest("json")
  7457  	if res != nil && res.StatusCode == http.StatusNotModified {
  7458  		if res.Body != nil {
  7459  			res.Body.Close()
  7460  		}
  7461  		return nil, gensupport.WrapError(&googleapi.Error{
  7462  			Code:   res.StatusCode,
  7463  			Header: res.Header,
  7464  		})
  7465  	}
  7466  	if err != nil {
  7467  		return nil, err
  7468  	}
  7469  	defer googleapi.CloseBody(res)
  7470  	if err := googleapi.CheckResponse(res); err != nil {
  7471  		return nil, gensupport.WrapError(err)
  7472  	}
  7473  	ret := &Table{
  7474  		ServerResponse: googleapi.ServerResponse{
  7475  			Header:         res.Header,
  7476  			HTTPStatusCode: res.StatusCode,
  7477  		},
  7478  	}
  7479  	target := &ret
  7480  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7481  		return nil, err
  7482  	}
  7483  	return ret, nil
  7484  }
  7485  
  7486  type ProjectsInstancesTablesDeleteCall struct {
  7487  	s          *Service
  7488  	name       string
  7489  	urlParams_ gensupport.URLParams
  7490  	ctx_       context.Context
  7491  	header_    http.Header
  7492  }
  7493  
  7494  // Delete: Permanently deletes a specified table and all of its data.
  7495  //
  7496  //   - name: The unique name of the table to be deleted. Values are of the form
  7497  //     `projects/{project}/instances/{instance}/tables/{table}`.
  7498  func (r *ProjectsInstancesTablesService) Delete(name string) *ProjectsInstancesTablesDeleteCall {
  7499  	c := &ProjectsInstancesTablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7500  	c.name = name
  7501  	return c
  7502  }
  7503  
  7504  // Fields allows partial responses to be retrieved. See
  7505  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7506  // details.
  7507  func (c *ProjectsInstancesTablesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesDeleteCall {
  7508  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7509  	return c
  7510  }
  7511  
  7512  // Context sets the context to be used in this call's Do method.
  7513  func (c *ProjectsInstancesTablesDeleteCall) Context(ctx context.Context) *ProjectsInstancesTablesDeleteCall {
  7514  	c.ctx_ = ctx
  7515  	return c
  7516  }
  7517  
  7518  // Header returns a http.Header that can be modified by the caller to add
  7519  // headers to the request.
  7520  func (c *ProjectsInstancesTablesDeleteCall) Header() http.Header {
  7521  	if c.header_ == nil {
  7522  		c.header_ = make(http.Header)
  7523  	}
  7524  	return c.header_
  7525  }
  7526  
  7527  func (c *ProjectsInstancesTablesDeleteCall) doRequest(alt string) (*http.Response, error) {
  7528  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7529  	var body io.Reader = nil
  7530  	c.urlParams_.Set("alt", alt)
  7531  	c.urlParams_.Set("prettyPrint", "false")
  7532  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  7533  	urls += "?" + c.urlParams_.Encode()
  7534  	req, err := http.NewRequest("DELETE", urls, body)
  7535  	if err != nil {
  7536  		return nil, err
  7537  	}
  7538  	req.Header = reqHeaders
  7539  	googleapi.Expand(req.URL, map[string]string{
  7540  		"name": c.name,
  7541  	})
  7542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7543  }
  7544  
  7545  // Do executes the "bigtableadmin.projects.instances.tables.delete" call.
  7546  // Any non-2xx status code is an error. Response headers are in either
  7547  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7548  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7549  // whether the returned error was because http.StatusNotModified was returned.
  7550  func (c *ProjectsInstancesTablesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7551  	gensupport.SetOptions(c.urlParams_, opts...)
  7552  	res, err := c.doRequest("json")
  7553  	if res != nil && res.StatusCode == http.StatusNotModified {
  7554  		if res.Body != nil {
  7555  			res.Body.Close()
  7556  		}
  7557  		return nil, gensupport.WrapError(&googleapi.Error{
  7558  			Code:   res.StatusCode,
  7559  			Header: res.Header,
  7560  		})
  7561  	}
  7562  	if err != nil {
  7563  		return nil, err
  7564  	}
  7565  	defer googleapi.CloseBody(res)
  7566  	if err := googleapi.CheckResponse(res); err != nil {
  7567  		return nil, gensupport.WrapError(err)
  7568  	}
  7569  	ret := &Empty{
  7570  		ServerResponse: googleapi.ServerResponse{
  7571  			Header:         res.Header,
  7572  			HTTPStatusCode: res.StatusCode,
  7573  		},
  7574  	}
  7575  	target := &ret
  7576  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7577  		return nil, err
  7578  	}
  7579  	return ret, nil
  7580  }
  7581  
  7582  type ProjectsInstancesTablesDropRowRangeCall struct {
  7583  	s                   *Service
  7584  	name                string
  7585  	droprowrangerequest *DropRowRangeRequest
  7586  	urlParams_          gensupport.URLParams
  7587  	ctx_                context.Context
  7588  	header_             http.Header
  7589  }
  7590  
  7591  // DropRowRange: Permanently drop/delete a row range from a specified table.
  7592  // The request can specify whether to delete all rows in a table, or only those
  7593  // that match a particular prefix. Note that row key prefixes used here are
  7594  // treated as service data. For more information about how service data is
  7595  // handled, see the Google Cloud Privacy Notice
  7596  // (https://cloud.google.com/terms/cloud-privacy-notice).
  7597  //
  7598  //   - name: The unique name of the table on which to drop a range of rows.
  7599  //     Values are of the form
  7600  //     `projects/{project}/instances/{instance}/tables/{table}`.
  7601  func (r *ProjectsInstancesTablesService) DropRowRange(name string, droprowrangerequest *DropRowRangeRequest) *ProjectsInstancesTablesDropRowRangeCall {
  7602  	c := &ProjectsInstancesTablesDropRowRangeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7603  	c.name = name
  7604  	c.droprowrangerequest = droprowrangerequest
  7605  	return c
  7606  }
  7607  
  7608  // Fields allows partial responses to be retrieved. See
  7609  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7610  // details.
  7611  func (c *ProjectsInstancesTablesDropRowRangeCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesDropRowRangeCall {
  7612  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7613  	return c
  7614  }
  7615  
  7616  // Context sets the context to be used in this call's Do method.
  7617  func (c *ProjectsInstancesTablesDropRowRangeCall) Context(ctx context.Context) *ProjectsInstancesTablesDropRowRangeCall {
  7618  	c.ctx_ = ctx
  7619  	return c
  7620  }
  7621  
  7622  // Header returns a http.Header that can be modified by the caller to add
  7623  // headers to the request.
  7624  func (c *ProjectsInstancesTablesDropRowRangeCall) Header() http.Header {
  7625  	if c.header_ == nil {
  7626  		c.header_ = make(http.Header)
  7627  	}
  7628  	return c.header_
  7629  }
  7630  
  7631  func (c *ProjectsInstancesTablesDropRowRangeCall) doRequest(alt string) (*http.Response, error) {
  7632  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7633  	var body io.Reader = nil
  7634  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.droprowrangerequest)
  7635  	if err != nil {
  7636  		return nil, err
  7637  	}
  7638  	c.urlParams_.Set("alt", alt)
  7639  	c.urlParams_.Set("prettyPrint", "false")
  7640  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:dropRowRange")
  7641  	urls += "?" + c.urlParams_.Encode()
  7642  	req, err := http.NewRequest("POST", urls, body)
  7643  	if err != nil {
  7644  		return nil, err
  7645  	}
  7646  	req.Header = reqHeaders
  7647  	googleapi.Expand(req.URL, map[string]string{
  7648  		"name": c.name,
  7649  	})
  7650  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7651  }
  7652  
  7653  // Do executes the "bigtableadmin.projects.instances.tables.dropRowRange" call.
  7654  // Any non-2xx status code is an error. Response headers are in either
  7655  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7656  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7657  // whether the returned error was because http.StatusNotModified was returned.
  7658  func (c *ProjectsInstancesTablesDropRowRangeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7659  	gensupport.SetOptions(c.urlParams_, opts...)
  7660  	res, err := c.doRequest("json")
  7661  	if res != nil && res.StatusCode == http.StatusNotModified {
  7662  		if res.Body != nil {
  7663  			res.Body.Close()
  7664  		}
  7665  		return nil, gensupport.WrapError(&googleapi.Error{
  7666  			Code:   res.StatusCode,
  7667  			Header: res.Header,
  7668  		})
  7669  	}
  7670  	if err != nil {
  7671  		return nil, err
  7672  	}
  7673  	defer googleapi.CloseBody(res)
  7674  	if err := googleapi.CheckResponse(res); err != nil {
  7675  		return nil, gensupport.WrapError(err)
  7676  	}
  7677  	ret := &Empty{
  7678  		ServerResponse: googleapi.ServerResponse{
  7679  			Header:         res.Header,
  7680  			HTTPStatusCode: res.StatusCode,
  7681  		},
  7682  	}
  7683  	target := &ret
  7684  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7685  		return nil, err
  7686  	}
  7687  	return ret, nil
  7688  }
  7689  
  7690  type ProjectsInstancesTablesGenerateConsistencyTokenCall struct {
  7691  	s                               *Service
  7692  	name                            string
  7693  	generateconsistencytokenrequest *GenerateConsistencyTokenRequest
  7694  	urlParams_                      gensupport.URLParams
  7695  	ctx_                            context.Context
  7696  	header_                         http.Header
  7697  }
  7698  
  7699  // GenerateConsistencyToken: Generates a consistency token for a Table, which
  7700  // can be used in CheckConsistency to check whether mutations to the table that
  7701  // finished before this call started have been replicated. The tokens will be
  7702  // available for 90 days.
  7703  //
  7704  //   - name: The unique name of the Table for which to create a consistency
  7705  //     token. Values are of the form
  7706  //     `projects/{project}/instances/{instance}/tables/{table}`.
  7707  func (r *ProjectsInstancesTablesService) GenerateConsistencyToken(name string, generateconsistencytokenrequest *GenerateConsistencyTokenRequest) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
  7708  	c := &ProjectsInstancesTablesGenerateConsistencyTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7709  	c.name = name
  7710  	c.generateconsistencytokenrequest = generateconsistencytokenrequest
  7711  	return c
  7712  }
  7713  
  7714  // Fields allows partial responses to be retrieved. See
  7715  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7716  // details.
  7717  func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
  7718  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7719  	return c
  7720  }
  7721  
  7722  // Context sets the context to be used in this call's Do method.
  7723  func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Context(ctx context.Context) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
  7724  	c.ctx_ = ctx
  7725  	return c
  7726  }
  7727  
  7728  // Header returns a http.Header that can be modified by the caller to add
  7729  // headers to the request.
  7730  func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Header() http.Header {
  7731  	if c.header_ == nil {
  7732  		c.header_ = make(http.Header)
  7733  	}
  7734  	return c.header_
  7735  }
  7736  
  7737  func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) doRequest(alt string) (*http.Response, error) {
  7738  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7739  	var body io.Reader = nil
  7740  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateconsistencytokenrequest)
  7741  	if err != nil {
  7742  		return nil, err
  7743  	}
  7744  	c.urlParams_.Set("alt", alt)
  7745  	c.urlParams_.Set("prettyPrint", "false")
  7746  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:generateConsistencyToken")
  7747  	urls += "?" + c.urlParams_.Encode()
  7748  	req, err := http.NewRequest("POST", urls, body)
  7749  	if err != nil {
  7750  		return nil, err
  7751  	}
  7752  	req.Header = reqHeaders
  7753  	googleapi.Expand(req.URL, map[string]string{
  7754  		"name": c.name,
  7755  	})
  7756  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7757  }
  7758  
  7759  // Do executes the "bigtableadmin.projects.instances.tables.generateConsistencyToken" call.
  7760  // Any non-2xx status code is an error. Response headers are in either
  7761  // *GenerateConsistencyTokenResponse.ServerResponse.Header or (if a response
  7762  // was returned at all) in error.(*googleapi.Error).Header. Use
  7763  // googleapi.IsNotModified to check whether the returned error was because
  7764  // http.StatusNotModified was returned.
  7765  func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Do(opts ...googleapi.CallOption) (*GenerateConsistencyTokenResponse, error) {
  7766  	gensupport.SetOptions(c.urlParams_, opts...)
  7767  	res, err := c.doRequest("json")
  7768  	if res != nil && res.StatusCode == http.StatusNotModified {
  7769  		if res.Body != nil {
  7770  			res.Body.Close()
  7771  		}
  7772  		return nil, gensupport.WrapError(&googleapi.Error{
  7773  			Code:   res.StatusCode,
  7774  			Header: res.Header,
  7775  		})
  7776  	}
  7777  	if err != nil {
  7778  		return nil, err
  7779  	}
  7780  	defer googleapi.CloseBody(res)
  7781  	if err := googleapi.CheckResponse(res); err != nil {
  7782  		return nil, gensupport.WrapError(err)
  7783  	}
  7784  	ret := &GenerateConsistencyTokenResponse{
  7785  		ServerResponse: googleapi.ServerResponse{
  7786  			Header:         res.Header,
  7787  			HTTPStatusCode: res.StatusCode,
  7788  		},
  7789  	}
  7790  	target := &ret
  7791  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7792  		return nil, err
  7793  	}
  7794  	return ret, nil
  7795  }
  7796  
  7797  type ProjectsInstancesTablesGetCall struct {
  7798  	s            *Service
  7799  	name         string
  7800  	urlParams_   gensupport.URLParams
  7801  	ifNoneMatch_ string
  7802  	ctx_         context.Context
  7803  	header_      http.Header
  7804  }
  7805  
  7806  // Get: Gets metadata information about the specified table.
  7807  //
  7808  //   - name: The unique name of the requested table. Values are of the form
  7809  //     `projects/{project}/instances/{instance}/tables/{table}`.
  7810  func (r *ProjectsInstancesTablesService) Get(name string) *ProjectsInstancesTablesGetCall {
  7811  	c := &ProjectsInstancesTablesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7812  	c.name = name
  7813  	return c
  7814  }
  7815  
  7816  // View sets the optional parameter "view": The view to be applied to the
  7817  // returned table's fields. Defaults to `SCHEMA_VIEW` if unspecified.
  7818  //
  7819  // Possible values:
  7820  //
  7821  //	"VIEW_UNSPECIFIED" - Uses the default view for each method as documented
  7822  //
  7823  // in its request.
  7824  //
  7825  //	"NAME_ONLY" - Only populates `name`.
  7826  //	"SCHEMA_VIEW" - Only populates `name` and fields related to the table's
  7827  //
  7828  // schema.
  7829  //
  7830  //	"REPLICATION_VIEW" - Only populates `name` and fields related to the
  7831  //
  7832  // table's replication state.
  7833  //
  7834  //	"ENCRYPTION_VIEW" - Only populates `name` and fields related to the
  7835  //
  7836  // table's encryption state.
  7837  //
  7838  //	"STATS_VIEW" - Only populates `name` and fields related to the table's
  7839  //
  7840  // stats (e.g. TableStats and ColumnFamilyStats).
  7841  //
  7842  //	"FULL" - Populates all fields except for stats. See STATS_VIEW to request
  7843  //
  7844  // stats.
  7845  func (c *ProjectsInstancesTablesGetCall) View(view string) *ProjectsInstancesTablesGetCall {
  7846  	c.urlParams_.Set("view", view)
  7847  	return c
  7848  }
  7849  
  7850  // Fields allows partial responses to be retrieved. See
  7851  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7852  // details.
  7853  func (c *ProjectsInstancesTablesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGetCall {
  7854  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7855  	return c
  7856  }
  7857  
  7858  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7859  // object's ETag matches the given value. This is useful for getting updates
  7860  // only after the object has changed since the last request.
  7861  func (c *ProjectsInstancesTablesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesGetCall {
  7862  	c.ifNoneMatch_ = entityTag
  7863  	return c
  7864  }
  7865  
  7866  // Context sets the context to be used in this call's Do method.
  7867  func (c *ProjectsInstancesTablesGetCall) Context(ctx context.Context) *ProjectsInstancesTablesGetCall {
  7868  	c.ctx_ = ctx
  7869  	return c
  7870  }
  7871  
  7872  // Header returns a http.Header that can be modified by the caller to add
  7873  // headers to the request.
  7874  func (c *ProjectsInstancesTablesGetCall) Header() http.Header {
  7875  	if c.header_ == nil {
  7876  		c.header_ = make(http.Header)
  7877  	}
  7878  	return c.header_
  7879  }
  7880  
  7881  func (c *ProjectsInstancesTablesGetCall) doRequest(alt string) (*http.Response, error) {
  7882  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7883  	if c.ifNoneMatch_ != "" {
  7884  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7885  	}
  7886  	var body io.Reader = nil
  7887  	c.urlParams_.Set("alt", alt)
  7888  	c.urlParams_.Set("prettyPrint", "false")
  7889  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  7890  	urls += "?" + c.urlParams_.Encode()
  7891  	req, err := http.NewRequest("GET", urls, body)
  7892  	if err != nil {
  7893  		return nil, err
  7894  	}
  7895  	req.Header = reqHeaders
  7896  	googleapi.Expand(req.URL, map[string]string{
  7897  		"name": c.name,
  7898  	})
  7899  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7900  }
  7901  
  7902  // Do executes the "bigtableadmin.projects.instances.tables.get" call.
  7903  // Any non-2xx status code is an error. Response headers are in either
  7904  // *Table.ServerResponse.Header or (if a response was returned at all) in
  7905  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7906  // whether the returned error was because http.StatusNotModified was returned.
  7907  func (c *ProjectsInstancesTablesGetCall) Do(opts ...googleapi.CallOption) (*Table, error) {
  7908  	gensupport.SetOptions(c.urlParams_, opts...)
  7909  	res, err := c.doRequest("json")
  7910  	if res != nil && res.StatusCode == http.StatusNotModified {
  7911  		if res.Body != nil {
  7912  			res.Body.Close()
  7913  		}
  7914  		return nil, gensupport.WrapError(&googleapi.Error{
  7915  			Code:   res.StatusCode,
  7916  			Header: res.Header,
  7917  		})
  7918  	}
  7919  	if err != nil {
  7920  		return nil, err
  7921  	}
  7922  	defer googleapi.CloseBody(res)
  7923  	if err := googleapi.CheckResponse(res); err != nil {
  7924  		return nil, gensupport.WrapError(err)
  7925  	}
  7926  	ret := &Table{
  7927  		ServerResponse: googleapi.ServerResponse{
  7928  			Header:         res.Header,
  7929  			HTTPStatusCode: res.StatusCode,
  7930  		},
  7931  	}
  7932  	target := &ret
  7933  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7934  		return nil, err
  7935  	}
  7936  	return ret, nil
  7937  }
  7938  
  7939  type ProjectsInstancesTablesGetIamPolicyCall struct {
  7940  	s                   *Service
  7941  	resource            string
  7942  	getiampolicyrequest *GetIamPolicyRequest
  7943  	urlParams_          gensupport.URLParams
  7944  	ctx_                context.Context
  7945  	header_             http.Header
  7946  }
  7947  
  7948  // GetIamPolicy: Gets the access control policy for a Bigtable resource.
  7949  // Returns an empty policy if the resource exists but does not have a policy
  7950  // set.
  7951  //
  7952  //   - resource: REQUIRED: The resource for which the policy is being requested.
  7953  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  7954  //     for the appropriate value for this field.
  7955  func (r *ProjectsInstancesTablesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesTablesGetIamPolicyCall {
  7956  	c := &ProjectsInstancesTablesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7957  	c.resource = resource
  7958  	c.getiampolicyrequest = getiampolicyrequest
  7959  	return c
  7960  }
  7961  
  7962  // Fields allows partial responses to be retrieved. See
  7963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7964  // details.
  7965  func (c *ProjectsInstancesTablesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGetIamPolicyCall {
  7966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7967  	return c
  7968  }
  7969  
  7970  // Context sets the context to be used in this call's Do method.
  7971  func (c *ProjectsInstancesTablesGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesGetIamPolicyCall {
  7972  	c.ctx_ = ctx
  7973  	return c
  7974  }
  7975  
  7976  // Header returns a http.Header that can be modified by the caller to add
  7977  // headers to the request.
  7978  func (c *ProjectsInstancesTablesGetIamPolicyCall) Header() http.Header {
  7979  	if c.header_ == nil {
  7980  		c.header_ = make(http.Header)
  7981  	}
  7982  	return c.header_
  7983  }
  7984  
  7985  func (c *ProjectsInstancesTablesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  7986  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7987  	var body io.Reader = nil
  7988  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  7989  	if err != nil {
  7990  		return nil, err
  7991  	}
  7992  	c.urlParams_.Set("alt", alt)
  7993  	c.urlParams_.Set("prettyPrint", "false")
  7994  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
  7995  	urls += "?" + c.urlParams_.Encode()
  7996  	req, err := http.NewRequest("POST", urls, body)
  7997  	if err != nil {
  7998  		return nil, err
  7999  	}
  8000  	req.Header = reqHeaders
  8001  	googleapi.Expand(req.URL, map[string]string{
  8002  		"resource": c.resource,
  8003  	})
  8004  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8005  }
  8006  
  8007  // Do executes the "bigtableadmin.projects.instances.tables.getIamPolicy" call.
  8008  // Any non-2xx status code is an error. Response headers are in either
  8009  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8010  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8011  // whether the returned error was because http.StatusNotModified was returned.
  8012  func (c *ProjectsInstancesTablesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8013  	gensupport.SetOptions(c.urlParams_, opts...)
  8014  	res, err := c.doRequest("json")
  8015  	if res != nil && res.StatusCode == http.StatusNotModified {
  8016  		if res.Body != nil {
  8017  			res.Body.Close()
  8018  		}
  8019  		return nil, gensupport.WrapError(&googleapi.Error{
  8020  			Code:   res.StatusCode,
  8021  			Header: res.Header,
  8022  		})
  8023  	}
  8024  	if err != nil {
  8025  		return nil, err
  8026  	}
  8027  	defer googleapi.CloseBody(res)
  8028  	if err := googleapi.CheckResponse(res); err != nil {
  8029  		return nil, gensupport.WrapError(err)
  8030  	}
  8031  	ret := &Policy{
  8032  		ServerResponse: googleapi.ServerResponse{
  8033  			Header:         res.Header,
  8034  			HTTPStatusCode: res.StatusCode,
  8035  		},
  8036  	}
  8037  	target := &ret
  8038  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8039  		return nil, err
  8040  	}
  8041  	return ret, nil
  8042  }
  8043  
  8044  type ProjectsInstancesTablesListCall struct {
  8045  	s            *Service
  8046  	parent       string
  8047  	urlParams_   gensupport.URLParams
  8048  	ifNoneMatch_ string
  8049  	ctx_         context.Context
  8050  	header_      http.Header
  8051  }
  8052  
  8053  // List: Lists all tables served from a specified instance.
  8054  //
  8055  //   - parent: The unique name of the instance for which tables should be listed.
  8056  //     Values are of the form `projects/{project}/instances/{instance}`.
  8057  func (r *ProjectsInstancesTablesService) List(parent string) *ProjectsInstancesTablesListCall {
  8058  	c := &ProjectsInstancesTablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8059  	c.parent = parent
  8060  	return c
  8061  }
  8062  
  8063  // PageSize sets the optional parameter "pageSize": Maximum number of results
  8064  // per page. A page_size of zero lets the server choose the number of items to
  8065  // return. A page_size which is strictly positive will return at most that many
  8066  // items. A negative page_size will cause an error. Following the first
  8067  // request, subsequent paginated calls are not required to pass a page_size. If
  8068  // a page_size is set in subsequent calls, it must match the page_size given in
  8069  // the first request.
  8070  func (c *ProjectsInstancesTablesListCall) PageSize(pageSize int64) *ProjectsInstancesTablesListCall {
  8071  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8072  	return c
  8073  }
  8074  
  8075  // PageToken sets the optional parameter "pageToken": The value of
  8076  // `next_page_token` returned by a previous call.
  8077  func (c *ProjectsInstancesTablesListCall) PageToken(pageToken string) *ProjectsInstancesTablesListCall {
  8078  	c.urlParams_.Set("pageToken", pageToken)
  8079  	return c
  8080  }
  8081  
  8082  // View sets the optional parameter "view": The view to be applied to the
  8083  // returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and
  8084  // ENCRYPTION_VIEW are supported.
  8085  //
  8086  // Possible values:
  8087  //
  8088  //	"VIEW_UNSPECIFIED" - Uses the default view for each method as documented
  8089  //
  8090  // in its request.
  8091  //
  8092  //	"NAME_ONLY" - Only populates `name`.
  8093  //	"SCHEMA_VIEW" - Only populates `name` and fields related to the table's
  8094  //
  8095  // schema.
  8096  //
  8097  //	"REPLICATION_VIEW" - Only populates `name` and fields related to the
  8098  //
  8099  // table's replication state.
  8100  //
  8101  //	"ENCRYPTION_VIEW" - Only populates `name` and fields related to the
  8102  //
  8103  // table's encryption state.
  8104  //
  8105  //	"STATS_VIEW" - Only populates `name` and fields related to the table's
  8106  //
  8107  // stats (e.g. TableStats and ColumnFamilyStats).
  8108  //
  8109  //	"FULL" - Populates all fields except for stats. See STATS_VIEW to request
  8110  //
  8111  // stats.
  8112  func (c *ProjectsInstancesTablesListCall) View(view string) *ProjectsInstancesTablesListCall {
  8113  	c.urlParams_.Set("view", view)
  8114  	return c
  8115  }
  8116  
  8117  // Fields allows partial responses to be retrieved. See
  8118  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8119  // details.
  8120  func (c *ProjectsInstancesTablesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesListCall {
  8121  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8122  	return c
  8123  }
  8124  
  8125  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8126  // object's ETag matches the given value. This is useful for getting updates
  8127  // only after the object has changed since the last request.
  8128  func (c *ProjectsInstancesTablesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesListCall {
  8129  	c.ifNoneMatch_ = entityTag
  8130  	return c
  8131  }
  8132  
  8133  // Context sets the context to be used in this call's Do method.
  8134  func (c *ProjectsInstancesTablesListCall) Context(ctx context.Context) *ProjectsInstancesTablesListCall {
  8135  	c.ctx_ = ctx
  8136  	return c
  8137  }
  8138  
  8139  // Header returns a http.Header that can be modified by the caller to add
  8140  // headers to the request.
  8141  func (c *ProjectsInstancesTablesListCall) Header() http.Header {
  8142  	if c.header_ == nil {
  8143  		c.header_ = make(http.Header)
  8144  	}
  8145  	return c.header_
  8146  }
  8147  
  8148  func (c *ProjectsInstancesTablesListCall) doRequest(alt string) (*http.Response, error) {
  8149  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8150  	if c.ifNoneMatch_ != "" {
  8151  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8152  	}
  8153  	var body io.Reader = nil
  8154  	c.urlParams_.Set("alt", alt)
  8155  	c.urlParams_.Set("prettyPrint", "false")
  8156  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/tables")
  8157  	urls += "?" + c.urlParams_.Encode()
  8158  	req, err := http.NewRequest("GET", urls, body)
  8159  	if err != nil {
  8160  		return nil, err
  8161  	}
  8162  	req.Header = reqHeaders
  8163  	googleapi.Expand(req.URL, map[string]string{
  8164  		"parent": c.parent,
  8165  	})
  8166  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8167  }
  8168  
  8169  // Do executes the "bigtableadmin.projects.instances.tables.list" call.
  8170  // Any non-2xx status code is an error. Response headers are in either
  8171  // *ListTablesResponse.ServerResponse.Header or (if a response was returned at
  8172  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8173  // check whether the returned error was because http.StatusNotModified was
  8174  // returned.
  8175  func (c *ProjectsInstancesTablesListCall) Do(opts ...googleapi.CallOption) (*ListTablesResponse, error) {
  8176  	gensupport.SetOptions(c.urlParams_, opts...)
  8177  	res, err := c.doRequest("json")
  8178  	if res != nil && res.StatusCode == http.StatusNotModified {
  8179  		if res.Body != nil {
  8180  			res.Body.Close()
  8181  		}
  8182  		return nil, gensupport.WrapError(&googleapi.Error{
  8183  			Code:   res.StatusCode,
  8184  			Header: res.Header,
  8185  		})
  8186  	}
  8187  	if err != nil {
  8188  		return nil, err
  8189  	}
  8190  	defer googleapi.CloseBody(res)
  8191  	if err := googleapi.CheckResponse(res); err != nil {
  8192  		return nil, gensupport.WrapError(err)
  8193  	}
  8194  	ret := &ListTablesResponse{
  8195  		ServerResponse: googleapi.ServerResponse{
  8196  			Header:         res.Header,
  8197  			HTTPStatusCode: res.StatusCode,
  8198  		},
  8199  	}
  8200  	target := &ret
  8201  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8202  		return nil, err
  8203  	}
  8204  	return ret, nil
  8205  }
  8206  
  8207  // Pages invokes f for each page of results.
  8208  // A non-nil error returned from f will halt the iteration.
  8209  // The provided context supersedes any context provided to the Context method.
  8210  func (c *ProjectsInstancesTablesListCall) Pages(ctx context.Context, f func(*ListTablesResponse) error) error {
  8211  	c.ctx_ = ctx
  8212  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8213  	for {
  8214  		x, err := c.Do()
  8215  		if err != nil {
  8216  			return err
  8217  		}
  8218  		if err := f(x); err != nil {
  8219  			return err
  8220  		}
  8221  		if x.NextPageToken == "" {
  8222  			return nil
  8223  		}
  8224  		c.PageToken(x.NextPageToken)
  8225  	}
  8226  }
  8227  
  8228  type ProjectsInstancesTablesModifyColumnFamiliesCall struct {
  8229  	s                           *Service
  8230  	name                        string
  8231  	modifycolumnfamiliesrequest *ModifyColumnFamiliesRequest
  8232  	urlParams_                  gensupport.URLParams
  8233  	ctx_                        context.Context
  8234  	header_                     http.Header
  8235  }
  8236  
  8237  // ModifyColumnFamilies: Performs a series of column family modifications on
  8238  // the specified table. Either all or none of the modifications will occur
  8239  // before this method returns, but data requests received prior to that point
  8240  // may see a table where only some modifications have taken effect.
  8241  //
  8242  //   - name: The unique name of the table whose families should be modified.
  8243  //     Values are of the form
  8244  //     `projects/{project}/instances/{instance}/tables/{table}`.
  8245  func (r *ProjectsInstancesTablesService) ModifyColumnFamilies(name string, modifycolumnfamiliesrequest *ModifyColumnFamiliesRequest) *ProjectsInstancesTablesModifyColumnFamiliesCall {
  8246  	c := &ProjectsInstancesTablesModifyColumnFamiliesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8247  	c.name = name
  8248  	c.modifycolumnfamiliesrequest = modifycolumnfamiliesrequest
  8249  	return c
  8250  }
  8251  
  8252  // Fields allows partial responses to be retrieved. See
  8253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8254  // details.
  8255  func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesModifyColumnFamiliesCall {
  8256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8257  	return c
  8258  }
  8259  
  8260  // Context sets the context to be used in this call's Do method.
  8261  func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Context(ctx context.Context) *ProjectsInstancesTablesModifyColumnFamiliesCall {
  8262  	c.ctx_ = ctx
  8263  	return c
  8264  }
  8265  
  8266  // Header returns a http.Header that can be modified by the caller to add
  8267  // headers to the request.
  8268  func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Header() http.Header {
  8269  	if c.header_ == nil {
  8270  		c.header_ = make(http.Header)
  8271  	}
  8272  	return c.header_
  8273  }
  8274  
  8275  func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) doRequest(alt string) (*http.Response, error) {
  8276  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8277  	var body io.Reader = nil
  8278  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifycolumnfamiliesrequest)
  8279  	if err != nil {
  8280  		return nil, err
  8281  	}
  8282  	c.urlParams_.Set("alt", alt)
  8283  	c.urlParams_.Set("prettyPrint", "false")
  8284  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:modifyColumnFamilies")
  8285  	urls += "?" + c.urlParams_.Encode()
  8286  	req, err := http.NewRequest("POST", urls, body)
  8287  	if err != nil {
  8288  		return nil, err
  8289  	}
  8290  	req.Header = reqHeaders
  8291  	googleapi.Expand(req.URL, map[string]string{
  8292  		"name": c.name,
  8293  	})
  8294  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8295  }
  8296  
  8297  // Do executes the "bigtableadmin.projects.instances.tables.modifyColumnFamilies" call.
  8298  // Any non-2xx status code is an error. Response headers are in either
  8299  // *Table.ServerResponse.Header or (if a response was returned at all) in
  8300  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8301  // whether the returned error was because http.StatusNotModified was returned.
  8302  func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Do(opts ...googleapi.CallOption) (*Table, error) {
  8303  	gensupport.SetOptions(c.urlParams_, opts...)
  8304  	res, err := c.doRequest("json")
  8305  	if res != nil && res.StatusCode == http.StatusNotModified {
  8306  		if res.Body != nil {
  8307  			res.Body.Close()
  8308  		}
  8309  		return nil, gensupport.WrapError(&googleapi.Error{
  8310  			Code:   res.StatusCode,
  8311  			Header: res.Header,
  8312  		})
  8313  	}
  8314  	if err != nil {
  8315  		return nil, err
  8316  	}
  8317  	defer googleapi.CloseBody(res)
  8318  	if err := googleapi.CheckResponse(res); err != nil {
  8319  		return nil, gensupport.WrapError(err)
  8320  	}
  8321  	ret := &Table{
  8322  		ServerResponse: googleapi.ServerResponse{
  8323  			Header:         res.Header,
  8324  			HTTPStatusCode: res.StatusCode,
  8325  		},
  8326  	}
  8327  	target := &ret
  8328  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8329  		return nil, err
  8330  	}
  8331  	return ret, nil
  8332  }
  8333  
  8334  type ProjectsInstancesTablesPatchCall struct {
  8335  	s          *Service
  8336  	name       string
  8337  	table      *Table
  8338  	urlParams_ gensupport.URLParams
  8339  	ctx_       context.Context
  8340  	header_    http.Header
  8341  }
  8342  
  8343  // Patch: Updates a specified table.
  8344  //
  8345  //   - name: The unique name of the table. Values are of the form
  8346  //     `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views:
  8347  //     `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`.
  8348  func (r *ProjectsInstancesTablesService) Patch(name string, table *Table) *ProjectsInstancesTablesPatchCall {
  8349  	c := &ProjectsInstancesTablesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8350  	c.name = name
  8351  	c.table = table
  8352  	return c
  8353  }
  8354  
  8355  // UpdateMask sets the optional parameter "updateMask": Required. The list of
  8356  // fields to update. A mask specifying which fields (e.g.
  8357  // `change_stream_config`) in the `table` field should be updated. This mask is
  8358  // relative to the `table` field, not to the request message. The wildcard (*)
  8359  // path is currently not supported. Currently UpdateTable is only supported for
  8360  // the following fields: * `change_stream_config` *
  8361  // `change_stream_config.retention_period` * `deletion_protection` If
  8362  // `column_families` is set in `update_mask`, it will return an UNIMPLEMENTED
  8363  // error.
  8364  func (c *ProjectsInstancesTablesPatchCall) UpdateMask(updateMask string) *ProjectsInstancesTablesPatchCall {
  8365  	c.urlParams_.Set("updateMask", updateMask)
  8366  	return c
  8367  }
  8368  
  8369  // Fields allows partial responses to be retrieved. See
  8370  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8371  // details.
  8372  func (c *ProjectsInstancesTablesPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesPatchCall {
  8373  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8374  	return c
  8375  }
  8376  
  8377  // Context sets the context to be used in this call's Do method.
  8378  func (c *ProjectsInstancesTablesPatchCall) Context(ctx context.Context) *ProjectsInstancesTablesPatchCall {
  8379  	c.ctx_ = ctx
  8380  	return c
  8381  }
  8382  
  8383  // Header returns a http.Header that can be modified by the caller to add
  8384  // headers to the request.
  8385  func (c *ProjectsInstancesTablesPatchCall) Header() http.Header {
  8386  	if c.header_ == nil {
  8387  		c.header_ = make(http.Header)
  8388  	}
  8389  	return c.header_
  8390  }
  8391  
  8392  func (c *ProjectsInstancesTablesPatchCall) doRequest(alt string) (*http.Response, error) {
  8393  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8394  	var body io.Reader = nil
  8395  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.table)
  8396  	if err != nil {
  8397  		return nil, err
  8398  	}
  8399  	c.urlParams_.Set("alt", alt)
  8400  	c.urlParams_.Set("prettyPrint", "false")
  8401  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  8402  	urls += "?" + c.urlParams_.Encode()
  8403  	req, err := http.NewRequest("PATCH", urls, body)
  8404  	if err != nil {
  8405  		return nil, err
  8406  	}
  8407  	req.Header = reqHeaders
  8408  	googleapi.Expand(req.URL, map[string]string{
  8409  		"name": c.name,
  8410  	})
  8411  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8412  }
  8413  
  8414  // Do executes the "bigtableadmin.projects.instances.tables.patch" call.
  8415  // Any non-2xx status code is an error. Response headers are in either
  8416  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8417  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8418  // whether the returned error was because http.StatusNotModified was returned.
  8419  func (c *ProjectsInstancesTablesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8420  	gensupport.SetOptions(c.urlParams_, opts...)
  8421  	res, err := c.doRequest("json")
  8422  	if res != nil && res.StatusCode == http.StatusNotModified {
  8423  		if res.Body != nil {
  8424  			res.Body.Close()
  8425  		}
  8426  		return nil, gensupport.WrapError(&googleapi.Error{
  8427  			Code:   res.StatusCode,
  8428  			Header: res.Header,
  8429  		})
  8430  	}
  8431  	if err != nil {
  8432  		return nil, err
  8433  	}
  8434  	defer googleapi.CloseBody(res)
  8435  	if err := googleapi.CheckResponse(res); err != nil {
  8436  		return nil, gensupport.WrapError(err)
  8437  	}
  8438  	ret := &Operation{
  8439  		ServerResponse: googleapi.ServerResponse{
  8440  			Header:         res.Header,
  8441  			HTTPStatusCode: res.StatusCode,
  8442  		},
  8443  	}
  8444  	target := &ret
  8445  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8446  		return nil, err
  8447  	}
  8448  	return ret, nil
  8449  }
  8450  
  8451  type ProjectsInstancesTablesRestoreCall struct {
  8452  	s                   *Service
  8453  	parent              string
  8454  	restoretablerequest *RestoreTableRequest
  8455  	urlParams_          gensupport.URLParams
  8456  	ctx_                context.Context
  8457  	header_             http.Header
  8458  }
  8459  
  8460  // Restore: Create a new table by restoring from a completed backup. The
  8461  // returned table long-running operation can be used to track the progress of
  8462  // the operation, and to cancel it. The metadata field type is
  8463  // RestoreTableMetadata. The response type is Table, if successful.
  8464  //
  8465  //   - parent: The name of the instance in which to create the restored table.
  8466  //     Values are of the form `projects//instances/`.
  8467  func (r *ProjectsInstancesTablesService) Restore(parent string, restoretablerequest *RestoreTableRequest) *ProjectsInstancesTablesRestoreCall {
  8468  	c := &ProjectsInstancesTablesRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8469  	c.parent = parent
  8470  	c.restoretablerequest = restoretablerequest
  8471  	return c
  8472  }
  8473  
  8474  // Fields allows partial responses to be retrieved. See
  8475  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8476  // details.
  8477  func (c *ProjectsInstancesTablesRestoreCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesRestoreCall {
  8478  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8479  	return c
  8480  }
  8481  
  8482  // Context sets the context to be used in this call's Do method.
  8483  func (c *ProjectsInstancesTablesRestoreCall) Context(ctx context.Context) *ProjectsInstancesTablesRestoreCall {
  8484  	c.ctx_ = ctx
  8485  	return c
  8486  }
  8487  
  8488  // Header returns a http.Header that can be modified by the caller to add
  8489  // headers to the request.
  8490  func (c *ProjectsInstancesTablesRestoreCall) Header() http.Header {
  8491  	if c.header_ == nil {
  8492  		c.header_ = make(http.Header)
  8493  	}
  8494  	return c.header_
  8495  }
  8496  
  8497  func (c *ProjectsInstancesTablesRestoreCall) doRequest(alt string) (*http.Response, error) {
  8498  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8499  	var body io.Reader = nil
  8500  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.restoretablerequest)
  8501  	if err != nil {
  8502  		return nil, err
  8503  	}
  8504  	c.urlParams_.Set("alt", alt)
  8505  	c.urlParams_.Set("prettyPrint", "false")
  8506  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/tables:restore")
  8507  	urls += "?" + c.urlParams_.Encode()
  8508  	req, err := http.NewRequest("POST", urls, body)
  8509  	if err != nil {
  8510  		return nil, err
  8511  	}
  8512  	req.Header = reqHeaders
  8513  	googleapi.Expand(req.URL, map[string]string{
  8514  		"parent": c.parent,
  8515  	})
  8516  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8517  }
  8518  
  8519  // Do executes the "bigtableadmin.projects.instances.tables.restore" call.
  8520  // Any non-2xx status code is an error. Response headers are in either
  8521  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8522  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8523  // whether the returned error was because http.StatusNotModified was returned.
  8524  func (c *ProjectsInstancesTablesRestoreCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8525  	gensupport.SetOptions(c.urlParams_, opts...)
  8526  	res, err := c.doRequest("json")
  8527  	if res != nil && res.StatusCode == http.StatusNotModified {
  8528  		if res.Body != nil {
  8529  			res.Body.Close()
  8530  		}
  8531  		return nil, gensupport.WrapError(&googleapi.Error{
  8532  			Code:   res.StatusCode,
  8533  			Header: res.Header,
  8534  		})
  8535  	}
  8536  	if err != nil {
  8537  		return nil, err
  8538  	}
  8539  	defer googleapi.CloseBody(res)
  8540  	if err := googleapi.CheckResponse(res); err != nil {
  8541  		return nil, gensupport.WrapError(err)
  8542  	}
  8543  	ret := &Operation{
  8544  		ServerResponse: googleapi.ServerResponse{
  8545  			Header:         res.Header,
  8546  			HTTPStatusCode: res.StatusCode,
  8547  		},
  8548  	}
  8549  	target := &ret
  8550  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8551  		return nil, err
  8552  	}
  8553  	return ret, nil
  8554  }
  8555  
  8556  type ProjectsInstancesTablesSetIamPolicyCall struct {
  8557  	s                   *Service
  8558  	resource            string
  8559  	setiampolicyrequest *SetIamPolicyRequest
  8560  	urlParams_          gensupport.URLParams
  8561  	ctx_                context.Context
  8562  	header_             http.Header
  8563  }
  8564  
  8565  // SetIamPolicy: Sets the access control policy on a Bigtable resource.
  8566  // Replaces any existing policy.
  8567  //
  8568  //   - resource: REQUIRED: The resource for which the policy is being specified.
  8569  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8570  //     for the appropriate value for this field.
  8571  func (r *ProjectsInstancesTablesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesTablesSetIamPolicyCall {
  8572  	c := &ProjectsInstancesTablesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8573  	c.resource = resource
  8574  	c.setiampolicyrequest = setiampolicyrequest
  8575  	return c
  8576  }
  8577  
  8578  // Fields allows partial responses to be retrieved. See
  8579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8580  // details.
  8581  func (c *ProjectsInstancesTablesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesSetIamPolicyCall {
  8582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8583  	return c
  8584  }
  8585  
  8586  // Context sets the context to be used in this call's Do method.
  8587  func (c *ProjectsInstancesTablesSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesSetIamPolicyCall {
  8588  	c.ctx_ = ctx
  8589  	return c
  8590  }
  8591  
  8592  // Header returns a http.Header that can be modified by the caller to add
  8593  // headers to the request.
  8594  func (c *ProjectsInstancesTablesSetIamPolicyCall) Header() http.Header {
  8595  	if c.header_ == nil {
  8596  		c.header_ = make(http.Header)
  8597  	}
  8598  	return c.header_
  8599  }
  8600  
  8601  func (c *ProjectsInstancesTablesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8602  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8603  	var body io.Reader = nil
  8604  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  8605  	if err != nil {
  8606  		return nil, err
  8607  	}
  8608  	c.urlParams_.Set("alt", alt)
  8609  	c.urlParams_.Set("prettyPrint", "false")
  8610  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
  8611  	urls += "?" + c.urlParams_.Encode()
  8612  	req, err := http.NewRequest("POST", urls, body)
  8613  	if err != nil {
  8614  		return nil, err
  8615  	}
  8616  	req.Header = reqHeaders
  8617  	googleapi.Expand(req.URL, map[string]string{
  8618  		"resource": c.resource,
  8619  	})
  8620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8621  }
  8622  
  8623  // Do executes the "bigtableadmin.projects.instances.tables.setIamPolicy" call.
  8624  // Any non-2xx status code is an error. Response headers are in either
  8625  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8626  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8627  // whether the returned error was because http.StatusNotModified was returned.
  8628  func (c *ProjectsInstancesTablesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8629  	gensupport.SetOptions(c.urlParams_, opts...)
  8630  	res, err := c.doRequest("json")
  8631  	if res != nil && res.StatusCode == http.StatusNotModified {
  8632  		if res.Body != nil {
  8633  			res.Body.Close()
  8634  		}
  8635  		return nil, gensupport.WrapError(&googleapi.Error{
  8636  			Code:   res.StatusCode,
  8637  			Header: res.Header,
  8638  		})
  8639  	}
  8640  	if err != nil {
  8641  		return nil, err
  8642  	}
  8643  	defer googleapi.CloseBody(res)
  8644  	if err := googleapi.CheckResponse(res); err != nil {
  8645  		return nil, gensupport.WrapError(err)
  8646  	}
  8647  	ret := &Policy{
  8648  		ServerResponse: googleapi.ServerResponse{
  8649  			Header:         res.Header,
  8650  			HTTPStatusCode: res.StatusCode,
  8651  		},
  8652  	}
  8653  	target := &ret
  8654  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8655  		return nil, err
  8656  	}
  8657  	return ret, nil
  8658  }
  8659  
  8660  type ProjectsInstancesTablesTestIamPermissionsCall struct {
  8661  	s                         *Service
  8662  	resource                  string
  8663  	testiampermissionsrequest *TestIamPermissionsRequest
  8664  	urlParams_                gensupport.URLParams
  8665  	ctx_                      context.Context
  8666  	header_                   http.Header
  8667  }
  8668  
  8669  // TestIamPermissions: Returns permissions that the caller has on the specified
  8670  // Bigtable resource.
  8671  //
  8672  //   - resource: REQUIRED: The resource for which the policy detail is being
  8673  //     requested. See Resource names
  8674  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  8675  //     value for this field.
  8676  func (r *ProjectsInstancesTablesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTablesTestIamPermissionsCall {
  8677  	c := &ProjectsInstancesTablesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8678  	c.resource = resource
  8679  	c.testiampermissionsrequest = testiampermissionsrequest
  8680  	return c
  8681  }
  8682  
  8683  // Fields allows partial responses to be retrieved. See
  8684  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8685  // details.
  8686  func (c *ProjectsInstancesTablesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesTestIamPermissionsCall {
  8687  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8688  	return c
  8689  }
  8690  
  8691  // Context sets the context to be used in this call's Do method.
  8692  func (c *ProjectsInstancesTablesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTablesTestIamPermissionsCall {
  8693  	c.ctx_ = ctx
  8694  	return c
  8695  }
  8696  
  8697  // Header returns a http.Header that can be modified by the caller to add
  8698  // headers to the request.
  8699  func (c *ProjectsInstancesTablesTestIamPermissionsCall) Header() http.Header {
  8700  	if c.header_ == nil {
  8701  		c.header_ = make(http.Header)
  8702  	}
  8703  	return c.header_
  8704  }
  8705  
  8706  func (c *ProjectsInstancesTablesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  8707  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8708  	var body io.Reader = nil
  8709  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  8710  	if err != nil {
  8711  		return nil, err
  8712  	}
  8713  	c.urlParams_.Set("alt", alt)
  8714  	c.urlParams_.Set("prettyPrint", "false")
  8715  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
  8716  	urls += "?" + c.urlParams_.Encode()
  8717  	req, err := http.NewRequest("POST", urls, body)
  8718  	if err != nil {
  8719  		return nil, err
  8720  	}
  8721  	req.Header = reqHeaders
  8722  	googleapi.Expand(req.URL, map[string]string{
  8723  		"resource": c.resource,
  8724  	})
  8725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8726  }
  8727  
  8728  // Do executes the "bigtableadmin.projects.instances.tables.testIamPermissions" call.
  8729  // Any non-2xx status code is an error. Response headers are in either
  8730  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  8731  // returned at all) in error.(*googleapi.Error).Header. Use
  8732  // googleapi.IsNotModified to check whether the returned error was because
  8733  // http.StatusNotModified was returned.
  8734  func (c *ProjectsInstancesTablesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  8735  	gensupport.SetOptions(c.urlParams_, opts...)
  8736  	res, err := c.doRequest("json")
  8737  	if res != nil && res.StatusCode == http.StatusNotModified {
  8738  		if res.Body != nil {
  8739  			res.Body.Close()
  8740  		}
  8741  		return nil, gensupport.WrapError(&googleapi.Error{
  8742  			Code:   res.StatusCode,
  8743  			Header: res.Header,
  8744  		})
  8745  	}
  8746  	if err != nil {
  8747  		return nil, err
  8748  	}
  8749  	defer googleapi.CloseBody(res)
  8750  	if err := googleapi.CheckResponse(res); err != nil {
  8751  		return nil, gensupport.WrapError(err)
  8752  	}
  8753  	ret := &TestIamPermissionsResponse{
  8754  		ServerResponse: googleapi.ServerResponse{
  8755  			Header:         res.Header,
  8756  			HTTPStatusCode: res.StatusCode,
  8757  		},
  8758  	}
  8759  	target := &ret
  8760  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8761  		return nil, err
  8762  	}
  8763  	return ret, nil
  8764  }
  8765  
  8766  type ProjectsInstancesTablesUndeleteCall struct {
  8767  	s                    *Service
  8768  	name                 string
  8769  	undeletetablerequest *UndeleteTableRequest
  8770  	urlParams_           gensupport.URLParams
  8771  	ctx_                 context.Context
  8772  	header_              http.Header
  8773  }
  8774  
  8775  // Undelete: Restores a specified table which was accidentally deleted.
  8776  //
  8777  //   - name: The unique name of the table to be restored. Values are of the form
  8778  //     `projects/{project}/instances/{instance}/tables/{table}`.
  8779  func (r *ProjectsInstancesTablesService) Undelete(name string, undeletetablerequest *UndeleteTableRequest) *ProjectsInstancesTablesUndeleteCall {
  8780  	c := &ProjectsInstancesTablesUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8781  	c.name = name
  8782  	c.undeletetablerequest = undeletetablerequest
  8783  	return c
  8784  }
  8785  
  8786  // Fields allows partial responses to be retrieved. See
  8787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8788  // details.
  8789  func (c *ProjectsInstancesTablesUndeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesUndeleteCall {
  8790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8791  	return c
  8792  }
  8793  
  8794  // Context sets the context to be used in this call's Do method.
  8795  func (c *ProjectsInstancesTablesUndeleteCall) Context(ctx context.Context) *ProjectsInstancesTablesUndeleteCall {
  8796  	c.ctx_ = ctx
  8797  	return c
  8798  }
  8799  
  8800  // Header returns a http.Header that can be modified by the caller to add
  8801  // headers to the request.
  8802  func (c *ProjectsInstancesTablesUndeleteCall) Header() http.Header {
  8803  	if c.header_ == nil {
  8804  		c.header_ = make(http.Header)
  8805  	}
  8806  	return c.header_
  8807  }
  8808  
  8809  func (c *ProjectsInstancesTablesUndeleteCall) doRequest(alt string) (*http.Response, error) {
  8810  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8811  	var body io.Reader = nil
  8812  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.undeletetablerequest)
  8813  	if err != nil {
  8814  		return nil, err
  8815  	}
  8816  	c.urlParams_.Set("alt", alt)
  8817  	c.urlParams_.Set("prettyPrint", "false")
  8818  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:undelete")
  8819  	urls += "?" + c.urlParams_.Encode()
  8820  	req, err := http.NewRequest("POST", urls, body)
  8821  	if err != nil {
  8822  		return nil, err
  8823  	}
  8824  	req.Header = reqHeaders
  8825  	googleapi.Expand(req.URL, map[string]string{
  8826  		"name": c.name,
  8827  	})
  8828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8829  }
  8830  
  8831  // Do executes the "bigtableadmin.projects.instances.tables.undelete" call.
  8832  // Any non-2xx status code is an error. Response headers are in either
  8833  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8834  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8835  // whether the returned error was because http.StatusNotModified was returned.
  8836  func (c *ProjectsInstancesTablesUndeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8837  	gensupport.SetOptions(c.urlParams_, opts...)
  8838  	res, err := c.doRequest("json")
  8839  	if res != nil && res.StatusCode == http.StatusNotModified {
  8840  		if res.Body != nil {
  8841  			res.Body.Close()
  8842  		}
  8843  		return nil, gensupport.WrapError(&googleapi.Error{
  8844  			Code:   res.StatusCode,
  8845  			Header: res.Header,
  8846  		})
  8847  	}
  8848  	if err != nil {
  8849  		return nil, err
  8850  	}
  8851  	defer googleapi.CloseBody(res)
  8852  	if err := googleapi.CheckResponse(res); err != nil {
  8853  		return nil, gensupport.WrapError(err)
  8854  	}
  8855  	ret := &Operation{
  8856  		ServerResponse: googleapi.ServerResponse{
  8857  			Header:         res.Header,
  8858  			HTTPStatusCode: res.StatusCode,
  8859  		},
  8860  	}
  8861  	target := &ret
  8862  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8863  		return nil, err
  8864  	}
  8865  	return ret, nil
  8866  }
  8867  
  8868  type ProjectsInstancesTablesAuthorizedViewsCreateCall struct {
  8869  	s              *Service
  8870  	parent         string
  8871  	authorizedview *AuthorizedView
  8872  	urlParams_     gensupport.URLParams
  8873  	ctx_           context.Context
  8874  	header_        http.Header
  8875  }
  8876  
  8877  // Create: Creates a new AuthorizedView in a table.
  8878  //
  8879  //   - parent: This is the name of the table the AuthorizedView belongs to.
  8880  //     Values are of the form
  8881  //     `projects/{project}/instances/{instance}/tables/{table}`.
  8882  func (r *ProjectsInstancesTablesAuthorizedViewsService) Create(parent string, authorizedview *AuthorizedView) *ProjectsInstancesTablesAuthorizedViewsCreateCall {
  8883  	c := &ProjectsInstancesTablesAuthorizedViewsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8884  	c.parent = parent
  8885  	c.authorizedview = authorizedview
  8886  	return c
  8887  }
  8888  
  8889  // AuthorizedViewId sets the optional parameter "authorizedViewId": Required.
  8890  // The id of the AuthorizedView to create. This AuthorizedView must not already
  8891  // exist. The `authorized_view_id` appended to `parent` forms the full
  8892  // AuthorizedView name of the form
  8893  // `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{autho
  8894  // rized_view}`.
  8895  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) AuthorizedViewId(authorizedViewId string) *ProjectsInstancesTablesAuthorizedViewsCreateCall {
  8896  	c.urlParams_.Set("authorizedViewId", authorizedViewId)
  8897  	return c
  8898  }
  8899  
  8900  // Fields allows partial responses to be retrieved. See
  8901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8902  // details.
  8903  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsCreateCall {
  8904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8905  	return c
  8906  }
  8907  
  8908  // Context sets the context to be used in this call's Do method.
  8909  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsCreateCall {
  8910  	c.ctx_ = ctx
  8911  	return c
  8912  }
  8913  
  8914  // Header returns a http.Header that can be modified by the caller to add
  8915  // headers to the request.
  8916  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) Header() http.Header {
  8917  	if c.header_ == nil {
  8918  		c.header_ = make(http.Header)
  8919  	}
  8920  	return c.header_
  8921  }
  8922  
  8923  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) doRequest(alt string) (*http.Response, error) {
  8924  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8925  	var body io.Reader = nil
  8926  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedview)
  8927  	if err != nil {
  8928  		return nil, err
  8929  	}
  8930  	c.urlParams_.Set("alt", alt)
  8931  	c.urlParams_.Set("prettyPrint", "false")
  8932  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/authorizedViews")
  8933  	urls += "?" + c.urlParams_.Encode()
  8934  	req, err := http.NewRequest("POST", urls, body)
  8935  	if err != nil {
  8936  		return nil, err
  8937  	}
  8938  	req.Header = reqHeaders
  8939  	googleapi.Expand(req.URL, map[string]string{
  8940  		"parent": c.parent,
  8941  	})
  8942  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8943  }
  8944  
  8945  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.create" call.
  8946  // Any non-2xx status code is an error. Response headers are in either
  8947  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8948  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8949  // whether the returned error was because http.StatusNotModified was returned.
  8950  func (c *ProjectsInstancesTablesAuthorizedViewsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8951  	gensupport.SetOptions(c.urlParams_, opts...)
  8952  	res, err := c.doRequest("json")
  8953  	if res != nil && res.StatusCode == http.StatusNotModified {
  8954  		if res.Body != nil {
  8955  			res.Body.Close()
  8956  		}
  8957  		return nil, gensupport.WrapError(&googleapi.Error{
  8958  			Code:   res.StatusCode,
  8959  			Header: res.Header,
  8960  		})
  8961  	}
  8962  	if err != nil {
  8963  		return nil, err
  8964  	}
  8965  	defer googleapi.CloseBody(res)
  8966  	if err := googleapi.CheckResponse(res); err != nil {
  8967  		return nil, gensupport.WrapError(err)
  8968  	}
  8969  	ret := &Operation{
  8970  		ServerResponse: googleapi.ServerResponse{
  8971  			Header:         res.Header,
  8972  			HTTPStatusCode: res.StatusCode,
  8973  		},
  8974  	}
  8975  	target := &ret
  8976  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8977  		return nil, err
  8978  	}
  8979  	return ret, nil
  8980  }
  8981  
  8982  type ProjectsInstancesTablesAuthorizedViewsDeleteCall struct {
  8983  	s          *Service
  8984  	name       string
  8985  	urlParams_ gensupport.URLParams
  8986  	ctx_       context.Context
  8987  	header_    http.Header
  8988  }
  8989  
  8990  // Delete: Permanently deletes a specified AuthorizedView.
  8991  //
  8992  //   - name: The unique name of the AuthorizedView to be deleted. Values are of
  8993  //     the form
  8994  //     `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{au
  8995  //     thorized_view}`.
  8996  func (r *ProjectsInstancesTablesAuthorizedViewsService) Delete(name string) *ProjectsInstancesTablesAuthorizedViewsDeleteCall {
  8997  	c := &ProjectsInstancesTablesAuthorizedViewsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8998  	c.name = name
  8999  	return c
  9000  }
  9001  
  9002  // Etag sets the optional parameter "etag": The current etag of the
  9003  // AuthorizedView. If an etag is provided and does not match the current etag
  9004  // of the AuthorizedView, deletion will be blocked and an ABORTED error will be
  9005  // returned.
  9006  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) Etag(etag string) *ProjectsInstancesTablesAuthorizedViewsDeleteCall {
  9007  	c.urlParams_.Set("etag", etag)
  9008  	return c
  9009  }
  9010  
  9011  // Fields allows partial responses to be retrieved. See
  9012  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9013  // details.
  9014  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsDeleteCall {
  9015  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9016  	return c
  9017  }
  9018  
  9019  // Context sets the context to be used in this call's Do method.
  9020  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsDeleteCall {
  9021  	c.ctx_ = ctx
  9022  	return c
  9023  }
  9024  
  9025  // Header returns a http.Header that can be modified by the caller to add
  9026  // headers to the request.
  9027  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) Header() http.Header {
  9028  	if c.header_ == nil {
  9029  		c.header_ = make(http.Header)
  9030  	}
  9031  	return c.header_
  9032  }
  9033  
  9034  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9035  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9036  	var body io.Reader = nil
  9037  	c.urlParams_.Set("alt", alt)
  9038  	c.urlParams_.Set("prettyPrint", "false")
  9039  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  9040  	urls += "?" + c.urlParams_.Encode()
  9041  	req, err := http.NewRequest("DELETE", urls, body)
  9042  	if err != nil {
  9043  		return nil, err
  9044  	}
  9045  	req.Header = reqHeaders
  9046  	googleapi.Expand(req.URL, map[string]string{
  9047  		"name": c.name,
  9048  	})
  9049  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9050  }
  9051  
  9052  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.delete" call.
  9053  // Any non-2xx status code is an error. Response headers are in either
  9054  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  9055  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9056  // whether the returned error was because http.StatusNotModified was returned.
  9057  func (c *ProjectsInstancesTablesAuthorizedViewsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  9058  	gensupport.SetOptions(c.urlParams_, opts...)
  9059  	res, err := c.doRequest("json")
  9060  	if res != nil && res.StatusCode == http.StatusNotModified {
  9061  		if res.Body != nil {
  9062  			res.Body.Close()
  9063  		}
  9064  		return nil, gensupport.WrapError(&googleapi.Error{
  9065  			Code:   res.StatusCode,
  9066  			Header: res.Header,
  9067  		})
  9068  	}
  9069  	if err != nil {
  9070  		return nil, err
  9071  	}
  9072  	defer googleapi.CloseBody(res)
  9073  	if err := googleapi.CheckResponse(res); err != nil {
  9074  		return nil, gensupport.WrapError(err)
  9075  	}
  9076  	ret := &Empty{
  9077  		ServerResponse: googleapi.ServerResponse{
  9078  			Header:         res.Header,
  9079  			HTTPStatusCode: res.StatusCode,
  9080  		},
  9081  	}
  9082  	target := &ret
  9083  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9084  		return nil, err
  9085  	}
  9086  	return ret, nil
  9087  }
  9088  
  9089  type ProjectsInstancesTablesAuthorizedViewsGetCall struct {
  9090  	s            *Service
  9091  	name         string
  9092  	urlParams_   gensupport.URLParams
  9093  	ifNoneMatch_ string
  9094  	ctx_         context.Context
  9095  	header_      http.Header
  9096  }
  9097  
  9098  // Get: Gets information from a specified AuthorizedView.
  9099  //
  9100  //   - name: The unique name of the requested AuthorizedView. Values are of the
  9101  //     form
  9102  //     `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{au
  9103  //     thorized_view}`.
  9104  func (r *ProjectsInstancesTablesAuthorizedViewsService) Get(name string) *ProjectsInstancesTablesAuthorizedViewsGetCall {
  9105  	c := &ProjectsInstancesTablesAuthorizedViewsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9106  	c.name = name
  9107  	return c
  9108  }
  9109  
  9110  // View sets the optional parameter "view": The resource_view to be applied to
  9111  // the returned AuthorizedView's fields. Default to BASIC.
  9112  //
  9113  // Possible values:
  9114  //
  9115  //	"RESPONSE_VIEW_UNSPECIFIED" - Uses the default view for each method as
  9116  //
  9117  // documented in the request.
  9118  //
  9119  //	"NAME_ONLY" - Only populates `name`.
  9120  //	"BASIC" - Only populates the AuthorizedView's basic metadata. This
  9121  //
  9122  // includes: name, deletion_protection, etag.
  9123  //
  9124  //	"FULL" - Populates every fields.
  9125  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) View(view string) *ProjectsInstancesTablesAuthorizedViewsGetCall {
  9126  	c.urlParams_.Set("view", view)
  9127  	return c
  9128  }
  9129  
  9130  // Fields allows partial responses to be retrieved. See
  9131  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9132  // details.
  9133  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsGetCall {
  9134  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9135  	return c
  9136  }
  9137  
  9138  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9139  // object's ETag matches the given value. This is useful for getting updates
  9140  // only after the object has changed since the last request.
  9141  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesAuthorizedViewsGetCall {
  9142  	c.ifNoneMatch_ = entityTag
  9143  	return c
  9144  }
  9145  
  9146  // Context sets the context to be used in this call's Do method.
  9147  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsGetCall {
  9148  	c.ctx_ = ctx
  9149  	return c
  9150  }
  9151  
  9152  // Header returns a http.Header that can be modified by the caller to add
  9153  // headers to the request.
  9154  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) Header() http.Header {
  9155  	if c.header_ == nil {
  9156  		c.header_ = make(http.Header)
  9157  	}
  9158  	return c.header_
  9159  }
  9160  
  9161  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) doRequest(alt string) (*http.Response, error) {
  9162  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9163  	if c.ifNoneMatch_ != "" {
  9164  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9165  	}
  9166  	var body io.Reader = nil
  9167  	c.urlParams_.Set("alt", alt)
  9168  	c.urlParams_.Set("prettyPrint", "false")
  9169  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  9170  	urls += "?" + c.urlParams_.Encode()
  9171  	req, err := http.NewRequest("GET", urls, body)
  9172  	if err != nil {
  9173  		return nil, err
  9174  	}
  9175  	req.Header = reqHeaders
  9176  	googleapi.Expand(req.URL, map[string]string{
  9177  		"name": c.name,
  9178  	})
  9179  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9180  }
  9181  
  9182  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.get" call.
  9183  // Any non-2xx status code is an error. Response headers are in either
  9184  // *AuthorizedView.ServerResponse.Header or (if a response was returned at all)
  9185  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9186  // whether the returned error was because http.StatusNotModified was returned.
  9187  func (c *ProjectsInstancesTablesAuthorizedViewsGetCall) Do(opts ...googleapi.CallOption) (*AuthorizedView, error) {
  9188  	gensupport.SetOptions(c.urlParams_, opts...)
  9189  	res, err := c.doRequest("json")
  9190  	if res != nil && res.StatusCode == http.StatusNotModified {
  9191  		if res.Body != nil {
  9192  			res.Body.Close()
  9193  		}
  9194  		return nil, gensupport.WrapError(&googleapi.Error{
  9195  			Code:   res.StatusCode,
  9196  			Header: res.Header,
  9197  		})
  9198  	}
  9199  	if err != nil {
  9200  		return nil, err
  9201  	}
  9202  	defer googleapi.CloseBody(res)
  9203  	if err := googleapi.CheckResponse(res); err != nil {
  9204  		return nil, gensupport.WrapError(err)
  9205  	}
  9206  	ret := &AuthorizedView{
  9207  		ServerResponse: googleapi.ServerResponse{
  9208  			Header:         res.Header,
  9209  			HTTPStatusCode: res.StatusCode,
  9210  		},
  9211  	}
  9212  	target := &ret
  9213  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9214  		return nil, err
  9215  	}
  9216  	return ret, nil
  9217  }
  9218  
  9219  type ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall struct {
  9220  	s                   *Service
  9221  	resource            string
  9222  	getiampolicyrequest *GetIamPolicyRequest
  9223  	urlParams_          gensupport.URLParams
  9224  	ctx_                context.Context
  9225  	header_             http.Header
  9226  }
  9227  
  9228  // GetIamPolicy: Gets the access control policy for a Bigtable resource.
  9229  // Returns an empty policy if the resource exists but does not have a policy
  9230  // set.
  9231  //
  9232  //   - resource: REQUIRED: The resource for which the policy is being requested.
  9233  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9234  //     for the appropriate value for this field.
  9235  func (r *ProjectsInstancesTablesAuthorizedViewsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall {
  9236  	c := &ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9237  	c.resource = resource
  9238  	c.getiampolicyrequest = getiampolicyrequest
  9239  	return c
  9240  }
  9241  
  9242  // Fields allows partial responses to be retrieved. See
  9243  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9244  // details.
  9245  func (c *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall {
  9246  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9247  	return c
  9248  }
  9249  
  9250  // Context sets the context to be used in this call's Do method.
  9251  func (c *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall {
  9252  	c.ctx_ = ctx
  9253  	return c
  9254  }
  9255  
  9256  // Header returns a http.Header that can be modified by the caller to add
  9257  // headers to the request.
  9258  func (c *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall) Header() http.Header {
  9259  	if c.header_ == nil {
  9260  		c.header_ = make(http.Header)
  9261  	}
  9262  	return c.header_
  9263  }
  9264  
  9265  func (c *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9266  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9267  	var body io.Reader = nil
  9268  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
  9269  	if err != nil {
  9270  		return nil, err
  9271  	}
  9272  	c.urlParams_.Set("alt", alt)
  9273  	c.urlParams_.Set("prettyPrint", "false")
  9274  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
  9275  	urls += "?" + c.urlParams_.Encode()
  9276  	req, err := http.NewRequest("POST", urls, body)
  9277  	if err != nil {
  9278  		return nil, err
  9279  	}
  9280  	req.Header = reqHeaders
  9281  	googleapi.Expand(req.URL, map[string]string{
  9282  		"resource": c.resource,
  9283  	})
  9284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9285  }
  9286  
  9287  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.getIamPolicy" call.
  9288  // Any non-2xx status code is an error. Response headers are in either
  9289  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9290  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9291  // whether the returned error was because http.StatusNotModified was returned.
  9292  func (c *ProjectsInstancesTablesAuthorizedViewsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9293  	gensupport.SetOptions(c.urlParams_, opts...)
  9294  	res, err := c.doRequest("json")
  9295  	if res != nil && res.StatusCode == http.StatusNotModified {
  9296  		if res.Body != nil {
  9297  			res.Body.Close()
  9298  		}
  9299  		return nil, gensupport.WrapError(&googleapi.Error{
  9300  			Code:   res.StatusCode,
  9301  			Header: res.Header,
  9302  		})
  9303  	}
  9304  	if err != nil {
  9305  		return nil, err
  9306  	}
  9307  	defer googleapi.CloseBody(res)
  9308  	if err := googleapi.CheckResponse(res); err != nil {
  9309  		return nil, gensupport.WrapError(err)
  9310  	}
  9311  	ret := &Policy{
  9312  		ServerResponse: googleapi.ServerResponse{
  9313  			Header:         res.Header,
  9314  			HTTPStatusCode: res.StatusCode,
  9315  		},
  9316  	}
  9317  	target := &ret
  9318  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9319  		return nil, err
  9320  	}
  9321  	return ret, nil
  9322  }
  9323  
  9324  type ProjectsInstancesTablesAuthorizedViewsListCall struct {
  9325  	s            *Service
  9326  	parent       string
  9327  	urlParams_   gensupport.URLParams
  9328  	ifNoneMatch_ string
  9329  	ctx_         context.Context
  9330  	header_      http.Header
  9331  }
  9332  
  9333  // List: Lists all AuthorizedViews from a specific table.
  9334  //
  9335  //   - parent: The unique name of the table for which AuthorizedViews should be
  9336  //     listed. Values are of the form
  9337  //     `projects/{project}/instances/{instance}/tables/{table}`.
  9338  func (r *ProjectsInstancesTablesAuthorizedViewsService) List(parent string) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9339  	c := &ProjectsInstancesTablesAuthorizedViewsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9340  	c.parent = parent
  9341  	return c
  9342  }
  9343  
  9344  // PageSize sets the optional parameter "pageSize": Maximum number of results
  9345  // per page. A page_size of zero lets the server choose the number of items to
  9346  // return. A page_size which is strictly positive will return at most that many
  9347  // items. A negative page_size will cause an error. Following the first
  9348  // request, subsequent paginated calls are not required to pass a page_size. If
  9349  // a page_size is set in subsequent calls, it must match the page_size given in
  9350  // the first request.
  9351  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) PageSize(pageSize int64) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9352  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9353  	return c
  9354  }
  9355  
  9356  // PageToken sets the optional parameter "pageToken": The value of
  9357  // `next_page_token` returned by a previous call.
  9358  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) PageToken(pageToken string) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9359  	c.urlParams_.Set("pageToken", pageToken)
  9360  	return c
  9361  }
  9362  
  9363  // View sets the optional parameter "view": The resource_view to be applied to
  9364  // the returned AuthorizedViews' fields. Default to NAME_ONLY.
  9365  //
  9366  // Possible values:
  9367  //
  9368  //	"RESPONSE_VIEW_UNSPECIFIED" - Uses the default view for each method as
  9369  //
  9370  // documented in the request.
  9371  //
  9372  //	"NAME_ONLY" - Only populates `name`.
  9373  //	"BASIC" - Only populates the AuthorizedView's basic metadata. This
  9374  //
  9375  // includes: name, deletion_protection, etag.
  9376  //
  9377  //	"FULL" - Populates every fields.
  9378  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) View(view string) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9379  	c.urlParams_.Set("view", view)
  9380  	return c
  9381  }
  9382  
  9383  // Fields allows partial responses to be retrieved. See
  9384  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9385  // details.
  9386  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9387  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9388  	return c
  9389  }
  9390  
  9391  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9392  // object's ETag matches the given value. This is useful for getting updates
  9393  // only after the object has changed since the last request.
  9394  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9395  	c.ifNoneMatch_ = entityTag
  9396  	return c
  9397  }
  9398  
  9399  // Context sets the context to be used in this call's Do method.
  9400  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsListCall {
  9401  	c.ctx_ = ctx
  9402  	return c
  9403  }
  9404  
  9405  // Header returns a http.Header that can be modified by the caller to add
  9406  // headers to the request.
  9407  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) Header() http.Header {
  9408  	if c.header_ == nil {
  9409  		c.header_ = make(http.Header)
  9410  	}
  9411  	return c.header_
  9412  }
  9413  
  9414  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) doRequest(alt string) (*http.Response, error) {
  9415  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9416  	if c.ifNoneMatch_ != "" {
  9417  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9418  	}
  9419  	var body io.Reader = nil
  9420  	c.urlParams_.Set("alt", alt)
  9421  	c.urlParams_.Set("prettyPrint", "false")
  9422  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/authorizedViews")
  9423  	urls += "?" + c.urlParams_.Encode()
  9424  	req, err := http.NewRequest("GET", urls, body)
  9425  	if err != nil {
  9426  		return nil, err
  9427  	}
  9428  	req.Header = reqHeaders
  9429  	googleapi.Expand(req.URL, map[string]string{
  9430  		"parent": c.parent,
  9431  	})
  9432  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9433  }
  9434  
  9435  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.list" call.
  9436  // Any non-2xx status code is an error. Response headers are in either
  9437  // *ListAuthorizedViewsResponse.ServerResponse.Header or (if a response was
  9438  // returned at all) in error.(*googleapi.Error).Header. Use
  9439  // googleapi.IsNotModified to check whether the returned error was because
  9440  // http.StatusNotModified was returned.
  9441  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedViewsResponse, error) {
  9442  	gensupport.SetOptions(c.urlParams_, opts...)
  9443  	res, err := c.doRequest("json")
  9444  	if res != nil && res.StatusCode == http.StatusNotModified {
  9445  		if res.Body != nil {
  9446  			res.Body.Close()
  9447  		}
  9448  		return nil, gensupport.WrapError(&googleapi.Error{
  9449  			Code:   res.StatusCode,
  9450  			Header: res.Header,
  9451  		})
  9452  	}
  9453  	if err != nil {
  9454  		return nil, err
  9455  	}
  9456  	defer googleapi.CloseBody(res)
  9457  	if err := googleapi.CheckResponse(res); err != nil {
  9458  		return nil, gensupport.WrapError(err)
  9459  	}
  9460  	ret := &ListAuthorizedViewsResponse{
  9461  		ServerResponse: googleapi.ServerResponse{
  9462  			Header:         res.Header,
  9463  			HTTPStatusCode: res.StatusCode,
  9464  		},
  9465  	}
  9466  	target := &ret
  9467  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9468  		return nil, err
  9469  	}
  9470  	return ret, nil
  9471  }
  9472  
  9473  // Pages invokes f for each page of results.
  9474  // A non-nil error returned from f will halt the iteration.
  9475  // The provided context supersedes any context provided to the Context method.
  9476  func (c *ProjectsInstancesTablesAuthorizedViewsListCall) Pages(ctx context.Context, f func(*ListAuthorizedViewsResponse) error) error {
  9477  	c.ctx_ = ctx
  9478  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9479  	for {
  9480  		x, err := c.Do()
  9481  		if err != nil {
  9482  			return err
  9483  		}
  9484  		if err := f(x); err != nil {
  9485  			return err
  9486  		}
  9487  		if x.NextPageToken == "" {
  9488  			return nil
  9489  		}
  9490  		c.PageToken(x.NextPageToken)
  9491  	}
  9492  }
  9493  
  9494  type ProjectsInstancesTablesAuthorizedViewsPatchCall struct {
  9495  	s              *Service
  9496  	name           string
  9497  	authorizedview *AuthorizedView
  9498  	urlParams_     gensupport.URLParams
  9499  	ctx_           context.Context
  9500  	header_        http.Header
  9501  }
  9502  
  9503  // Patch: Updates an AuthorizedView in a table.
  9504  //
  9505  //   - name: Identifier. The name of this AuthorizedView. Values are of the form
  9506  //     `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{au
  9507  //     thorized_view}`.
  9508  func (r *ProjectsInstancesTablesAuthorizedViewsService) Patch(name string, authorizedview *AuthorizedView) *ProjectsInstancesTablesAuthorizedViewsPatchCall {
  9509  	c := &ProjectsInstancesTablesAuthorizedViewsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9510  	c.name = name
  9511  	c.authorizedview = authorizedview
  9512  	return c
  9513  }
  9514  
  9515  // IgnoreWarnings sets the optional parameter "ignoreWarnings": If true, ignore
  9516  // the safety checks when updating the AuthorizedView.
  9517  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesTablesAuthorizedViewsPatchCall {
  9518  	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
  9519  	return c
  9520  }
  9521  
  9522  // UpdateMask sets the optional parameter "updateMask": The list of fields to
  9523  // update. A mask specifying which fields in the AuthorizedView resource should
  9524  // be updated. This mask is relative to the AuthorizedView resource, not to the
  9525  // request message. A field will be overwritten if it is in the mask. If empty,
  9526  // all fields set in the request will be overwritten. A special value `*` means
  9527  // to overwrite all fields (including fields not set in the request).
  9528  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) UpdateMask(updateMask string) *ProjectsInstancesTablesAuthorizedViewsPatchCall {
  9529  	c.urlParams_.Set("updateMask", updateMask)
  9530  	return c
  9531  }
  9532  
  9533  // Fields allows partial responses to be retrieved. See
  9534  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9535  // details.
  9536  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsPatchCall {
  9537  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9538  	return c
  9539  }
  9540  
  9541  // Context sets the context to be used in this call's Do method.
  9542  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsPatchCall {
  9543  	c.ctx_ = ctx
  9544  	return c
  9545  }
  9546  
  9547  // Header returns a http.Header that can be modified by the caller to add
  9548  // headers to the request.
  9549  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) Header() http.Header {
  9550  	if c.header_ == nil {
  9551  		c.header_ = make(http.Header)
  9552  	}
  9553  	return c.header_
  9554  }
  9555  
  9556  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) doRequest(alt string) (*http.Response, error) {
  9557  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9558  	var body io.Reader = nil
  9559  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedview)
  9560  	if err != nil {
  9561  		return nil, err
  9562  	}
  9563  	c.urlParams_.Set("alt", alt)
  9564  	c.urlParams_.Set("prettyPrint", "false")
  9565  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
  9566  	urls += "?" + c.urlParams_.Encode()
  9567  	req, err := http.NewRequest("PATCH", urls, body)
  9568  	if err != nil {
  9569  		return nil, err
  9570  	}
  9571  	req.Header = reqHeaders
  9572  	googleapi.Expand(req.URL, map[string]string{
  9573  		"name": c.name,
  9574  	})
  9575  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9576  }
  9577  
  9578  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.patch" call.
  9579  // Any non-2xx status code is an error. Response headers are in either
  9580  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9581  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9582  // whether the returned error was because http.StatusNotModified was returned.
  9583  func (c *ProjectsInstancesTablesAuthorizedViewsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9584  	gensupport.SetOptions(c.urlParams_, opts...)
  9585  	res, err := c.doRequest("json")
  9586  	if res != nil && res.StatusCode == http.StatusNotModified {
  9587  		if res.Body != nil {
  9588  			res.Body.Close()
  9589  		}
  9590  		return nil, gensupport.WrapError(&googleapi.Error{
  9591  			Code:   res.StatusCode,
  9592  			Header: res.Header,
  9593  		})
  9594  	}
  9595  	if err != nil {
  9596  		return nil, err
  9597  	}
  9598  	defer googleapi.CloseBody(res)
  9599  	if err := googleapi.CheckResponse(res); err != nil {
  9600  		return nil, gensupport.WrapError(err)
  9601  	}
  9602  	ret := &Operation{
  9603  		ServerResponse: googleapi.ServerResponse{
  9604  			Header:         res.Header,
  9605  			HTTPStatusCode: res.StatusCode,
  9606  		},
  9607  	}
  9608  	target := &ret
  9609  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9610  		return nil, err
  9611  	}
  9612  	return ret, nil
  9613  }
  9614  
  9615  type ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall struct {
  9616  	s                   *Service
  9617  	resource            string
  9618  	setiampolicyrequest *SetIamPolicyRequest
  9619  	urlParams_          gensupport.URLParams
  9620  	ctx_                context.Context
  9621  	header_             http.Header
  9622  }
  9623  
  9624  // SetIamPolicy: Sets the access control policy on a Bigtable resource.
  9625  // Replaces any existing policy.
  9626  //
  9627  //   - resource: REQUIRED: The resource for which the policy is being specified.
  9628  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9629  //     for the appropriate value for this field.
  9630  func (r *ProjectsInstancesTablesAuthorizedViewsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall {
  9631  	c := &ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9632  	c.resource = resource
  9633  	c.setiampolicyrequest = setiampolicyrequest
  9634  	return c
  9635  }
  9636  
  9637  // Fields allows partial responses to be retrieved. See
  9638  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9639  // details.
  9640  func (c *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall {
  9641  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9642  	return c
  9643  }
  9644  
  9645  // Context sets the context to be used in this call's Do method.
  9646  func (c *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall {
  9647  	c.ctx_ = ctx
  9648  	return c
  9649  }
  9650  
  9651  // Header returns a http.Header that can be modified by the caller to add
  9652  // headers to the request.
  9653  func (c *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall) Header() http.Header {
  9654  	if c.header_ == nil {
  9655  		c.header_ = make(http.Header)
  9656  	}
  9657  	return c.header_
  9658  }
  9659  
  9660  func (c *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9661  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9662  	var body io.Reader = nil
  9663  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  9664  	if err != nil {
  9665  		return nil, err
  9666  	}
  9667  	c.urlParams_.Set("alt", alt)
  9668  	c.urlParams_.Set("prettyPrint", "false")
  9669  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
  9670  	urls += "?" + c.urlParams_.Encode()
  9671  	req, err := http.NewRequest("POST", urls, body)
  9672  	if err != nil {
  9673  		return nil, err
  9674  	}
  9675  	req.Header = reqHeaders
  9676  	googleapi.Expand(req.URL, map[string]string{
  9677  		"resource": c.resource,
  9678  	})
  9679  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9680  }
  9681  
  9682  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.setIamPolicy" call.
  9683  // Any non-2xx status code is an error. Response headers are in either
  9684  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9685  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9686  // whether the returned error was because http.StatusNotModified was returned.
  9687  func (c *ProjectsInstancesTablesAuthorizedViewsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9688  	gensupport.SetOptions(c.urlParams_, opts...)
  9689  	res, err := c.doRequest("json")
  9690  	if res != nil && res.StatusCode == http.StatusNotModified {
  9691  		if res.Body != nil {
  9692  			res.Body.Close()
  9693  		}
  9694  		return nil, gensupport.WrapError(&googleapi.Error{
  9695  			Code:   res.StatusCode,
  9696  			Header: res.Header,
  9697  		})
  9698  	}
  9699  	if err != nil {
  9700  		return nil, err
  9701  	}
  9702  	defer googleapi.CloseBody(res)
  9703  	if err := googleapi.CheckResponse(res); err != nil {
  9704  		return nil, gensupport.WrapError(err)
  9705  	}
  9706  	ret := &Policy{
  9707  		ServerResponse: googleapi.ServerResponse{
  9708  			Header:         res.Header,
  9709  			HTTPStatusCode: res.StatusCode,
  9710  		},
  9711  	}
  9712  	target := &ret
  9713  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9714  		return nil, err
  9715  	}
  9716  	return ret, nil
  9717  }
  9718  
  9719  type ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall struct {
  9720  	s                         *Service
  9721  	resource                  string
  9722  	testiampermissionsrequest *TestIamPermissionsRequest
  9723  	urlParams_                gensupport.URLParams
  9724  	ctx_                      context.Context
  9725  	header_                   http.Header
  9726  }
  9727  
  9728  // TestIamPermissions: Returns permissions that the caller has on the specified
  9729  // Bigtable resource.
  9730  //
  9731  //   - resource: REQUIRED: The resource for which the policy detail is being
  9732  //     requested. See Resource names
  9733  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  9734  //     value for this field.
  9735  func (r *ProjectsInstancesTablesAuthorizedViewsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall {
  9736  	c := &ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9737  	c.resource = resource
  9738  	c.testiampermissionsrequest = testiampermissionsrequest
  9739  	return c
  9740  }
  9741  
  9742  // Fields allows partial responses to be retrieved. See
  9743  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9744  // details.
  9745  func (c *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall {
  9746  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9747  	return c
  9748  }
  9749  
  9750  // Context sets the context to be used in this call's Do method.
  9751  func (c *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall {
  9752  	c.ctx_ = ctx
  9753  	return c
  9754  }
  9755  
  9756  // Header returns a http.Header that can be modified by the caller to add
  9757  // headers to the request.
  9758  func (c *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall) Header() http.Header {
  9759  	if c.header_ == nil {
  9760  		c.header_ = make(http.Header)
  9761  	}
  9762  	return c.header_
  9763  }
  9764  
  9765  func (c *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  9766  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9767  	var body io.Reader = nil
  9768  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  9769  	if err != nil {
  9770  		return nil, err
  9771  	}
  9772  	c.urlParams_.Set("alt", alt)
  9773  	c.urlParams_.Set("prettyPrint", "false")
  9774  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
  9775  	urls += "?" + c.urlParams_.Encode()
  9776  	req, err := http.NewRequest("POST", urls, body)
  9777  	if err != nil {
  9778  		return nil, err
  9779  	}
  9780  	req.Header = reqHeaders
  9781  	googleapi.Expand(req.URL, map[string]string{
  9782  		"resource": c.resource,
  9783  	})
  9784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9785  }
  9786  
  9787  // Do executes the "bigtableadmin.projects.instances.tables.authorizedViews.testIamPermissions" call.
  9788  // Any non-2xx status code is an error. Response headers are in either
  9789  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  9790  // returned at all) in error.(*googleapi.Error).Header. Use
  9791  // googleapi.IsNotModified to check whether the returned error was because
  9792  // http.StatusNotModified was returned.
  9793  func (c *ProjectsInstancesTablesAuthorizedViewsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  9794  	gensupport.SetOptions(c.urlParams_, opts...)
  9795  	res, err := c.doRequest("json")
  9796  	if res != nil && res.StatusCode == http.StatusNotModified {
  9797  		if res.Body != nil {
  9798  			res.Body.Close()
  9799  		}
  9800  		return nil, gensupport.WrapError(&googleapi.Error{
  9801  			Code:   res.StatusCode,
  9802  			Header: res.Header,
  9803  		})
  9804  	}
  9805  	if err != nil {
  9806  		return nil, err
  9807  	}
  9808  	defer googleapi.CloseBody(res)
  9809  	if err := googleapi.CheckResponse(res); err != nil {
  9810  		return nil, gensupport.WrapError(err)
  9811  	}
  9812  	ret := &TestIamPermissionsResponse{
  9813  		ServerResponse: googleapi.ServerResponse{
  9814  			Header:         res.Header,
  9815  			HTTPStatusCode: res.StatusCode,
  9816  		},
  9817  	}
  9818  	target := &ret
  9819  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9820  		return nil, err
  9821  	}
  9822  	return ret, nil
  9823  }
  9824  
  9825  type ProjectsLocationsListCall struct {
  9826  	s            *Service
  9827  	name         string
  9828  	urlParams_   gensupport.URLParams
  9829  	ifNoneMatch_ string
  9830  	ctx_         context.Context
  9831  	header_      http.Header
  9832  }
  9833  
  9834  // List: Lists information about the supported locations for this service.
  9835  //
  9836  // - name: The resource that owns the locations collection, if applicable.
  9837  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  9838  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9839  	c.name = name
  9840  	return c
  9841  }
  9842  
  9843  // Filter sets the optional parameter "filter": A filter to narrow down results
  9844  // to a preferred subset. The filtering language accepts strings like
  9845  // "displayName=tokyo", and is documented in more detail in AIP-160
  9846  // (https://google.aip.dev/160).
  9847  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  9848  	c.urlParams_.Set("filter", filter)
  9849  	return c
  9850  }
  9851  
  9852  // PageSize sets the optional parameter "pageSize": The maximum number of
  9853  // results to return. If not set, the service selects a default.
  9854  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  9855  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9856  	return c
  9857  }
  9858  
  9859  // PageToken sets the optional parameter "pageToken": A page token received
  9860  // from the `next_page_token` field in the response. Send that page token to
  9861  // receive the subsequent page.
  9862  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  9863  	c.urlParams_.Set("pageToken", pageToken)
  9864  	return c
  9865  }
  9866  
  9867  // Fields allows partial responses to be retrieved. See
  9868  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9869  // details.
  9870  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  9871  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9872  	return c
  9873  }
  9874  
  9875  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9876  // object's ETag matches the given value. This is useful for getting updates
  9877  // only after the object has changed since the last request.
  9878  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  9879  	c.ifNoneMatch_ = entityTag
  9880  	return c
  9881  }
  9882  
  9883  // Context sets the context to be used in this call's Do method.
  9884  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  9885  	c.ctx_ = ctx
  9886  	return c
  9887  }
  9888  
  9889  // Header returns a http.Header that can be modified by the caller to add
  9890  // headers to the request.
  9891  func (c *ProjectsLocationsListCall) Header() http.Header {
  9892  	if c.header_ == nil {
  9893  		c.header_ = make(http.Header)
  9894  	}
  9895  	return c.header_
  9896  }
  9897  
  9898  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  9899  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9900  	if c.ifNoneMatch_ != "" {
  9901  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9902  	}
  9903  	var body io.Reader = nil
  9904  	c.urlParams_.Set("alt", alt)
  9905  	c.urlParams_.Set("prettyPrint", "false")
  9906  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/locations")
  9907  	urls += "?" + c.urlParams_.Encode()
  9908  	req, err := http.NewRequest("GET", urls, body)
  9909  	if err != nil {
  9910  		return nil, err
  9911  	}
  9912  	req.Header = reqHeaders
  9913  	googleapi.Expand(req.URL, map[string]string{
  9914  		"name": c.name,
  9915  	})
  9916  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9917  }
  9918  
  9919  // Do executes the "bigtableadmin.projects.locations.list" call.
  9920  // Any non-2xx status code is an error. Response headers are in either
  9921  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  9922  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9923  // check whether the returned error was because http.StatusNotModified was
  9924  // returned.
  9925  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  9926  	gensupport.SetOptions(c.urlParams_, opts...)
  9927  	res, err := c.doRequest("json")
  9928  	if res != nil && res.StatusCode == http.StatusNotModified {
  9929  		if res.Body != nil {
  9930  			res.Body.Close()
  9931  		}
  9932  		return nil, gensupport.WrapError(&googleapi.Error{
  9933  			Code:   res.StatusCode,
  9934  			Header: res.Header,
  9935  		})
  9936  	}
  9937  	if err != nil {
  9938  		return nil, err
  9939  	}
  9940  	defer googleapi.CloseBody(res)
  9941  	if err := googleapi.CheckResponse(res); err != nil {
  9942  		return nil, gensupport.WrapError(err)
  9943  	}
  9944  	ret := &ListLocationsResponse{
  9945  		ServerResponse: googleapi.ServerResponse{
  9946  			Header:         res.Header,
  9947  			HTTPStatusCode: res.StatusCode,
  9948  		},
  9949  	}
  9950  	target := &ret
  9951  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9952  		return nil, err
  9953  	}
  9954  	return ret, nil
  9955  }
  9956  
  9957  // Pages invokes f for each page of results.
  9958  // A non-nil error returned from f will halt the iteration.
  9959  // The provided context supersedes any context provided to the Context method.
  9960  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  9961  	c.ctx_ = ctx
  9962  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9963  	for {
  9964  		x, err := c.Do()
  9965  		if err != nil {
  9966  			return err
  9967  		}
  9968  		if err := f(x); err != nil {
  9969  			return err
  9970  		}
  9971  		if x.NextPageToken == "" {
  9972  			return nil
  9973  		}
  9974  		c.PageToken(x.NextPageToken)
  9975  	}
  9976  }
  9977  

View as plain text