1// Copyright 2020 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// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/bigtableadmin/v2"
16//   ...
17//   ctx := context.Background()
18//   bigtableadminService, err := bigtableadmin.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithScopes(bigtableadmin.CloudPlatformReadOnlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   bigtableadminService, err := bigtableadmin.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package bigtableadmin // import "google.golang.org/api/bigtableadmin/v2"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "bigtableadmin:v2"
79const apiName = "bigtableadmin"
80const apiVersion = "v2"
81const basePath = "https://bigtableadmin.googleapis.com/"
82
83// OAuth2 scopes used by this API.
84const (
85	// Administer your Cloud Bigtable tables and clusters
86	BigtableAdminScope = "https://www.googleapis.com/auth/bigtable.admin"
87
88	// Administer your Cloud Bigtable clusters
89	BigtableAdminClusterScope = "https://www.googleapis.com/auth/bigtable.admin.cluster"
90
91	// Administer your Cloud Bigtable clusters
92	BigtableAdminInstanceScope = "https://www.googleapis.com/auth/bigtable.admin.instance"
93
94	// Administer your Cloud Bigtable tables
95	BigtableAdminTableScope = "https://www.googleapis.com/auth/bigtable.admin.table"
96
97	// Administer your Cloud Bigtable tables and clusters
98	CloudBigtableAdminScope = "https://www.googleapis.com/auth/cloud-bigtable.admin"
99
100	// Administer your Cloud Bigtable clusters
101	CloudBigtableAdminClusterScope = "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster"
102
103	// Administer your Cloud Bigtable tables
104	CloudBigtableAdminTableScope = "https://www.googleapis.com/auth/cloud-bigtable.admin.table"
105
106	// View and manage your data across Google Cloud Platform services
107	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
108
109	// View your data across Google Cloud Platform services
110	CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
111)
112
113// NewService creates a new Service.
114func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
115	scopesOption := option.WithScopes(
116		"https://www.googleapis.com/auth/bigtable.admin",
117		"https://www.googleapis.com/auth/bigtable.admin.cluster",
118		"https://www.googleapis.com/auth/bigtable.admin.instance",
119		"https://www.googleapis.com/auth/bigtable.admin.table",
120		"https://www.googleapis.com/auth/cloud-bigtable.admin",
121		"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
122		"https://www.googleapis.com/auth/cloud-bigtable.admin.table",
123		"https://www.googleapis.com/auth/cloud-platform",
124		"https://www.googleapis.com/auth/cloud-platform.read-only",
125	)
126	// NOTE: prepend, so we don't override user-specified scopes.
127	opts = append([]option.ClientOption{scopesOption}, opts...)
128	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
129	client, endpoint, err := htransport.NewClient(ctx, opts...)
130	if err != nil {
131		return nil, err
132	}
133	s, err := New(client)
134	if err != nil {
135		return nil, err
136	}
137	if endpoint != "" {
138		s.BasePath = endpoint
139	}
140	return s, nil
141}
142
143// New creates a new Service. It uses the provided http.Client for requests.
144//
145// Deprecated: please use NewService instead.
146// To provide a custom HTTP client, use option.WithHTTPClient.
147// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
148func New(client *http.Client) (*Service, error) {
149	if client == nil {
150		return nil, errors.New("client is nil")
151	}
152	s := &Service{client: client, BasePath: basePath}
153	s.Operations = NewOperationsService(s)
154	s.Projects = NewProjectsService(s)
155	return s, nil
156}
157
158type Service struct {
159	client    *http.Client
160	BasePath  string // API endpoint base URL
161	UserAgent string // optional additional User-Agent fragment
162
163	Operations *OperationsService
164
165	Projects *ProjectsService
166}
167
168func (s *Service) userAgent() string {
169	if s.UserAgent == "" {
170		return googleapi.UserAgent
171	}
172	return googleapi.UserAgent + " " + s.UserAgent
173}
174
175func NewOperationsService(s *Service) *OperationsService {
176	rs := &OperationsService{s: s}
177	rs.Projects = NewOperationsProjectsService(s)
178	return rs
179}
180
181type OperationsService struct {
182	s *Service
183
184	Projects *OperationsProjectsService
185}
186
187func NewOperationsProjectsService(s *Service) *OperationsProjectsService {
188	rs := &OperationsProjectsService{s: s}
189	rs.Operations = NewOperationsProjectsOperationsService(s)
190	return rs
191}
192
193type OperationsProjectsService struct {
194	s *Service
195
196	Operations *OperationsProjectsOperationsService
197}
198
199func NewOperationsProjectsOperationsService(s *Service) *OperationsProjectsOperationsService {
200	rs := &OperationsProjectsOperationsService{s: s}
201	return rs
202}
203
204type OperationsProjectsOperationsService struct {
205	s *Service
206}
207
208func NewProjectsService(s *Service) *ProjectsService {
209	rs := &ProjectsService{s: s}
210	rs.Instances = NewProjectsInstancesService(s)
211	rs.Locations = NewProjectsLocationsService(s)
212	return rs
213}
214
215type ProjectsService struct {
216	s *Service
217
218	Instances *ProjectsInstancesService
219
220	Locations *ProjectsLocationsService
221}
222
223func NewProjectsInstancesService(s *Service) *ProjectsInstancesService {
224	rs := &ProjectsInstancesService{s: s}
225	rs.AppProfiles = NewProjectsInstancesAppProfilesService(s)
226	rs.Clusters = NewProjectsInstancesClustersService(s)
227	rs.Tables = NewProjectsInstancesTablesService(s)
228	return rs
229}
230
231type ProjectsInstancesService struct {
232	s *Service
233
234	AppProfiles *ProjectsInstancesAppProfilesService
235
236	Clusters *ProjectsInstancesClustersService
237
238	Tables *ProjectsInstancesTablesService
239}
240
241func NewProjectsInstancesAppProfilesService(s *Service) *ProjectsInstancesAppProfilesService {
242	rs := &ProjectsInstancesAppProfilesService{s: s}
243	return rs
244}
245
246type ProjectsInstancesAppProfilesService struct {
247	s *Service
248}
249
250func NewProjectsInstancesClustersService(s *Service) *ProjectsInstancesClustersService {
251	rs := &ProjectsInstancesClustersService{s: s}
252	rs.Backups = NewProjectsInstancesClustersBackupsService(s)
253	return rs
254}
255
256type ProjectsInstancesClustersService struct {
257	s *Service
258
259	Backups *ProjectsInstancesClustersBackupsService
260}
261
262func NewProjectsInstancesClustersBackupsService(s *Service) *ProjectsInstancesClustersBackupsService {
263	rs := &ProjectsInstancesClustersBackupsService{s: s}
264	return rs
265}
266
267type ProjectsInstancesClustersBackupsService struct {
268	s *Service
269}
270
271func NewProjectsInstancesTablesService(s *Service) *ProjectsInstancesTablesService {
272	rs := &ProjectsInstancesTablesService{s: s}
273	return rs
274}
275
276type ProjectsInstancesTablesService struct {
277	s *Service
278}
279
280func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
281	rs := &ProjectsLocationsService{s: s}
282	return rs
283}
284
285type ProjectsLocationsService struct {
286	s *Service
287}
288
289// AppProfile: A configuration object describing how Cloud Bigtable
290// should treat traffic
291// from a particular end user application.
292type AppProfile struct {
293	// Description: Optional long form description of the use case for this
294	// AppProfile.
295	Description string `json:"description,omitempty"`
296
297	// Etag: Strongly validated etag for optimistic concurrency control.
298	// Preserve the
299	// value returned from `GetAppProfile` when calling `UpdateAppProfile`
300	// to
301	// fail the request if there has been a modification in the mean time.
302	// The
303	// `update_mask` of the request need not include `etag` for this
304	// protection
305	// to apply.
306	// See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and
307	// [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for
308	// more
309	// details.
310	Etag string `json:"etag,omitempty"`
311
312	// MultiClusterRoutingUseAny: Use a multi-cluster routing policy.
313	MultiClusterRoutingUseAny *MultiClusterRoutingUseAny `json:"multiClusterRoutingUseAny,omitempty"`
314
315	// Name: (`OutputOnly`)
316	// The unique name of the app profile. Values are of the
317	// form
318	// `projects/<project>/instances/<instance>/appProfiles/_a-zA-Z0-9*`
319	// .
320	Name string `json:"name,omitempty"`
321
322	// SingleClusterRouting: Use a single-cluster routing policy.
323	SingleClusterRouting *SingleClusterRouting `json:"singleClusterRouting,omitempty"`
324
325	// ServerResponse contains the HTTP response code and headers from the
326	// server.
327	googleapi.ServerResponse `json:"-"`
328
329	// ForceSendFields is a list of field names (e.g. "Description") to
330	// unconditionally include in API requests. By default, fields with
331	// empty values are omitted from API requests. However, any non-pointer,
332	// non-interface field appearing in ForceSendFields will be sent to the
333	// server regardless of whether the field is empty or not. This may be
334	// used to include empty fields in Patch requests.
335	ForceSendFields []string `json:"-"`
336
337	// NullFields is a list of field names (e.g. "Description") to include
338	// in API requests with the JSON null value. By default, fields with
339	// empty values are omitted from API requests. However, any field with
340	// an empty value appearing in NullFields will be sent to the server as
341	// null. It is an error if a field in this list has a non-empty value.
342	// This may be used to include null fields in Patch requests.
343	NullFields []string `json:"-"`
344}
345
346func (s *AppProfile) MarshalJSON() ([]byte, error) {
347	type NoMethod AppProfile
348	raw := NoMethod(*s)
349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
350}
351
352// AuditConfig: Specifies the audit configuration for a service.
353// The configuration determines which permission types are logged, and
354// what
355// identities, if any, are exempted from logging.
356// An AuditConfig must have one or more AuditLogConfigs.
357//
358// If there are AuditConfigs for both `allServices` and a specific
359// service,
360// the union of the two AuditConfigs is used for that service: the
361// log_types
362// specified in each AuditConfig are enabled, and the exempted_members
363// in each
364// AuditLogConfig are exempted.
365//
366// Example Policy with multiple AuditConfigs:
367//
368//     {
369//       "audit_configs": [
370//         {
371//           "service": "allServices"
372//           "audit_log_configs": [
373//             {
374//               "log_type": "DATA_READ",
375//               "exempted_members": [
376//                 "user:jose@example.com"
377//               ]
378//             },
379//             {
380//               "log_type": "DATA_WRITE",
381//             },
382//             {
383//               "log_type": "ADMIN_READ",
384//             }
385//           ]
386//         },
387//         {
388//           "service": "sampleservice.googleapis.com"
389//           "audit_log_configs": [
390//             {
391//               "log_type": "DATA_READ",
392//             },
393//             {
394//               "log_type": "DATA_WRITE",
395//               "exempted_members": [
396//                 "user:aliya@example.com"
397//               ]
398//             }
399//           ]
400//         }
401//       ]
402//     }
403//
404// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
405// ADMIN_READ
406// logging. It also exempts jose@example.com from DATA_READ logging,
407// and
408// aliya@example.com from DATA_WRITE logging.
409type AuditConfig struct {
410	// AuditLogConfigs: The configuration for logging of each type of
411	// permission.
412	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
413
414	// Service: Specifies a service that will be enabled for audit
415	// logging.
416	// For example, `storage.googleapis.com`,
417	// `cloudsql.googleapis.com`.
418	// `allServices` is a special value that covers all services.
419	Service string `json:"service,omitempty"`
420
421	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
422	// unconditionally include in API requests. By default, fields with
423	// empty values are omitted from API requests. However, any non-pointer,
424	// non-interface field appearing in ForceSendFields will be sent to the
425	// server regardless of whether the field is empty or not. This may be
426	// used to include empty fields in Patch requests.
427	ForceSendFields []string `json:"-"`
428
429	// NullFields is a list of field names (e.g. "AuditLogConfigs") to
430	// include in API requests with the JSON null value. By default, fields
431	// with empty values are omitted from API requests. However, any field
432	// with an empty value appearing in NullFields will be sent to the
433	// server as null. It is an error if a field in this list has a
434	// non-empty value. This may be used to include null fields in Patch
435	// requests.
436	NullFields []string `json:"-"`
437}
438
439func (s *AuditConfig) MarshalJSON() ([]byte, error) {
440	type NoMethod AuditConfig
441	raw := NoMethod(*s)
442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
443}
444
445// AuditLogConfig: Provides the configuration for logging a type of
446// permissions.
447// Example:
448//
449//     {
450//       "audit_log_configs": [
451//         {
452//           "log_type": "DATA_READ",
453//           "exempted_members": [
454//             "user:jose@example.com"
455//           ]
456//         },
457//         {
458//           "log_type": "DATA_WRITE",
459//         }
460//       ]
461//     }
462//
463// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
464// exempting
465// jose@example.com from DATA_READ logging.
466type AuditLogConfig struct {
467	// ExemptedMembers: Specifies the identities that do not cause logging
468	// for this type of
469	// permission.
470	// Follows the same format of Binding.members.
471	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
472
473	// LogType: The log type that this config enables.
474	//
475	// Possible values:
476	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
477	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
478	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
479	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
480	LogType string `json:"logType,omitempty"`
481
482	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
483	// unconditionally include in API requests. By default, fields with
484	// empty values are omitted from API requests. However, any non-pointer,
485	// non-interface field appearing in ForceSendFields will be sent to the
486	// server regardless of whether the field is empty or not. This may be
487	// used to include empty fields in Patch requests.
488	ForceSendFields []string `json:"-"`
489
490	// NullFields is a list of field names (e.g. "ExemptedMembers") to
491	// include in API requests with the JSON null value. By default, fields
492	// with empty values are omitted from API requests. However, any field
493	// with an empty value appearing in NullFields will be sent to the
494	// server as null. It is an error if a field in this list has a
495	// non-empty value. This may be used to include null fields in Patch
496	// requests.
497	NullFields []string `json:"-"`
498}
499
500func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
501	type NoMethod AuditLogConfig
502	raw := NoMethod(*s)
503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
504}
505
506// Binding: Associates `members` with a `role`.
507type Binding struct {
508	// Condition: The condition that is associated with this binding.
509	// NOTE: An unsatisfied condition will not allow user access via
510	// current
511	// binding. Different bindings, including their conditions, are
512	// examined
513	// independently.
514	Condition *Expr `json:"condition,omitempty"`
515
516	// Members: Specifies the identities requesting access for a Cloud
517	// Platform resource.
518	// `members` can have the following values:
519	//
520	// * `allUsers`: A special identifier that represents anyone who is
521	//    on the internet; with or without a Google account.
522	//
523	// * `allAuthenticatedUsers`: A special identifier that represents
524	// anyone
525	//    who is authenticated with a Google account or a service
526	// account.
527	//
528	// * `user:{emailid}`: An email address that represents a specific
529	// Google
530	//    account. For example, `alice@example.com` .
531	//
532	//
533	// * `serviceAccount:{emailid}`: An email address that represents a
534	// service
535	//    account. For example,
536	// `my-other-app@appspot.gserviceaccount.com`.
537	//
538	// * `group:{emailid}`: An email address that represents a Google
539	// group.
540	//    For example, `admins@example.com`.
541	//
542	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
543	// unique
544	//    identifier) representing a user that has been recently deleted.
545	// For
546	//    example, `alice@example.com?uid=123456789012345678901`. If the
547	// user is
548	//    recovered, this value reverts to `user:{emailid}` and the
549	// recovered user
550	//    retains the role in the binding.
551	//
552	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
553	// (plus
554	//    unique identifier) representing a service account that has been
555	// recently
556	//    deleted. For example,
557	//
558	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
559	//
560	//    If the service account is undeleted, this value reverts to
561	//    `serviceAccount:{emailid}` and the undeleted service account
562	// retains the
563	//    role in the binding.
564	//
565	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
566	// unique
567	//    identifier) representing a Google group that has been recently
568	//    deleted. For example,
569	// `admins@example.com?uid=123456789012345678901`. If
570	//    the group is recovered, this value reverts to `group:{emailid}`
571	// and the
572	//    recovered group retains the role in the binding.
573	//
574	//
575	// * `domain:{domain}`: The G Suite domain (primary) that represents all
576	// the
577	//    users of that domain. For example, `google.com` or
578	// `example.com`.
579	//
580	//
581	Members []string `json:"members,omitempty"`
582
583	// Role: Role that is assigned to `members`.
584	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
585	Role string `json:"role,omitempty"`
586
587	// ForceSendFields is a list of field names (e.g. "Condition") to
588	// unconditionally include in API requests. By default, fields with
589	// empty values are omitted from API requests. However, any non-pointer,
590	// non-interface field appearing in ForceSendFields will be sent to the
591	// server regardless of whether the field is empty or not. This may be
592	// used to include empty fields in Patch requests.
593	ForceSendFields []string `json:"-"`
594
595	// NullFields is a list of field names (e.g. "Condition") to include in
596	// API requests with the JSON null value. By default, fields with empty
597	// values are omitted from API requests. However, any field with an
598	// empty value appearing in NullFields will be sent to the server as
599	// null. It is an error if a field in this list has a non-empty value.
600	// This may be used to include null fields in Patch requests.
601	NullFields []string `json:"-"`
602}
603
604func (s *Binding) MarshalJSON() ([]byte, error) {
605	type NoMethod Binding
606	raw := NoMethod(*s)
607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
608}
609
610// CheckConsistencyRequest: Request message
611// for
612// google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
613type CheckConsistencyRequest struct {
614	// ConsistencyToken: Required. The token created using
615	// GenerateConsistencyToken for the Table.
616	ConsistencyToken string `json:"consistencyToken,omitempty"`
617
618	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
619	// unconditionally include in API requests. By default, fields with
620	// empty values are omitted from API requests. However, any non-pointer,
621	// non-interface field appearing in ForceSendFields will be sent to the
622	// server regardless of whether the field is empty or not. This may be
623	// used to include empty fields in Patch requests.
624	ForceSendFields []string `json:"-"`
625
626	// NullFields is a list of field names (e.g. "ConsistencyToken") to
627	// include in API requests with the JSON null value. By default, fields
628	// with empty values are omitted from API requests. However, any field
629	// with an empty value appearing in NullFields will be sent to the
630	// server as null. It is an error if a field in this list has a
631	// non-empty value. This may be used to include null fields in Patch
632	// requests.
633	NullFields []string `json:"-"`
634}
635
636func (s *CheckConsistencyRequest) MarshalJSON() ([]byte, error) {
637	type NoMethod CheckConsistencyRequest
638	raw := NoMethod(*s)
639	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
640}
641
642// CheckConsistencyResponse: Response message
643// for
644// google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency
645type CheckConsistencyResponse struct {
646	// Consistent: True only if the token is consistent. A token is
647	// consistent if replication
648	// has caught up with the restrictions specified in the request.
649	Consistent bool `json:"consistent,omitempty"`
650
651	// ServerResponse contains the HTTP response code and headers from the
652	// server.
653	googleapi.ServerResponse `json:"-"`
654
655	// ForceSendFields is a list of field names (e.g. "Consistent") to
656	// unconditionally include in API requests. By default, fields with
657	// empty values are omitted from API requests. However, any non-pointer,
658	// non-interface field appearing in ForceSendFields will be sent to the
659	// server regardless of whether the field is empty or not. This may be
660	// used to include empty fields in Patch requests.
661	ForceSendFields []string `json:"-"`
662
663	// NullFields is a list of field names (e.g. "Consistent") to include in
664	// API requests with the JSON null value. By default, fields with empty
665	// values are omitted from API requests. However, any field with an
666	// empty value appearing in NullFields will be sent to the server as
667	// null. It is an error if a field in this list has a non-empty value.
668	// This may be used to include null fields in Patch requests.
669	NullFields []string `json:"-"`
670}
671
672func (s *CheckConsistencyResponse) MarshalJSON() ([]byte, error) {
673	type NoMethod CheckConsistencyResponse
674	raw := NoMethod(*s)
675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
676}
677
678// Cluster: A resizable group of nodes in a particular cloud location,
679// capable
680// of serving all Tables in the parent
681// Instance.
682type Cluster struct {
683	// DefaultStorageType: (`CreationOnly`)
684	// The type of storage used by this cluster to serve its
685	// parent instance's tables, unless explicitly overridden.
686	//
687	// Possible values:
688	//   "STORAGE_TYPE_UNSPECIFIED" - The user did not specify a storage
689	// type.
690	//   "SSD" - Flash (SSD) storage should be used.
691	//   "HDD" - Magnetic drive (HDD) storage should be used.
692	DefaultStorageType string `json:"defaultStorageType,omitempty"`
693
694	// Location: (`CreationOnly`)
695	// The location where this cluster's nodes and storage reside. For
696	// best
697	// performance, clients should be located as close as possible to
698	// this
699	// cluster. Currently only zones are supported, so values should be of
700	// the
701	// form `projects/{project}/locations/{zone}`.
702	Location string `json:"location,omitempty"`
703
704	// Name: Required. (`OutputOnly`)
705	// The unique name of the cluster. Values are of the
706	// form
707	// `projects/{project}/instances/{instance}/clusters/a-z*`.
708	Name string `json:"name,omitempty"`
709
710	// ServeNodes: Required. The number of nodes allocated to this cluster.
711	// More nodes enable higher
712	// throughput and more consistent performance.
713	ServeNodes int64 `json:"serveNodes,omitempty"`
714
715	// State: (`OutputOnly`)
716	// The current state of the cluster.
717	//
718	// Possible values:
719	//   "STATE_NOT_KNOWN" - The state of the cluster could not be
720	// determined.
721	//   "READY" - The cluster has been successfully created and is ready to
722	// serve requests.
723	//   "CREATING" - The cluster is currently being created, and may be
724	// destroyed
725	// if the creation process encounters an error.
726	// A cluster may not be able to serve requests while being created.
727	//   "RESIZING" - The cluster is currently being resized, and may revert
728	// to its previous
729	// node count if the process encounters an error.
730	// A cluster is still capable of serving requests while being
731	// resized,
732	// but may exhibit performance as if its number of allocated nodes
733	// is
734	// between the starting and requested states.
735	//   "DISABLED" - The cluster has no backing nodes. The data (tables)
736	// still
737	// exist, but no operations can be performed on the cluster.
738	State string `json:"state,omitempty"`
739
740	// ServerResponse contains the HTTP response code and headers from the
741	// server.
742	googleapi.ServerResponse `json:"-"`
743
744	// ForceSendFields is a list of field names (e.g. "DefaultStorageType")
745	// to unconditionally include in API requests. By default, fields with
746	// empty values are omitted from API requests. However, any non-pointer,
747	// non-interface field appearing in ForceSendFields will be sent to the
748	// server regardless of whether the field is empty or not. This may be
749	// used to include empty fields in Patch requests.
750	ForceSendFields []string `json:"-"`
751
752	// NullFields is a list of field names (e.g. "DefaultStorageType") to
753	// include in API requests with the JSON null value. By default, fields
754	// with empty values are omitted from API requests. However, any field
755	// with an empty value appearing in NullFields will be sent to the
756	// server as null. It is an error if a field in this list has a
757	// non-empty value. This may be used to include null fields in Patch
758	// requests.
759	NullFields []string `json:"-"`
760}
761
762func (s *Cluster) MarshalJSON() ([]byte, error) {
763	type NoMethod Cluster
764	raw := NoMethod(*s)
765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
766}
767
768// ClusterState: The state of a table's data in a particular cluster.
769type ClusterState struct {
770	// ReplicationState: Output only. The state of replication for the table
771	// in this cluster.
772	//
773	// Possible values:
774	//   "STATE_NOT_KNOWN" - The replication state of the table is unknown
775	// in this cluster.
776	//   "INITIALIZING" - The cluster was recently created, and the table
777	// must finish copying
778	// over pre-existing data from other clusters before it can
779	// begin
780	// receiving live replication updates and serving Data API requests.
781	//   "PLANNED_MAINTENANCE" - The table is temporarily unable to serve
782	// Data API requests from this
783	// cluster due to planned internal maintenance.
784	//   "UNPLANNED_MAINTENANCE" - The table is temporarily unable to serve
785	// Data API requests from this
786	// cluster due to unplanned or emergency maintenance.
787	//   "READY" - The table can serve Data API requests from this cluster.
788	// Depending on
789	// replication delay, reads may not immediately reflect the state of
790	// the
791	// table in other clusters.
792	ReplicationState string `json:"replicationState,omitempty"`
793
794	// ForceSendFields is a list of field names (e.g. "ReplicationState") to
795	// unconditionally include in API requests. By default, fields with
796	// empty values are omitted from API requests. However, any non-pointer,
797	// non-interface field appearing in ForceSendFields will be sent to the
798	// server regardless of whether the field is empty or not. This may be
799	// used to include empty fields in Patch requests.
800	ForceSendFields []string `json:"-"`
801
802	// NullFields is a list of field names (e.g. "ReplicationState") to
803	// include in API requests with the JSON null value. By default, fields
804	// with empty values are omitted from API requests. However, any field
805	// with an empty value appearing in NullFields will be sent to the
806	// server as null. It is an error if a field in this list has a
807	// non-empty value. This may be used to include null fields in Patch
808	// requests.
809	NullFields []string `json:"-"`
810}
811
812func (s *ClusterState) MarshalJSON() ([]byte, error) {
813	type NoMethod ClusterState
814	raw := NoMethod(*s)
815	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
816}
817
818// ColumnFamily: A set of columns within a table which share a common
819// configuration.
820type ColumnFamily struct {
821	// GcRule: Garbage collection rule specified as a protobuf.
822	// Must serialize to at most 500 bytes.
823	//
824	// NOTE: Garbage collection executes opportunistically in the
825	// background, and
826	// so it's possible for reads to return a cell even if it matches the
827	// active
828	// GC expression for its family.
829	GcRule *GcRule `json:"gcRule,omitempty"`
830
831	// ForceSendFields is a list of field names (e.g. "GcRule") to
832	// unconditionally include in API requests. By default, fields with
833	// empty values are omitted from API requests. However, any non-pointer,
834	// non-interface field appearing in ForceSendFields will be sent to the
835	// server regardless of whether the field is empty or not. This may be
836	// used to include empty fields in Patch requests.
837	ForceSendFields []string `json:"-"`
838
839	// NullFields is a list of field names (e.g. "GcRule") to include in API
840	// requests with the JSON null value. By default, fields with empty
841	// values are omitted from API requests. However, any field with an
842	// empty value appearing in NullFields will be sent to the server as
843	// null. It is an error if a field in this list has a non-empty value.
844	// This may be used to include null fields in Patch requests.
845	NullFields []string `json:"-"`
846}
847
848func (s *ColumnFamily) MarshalJSON() ([]byte, error) {
849	type NoMethod ColumnFamily
850	raw := NoMethod(*s)
851	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
852}
853
854// CreateClusterMetadata: The metadata for the Operation returned by
855// CreateCluster.
856type CreateClusterMetadata struct {
857	// FinishTime: The time at which the operation failed or was completed
858	// successfully.
859	FinishTime string `json:"finishTime,omitempty"`
860
861	// OriginalRequest: The request that prompted the initiation of this
862	// CreateCluster operation.
863	OriginalRequest *CreateClusterRequest `json:"originalRequest,omitempty"`
864
865	// RequestTime: The time at which the original request was received.
866	RequestTime string `json:"requestTime,omitempty"`
867
868	// Tables: Keys: the full `name` of each table that existed in the
869	// instance when
870	// CreateCluster was first called,
871	// i.e.
872	// `projects/<project>/instances/<instance>/tables/<table>`. Any table
873	// added
874	// to the instance by a later API call will be created in the new
875	// cluster by
876	// that API call, not this one.
877	//
878	// Values: information on how much of a table's data has been copied to
879	// the
880	// newly-created cluster so far.
881	Tables map[string]TableProgress `json:"tables,omitempty"`
882
883	// ForceSendFields is a list of field names (e.g. "FinishTime") to
884	// unconditionally include in API requests. By default, fields with
885	// empty values are omitted from API requests. However, any non-pointer,
886	// non-interface field appearing in ForceSendFields will be sent to the
887	// server regardless of whether the field is empty or not. This may be
888	// used to include empty fields in Patch requests.
889	ForceSendFields []string `json:"-"`
890
891	// NullFields is a list of field names (e.g. "FinishTime") to include in
892	// API requests with the JSON null value. By default, fields with empty
893	// values are omitted from API requests. However, any field with an
894	// empty value appearing in NullFields will be sent to the server as
895	// null. It is an error if a field in this list has a non-empty value.
896	// This may be used to include null fields in Patch requests.
897	NullFields []string `json:"-"`
898}
899
900func (s *CreateClusterMetadata) MarshalJSON() ([]byte, error) {
901	type NoMethod CreateClusterMetadata
902	raw := NoMethod(*s)
903	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
904}
905
906// CreateClusterRequest: Request message for
907// BigtableInstanceAdmin.CreateCluster.
908type CreateClusterRequest struct {
909	// Cluster: Required. The cluster to be created.
910	// Fields marked `OutputOnly` must be left blank.
911	Cluster *Cluster `json:"cluster,omitempty"`
912
913	// ClusterId: Required. The ID to be used when referring to the new
914	// cluster within its instance,
915	// e.g., just `mycluster` rather
916	// than
917	// `projects/myproject/instances/myinstance/clusters/mycluster`.
918	ClusterId string `json:"clusterId,omitempty"`
919
920	// Parent: Required. The unique name of the instance in which to create
921	// the new cluster.
922	// Values are of the form
923	// `projects/{project}/instances/{instance}`.
924	Parent string `json:"parent,omitempty"`
925
926	// ForceSendFields is a list of field names (e.g. "Cluster") to
927	// unconditionally include in API requests. By default, fields with
928	// empty values are omitted from API requests. However, any non-pointer,
929	// non-interface field appearing in ForceSendFields will be sent to the
930	// server regardless of whether the field is empty or not. This may be
931	// used to include empty fields in Patch requests.
932	ForceSendFields []string `json:"-"`
933
934	// NullFields is a list of field names (e.g. "Cluster") to include in
935	// API requests with the JSON null value. By default, fields with empty
936	// values are omitted from API requests. However, any field with an
937	// empty value appearing in NullFields will be sent to the server as
938	// null. It is an error if a field in this list has a non-empty value.
939	// This may be used to include null fields in Patch requests.
940	NullFields []string `json:"-"`
941}
942
943func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) {
944	type NoMethod CreateClusterRequest
945	raw := NoMethod(*s)
946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
947}
948
949// CreateInstanceMetadata: The metadata for the Operation returned by
950// CreateInstance.
951type CreateInstanceMetadata struct {
952	// FinishTime: The time at which the operation failed or was completed
953	// successfully.
954	FinishTime string `json:"finishTime,omitempty"`
955
956	// OriginalRequest: The request that prompted the initiation of this
957	// CreateInstance operation.
958	OriginalRequest *CreateInstanceRequest `json:"originalRequest,omitempty"`
959
960	// RequestTime: The time at which the original request was received.
961	RequestTime string `json:"requestTime,omitempty"`
962
963	// ForceSendFields is a list of field names (e.g. "FinishTime") to
964	// unconditionally include in API requests. By default, fields with
965	// empty values are omitted from API requests. However, any non-pointer,
966	// non-interface field appearing in ForceSendFields will be sent to the
967	// server regardless of whether the field is empty or not. This may be
968	// used to include empty fields in Patch requests.
969	ForceSendFields []string `json:"-"`
970
971	// NullFields is a list of field names (e.g. "FinishTime") to include in
972	// API requests with the JSON null value. By default, fields with empty
973	// values are omitted from API requests. However, any field with an
974	// empty value appearing in NullFields will be sent to the server as
975	// null. It is an error if a field in this list has a non-empty value.
976	// This may be used to include null fields in Patch requests.
977	NullFields []string `json:"-"`
978}
979
980func (s *CreateInstanceMetadata) MarshalJSON() ([]byte, error) {
981	type NoMethod CreateInstanceMetadata
982	raw := NoMethod(*s)
983	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
984}
985
986// CreateInstanceRequest: Request message for
987// BigtableInstanceAdmin.CreateInstance.
988type CreateInstanceRequest struct {
989	// Clusters: Required. The clusters to be created within the instance,
990	// mapped by desired
991	// cluster ID, e.g., just `mycluster` rather
992	// than
993	// `projects/myproject/instances/myinstance/clusters/mycluster`.
994	// Fie
995	// lds marked `OutputOnly` must be left blank.
996	// Currently, at most four clusters can be specified.
997	Clusters map[string]Cluster `json:"clusters,omitempty"`
998
999	// Instance: Required. The instance to create.
1000	// Fields marked `OutputOnly` must be left blank.
1001	Instance *Instance `json:"instance,omitempty"`
1002
1003	// InstanceId: Required. The ID to be used when referring to the new
1004	// instance within its project,
1005	// e.g., just `myinstance` rather
1006	// than
1007	// `projects/myproject/instances/myinstance`.
1008	InstanceId string `json:"instanceId,omitempty"`
1009
1010	// Parent: Required. The unique name of the project in which to create
1011	// the new instance.
1012	// Values are of the form `projects/{project}`.
1013	Parent string `json:"parent,omitempty"`
1014
1015	// ForceSendFields is a list of field names (e.g. "Clusters") to
1016	// unconditionally include in API requests. By default, fields with
1017	// empty values are omitted from API requests. However, any non-pointer,
1018	// non-interface field appearing in ForceSendFields will be sent to the
1019	// server regardless of whether the field is empty or not. This may be
1020	// used to include empty fields in Patch requests.
1021	ForceSendFields []string `json:"-"`
1022
1023	// NullFields is a list of field names (e.g. "Clusters") to include in
1024	// API requests with the JSON null value. By default, fields with empty
1025	// values are omitted from API requests. However, any field with an
1026	// empty value appearing in NullFields will be sent to the server as
1027	// null. It is an error if a field in this list has a non-empty value.
1028	// This may be used to include null fields in Patch requests.
1029	NullFields []string `json:"-"`
1030}
1031
1032func (s *CreateInstanceRequest) MarshalJSON() ([]byte, error) {
1033	type NoMethod CreateInstanceRequest
1034	raw := NoMethod(*s)
1035	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1036}
1037
1038// CreateTableRequest: Request message
1039// for
1040// google.bigtable.admin.v2.BigtableTableAdmin.CreateTable
1041type CreateTableRequest struct {
1042	// InitialSplits: The optional list of row keys that will be used to
1043	// initially split the
1044	// table into several tablets (tablets are similar to HBase
1045	// regions).
1046	// Given two split keys, `s1` and `s2`, three tablets will be
1047	// created,
1048	// spanning the key ranges: `[, s1), [s1, s2), [s2, )`.
1049	//
1050	// Example:
1051	//
1052	// * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",`
1053	//                "other", "zz"]`
1054	// * initial_split_keys := `["apple", "customer_1", "customer_2",
1055	// "other"]`
1056	// * Key assignment:
1057	//     - Tablet 1 `[, apple)                => {"a"}.`
1058	//     - Tablet 2 `[apple, customer_1)      => {"apple", "custom"}.`
1059	//     - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.`
1060	//     - Tablet 4 `[customer_2, other)      => {"customer_2"}.`
1061	//     - Tablet 5 `[other, )                => {"other", "zz"}.`
1062	InitialSplits []*Split `json:"initialSplits,omitempty"`
1063
1064	// Table: Required. The Table to create.
1065	Table *Table `json:"table,omitempty"`
1066
1067	// TableId: Required. The name by which the new table should be referred
1068	// to within the parent
1069	// instance, e.g., `foobar` rather than
1070	// `{parent}/tables/foobar`.
1071	// Maximum 50 characters.
1072	TableId string `json:"tableId,omitempty"`
1073
1074	// ForceSendFields is a list of field names (e.g. "InitialSplits") to
1075	// unconditionally include in API requests. By default, fields with
1076	// empty values are omitted from API requests. However, any non-pointer,
1077	// non-interface field appearing in ForceSendFields will be sent to the
1078	// server regardless of whether the field is empty or not. This may be
1079	// used to include empty fields in Patch requests.
1080	ForceSendFields []string `json:"-"`
1081
1082	// NullFields is a list of field names (e.g. "InitialSplits") to include
1083	// in API requests with the JSON null value. By default, fields with
1084	// empty values are omitted from API requests. However, any field with
1085	// an empty value appearing in NullFields will be sent to the server as
1086	// null. It is an error if a field in this list has a non-empty value.
1087	// This may be used to include null fields in Patch requests.
1088	NullFields []string `json:"-"`
1089}
1090
1091func (s *CreateTableRequest) MarshalJSON() ([]byte, error) {
1092	type NoMethod CreateTableRequest
1093	raw := NoMethod(*s)
1094	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1095}
1096
1097// DropRowRangeRequest: Request message
1098// for
1099// google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange
1100type DropRowRangeRequest struct {
1101	// DeleteAllDataFromTable: Delete all rows in the table. Setting this to
1102	// false is a no-op.
1103	DeleteAllDataFromTable bool `json:"deleteAllDataFromTable,omitempty"`
1104
1105	// RowKeyPrefix: Delete all rows that start with this row key prefix.
1106	// Prefix cannot be
1107	// zero length.
1108	RowKeyPrefix string `json:"rowKeyPrefix,omitempty"`
1109
1110	// ForceSendFields is a list of field names (e.g.
1111	// "DeleteAllDataFromTable") to unconditionally include in API requests.
1112	// By default, fields with empty values are omitted from API requests.
1113	// However, any non-pointer, non-interface field appearing in
1114	// ForceSendFields will be sent to the server regardless of whether the
1115	// field is empty or not. This may be used to include empty fields in
1116	// Patch requests.
1117	ForceSendFields []string `json:"-"`
1118
1119	// NullFields is a list of field names (e.g. "DeleteAllDataFromTable")
1120	// to include in API requests with the JSON null value. By default,
1121	// fields with empty values are omitted from API requests. However, any
1122	// field with an empty value appearing in NullFields will be sent to the
1123	// server as null. It is an error if a field in this list has a
1124	// non-empty value. This may be used to include null fields in Patch
1125	// requests.
1126	NullFields []string `json:"-"`
1127}
1128
1129func (s *DropRowRangeRequest) MarshalJSON() ([]byte, error) {
1130	type NoMethod DropRowRangeRequest
1131	raw := NoMethod(*s)
1132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1133}
1134
1135// Empty: A generic empty message that you can re-use to avoid defining
1136// duplicated
1137// empty messages in your APIs. A typical example is to use it as the
1138// request
1139// or the response type of an API method. For instance:
1140//
1141//     service Foo {
1142//       rpc Bar(google.protobuf.Empty) returns
1143// (google.protobuf.Empty);
1144//     }
1145//
1146// The JSON representation for `Empty` is empty JSON object `{}`.
1147type Empty struct {
1148	// ServerResponse contains the HTTP response code and headers from the
1149	// server.
1150	googleapi.ServerResponse `json:"-"`
1151}
1152
1153// Expr: Represents a textual expression in the Common Expression
1154// Language (CEL)
1155// syntax. CEL is a C-like expression language. The syntax and semantics
1156// of CEL
1157// are documented at https://github.com/google/cel-spec.
1158//
1159// Example (Comparison):
1160//
1161//     title: "Summary size limit"
1162//     description: "Determines if a summary is less than 100 chars"
1163//     expression: "document.summary.size() < 100"
1164//
1165// Example (Equality):
1166//
1167//     title: "Requestor is owner"
1168//     description: "Determines if requestor is the document owner"
1169//     expression: "document.owner ==
1170// request.auth.claims.email"
1171//
1172// Example (Logic):
1173//
1174//     title: "Public documents"
1175//     description: "Determine whether the document should be publicly
1176// visible"
1177//     expression: "document.type != 'private' && document.type !=
1178// 'internal'"
1179//
1180// Example (Data Manipulation):
1181//
1182//     title: "Notification string"
1183//     description: "Create a notification string with a timestamp."
1184//     expression: "'New message received at ' +
1185// string(document.create_time)"
1186//
1187// The exact variables and functions that may be referenced within an
1188// expression
1189// are determined by the service that evaluates it. See the
1190// service
1191// documentation for additional information.
1192type Expr struct {
1193	// Description: Optional. Description of the expression. This is a
1194	// longer text which
1195	// describes the expression, e.g. when hovered over it in a UI.
1196	Description string `json:"description,omitempty"`
1197
1198	// Expression: Textual representation of an expression in Common
1199	// Expression Language
1200	// syntax.
1201	Expression string `json:"expression,omitempty"`
1202
1203	// Location: Optional. String indicating the location of the expression
1204	// for error
1205	// reporting, e.g. a file name and a position in the file.
1206	Location string `json:"location,omitempty"`
1207
1208	// Title: Optional. Title for the expression, i.e. a short string
1209	// describing
1210	// its purpose. This can be used e.g. in UIs which allow to enter
1211	// the
1212	// expression.
1213	Title string `json:"title,omitempty"`
1214
1215	// ForceSendFields is a list of field names (e.g. "Description") to
1216	// unconditionally include in API requests. By default, fields with
1217	// empty values are omitted from API requests. However, any non-pointer,
1218	// non-interface field appearing in ForceSendFields will be sent to the
1219	// server regardless of whether the field is empty or not. This may be
1220	// used to include empty fields in Patch requests.
1221	ForceSendFields []string `json:"-"`
1222
1223	// NullFields is a list of field names (e.g. "Description") to include
1224	// in API requests with the JSON null value. By default, fields with
1225	// empty values are omitted from API requests. However, any field with
1226	// an empty value appearing in NullFields will be sent to the server as
1227	// null. It is an error if a field in this list has a non-empty value.
1228	// This may be used to include null fields in Patch requests.
1229	NullFields []string `json:"-"`
1230}
1231
1232func (s *Expr) MarshalJSON() ([]byte, error) {
1233	type NoMethod Expr
1234	raw := NoMethod(*s)
1235	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1236}
1237
1238// GcRule: Rule for determining which cells to delete during garbage
1239// collection.
1240type GcRule struct {
1241	// Intersection: Delete cells that would be deleted by every nested
1242	// rule.
1243	Intersection *Intersection `json:"intersection,omitempty"`
1244
1245	// MaxAge: Delete cells in a column older than the given age.
1246	// Values must be at least one millisecond, and will be truncated
1247	// to
1248	// microsecond granularity.
1249	MaxAge string `json:"maxAge,omitempty"`
1250
1251	// MaxNumVersions: Delete all cells in a column except the most recent
1252	// N.
1253	MaxNumVersions int64 `json:"maxNumVersions,omitempty"`
1254
1255	// Union: Delete cells that would be deleted by any nested rule.
1256	Union *Union `json:"union,omitempty"`
1257
1258	// ForceSendFields is a list of field names (e.g. "Intersection") to
1259	// unconditionally include in API requests. By default, fields with
1260	// empty values are omitted from API requests. However, any non-pointer,
1261	// non-interface field appearing in ForceSendFields will be sent to the
1262	// server regardless of whether the field is empty or not. This may be
1263	// used to include empty fields in Patch requests.
1264	ForceSendFields []string `json:"-"`
1265
1266	// NullFields is a list of field names (e.g. "Intersection") to include
1267	// in API requests with the JSON null value. By default, fields with
1268	// empty values are omitted from API requests. However, any field with
1269	// an empty value appearing in NullFields will be sent to the server as
1270	// null. It is an error if a field in this list has a non-empty value.
1271	// This may be used to include null fields in Patch requests.
1272	NullFields []string `json:"-"`
1273}
1274
1275func (s *GcRule) MarshalJSON() ([]byte, error) {
1276	type NoMethod GcRule
1277	raw := NoMethod(*s)
1278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1279}
1280
1281// GenerateConsistencyTokenRequest: Request message
1282// for
1283// google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyTok
1284// en
1285type GenerateConsistencyTokenRequest struct {
1286}
1287
1288// GenerateConsistencyTokenResponse: Response message
1289// for
1290// google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyTok
1291// en
1292type GenerateConsistencyTokenResponse struct {
1293	// ConsistencyToken: The generated consistency token.
1294	ConsistencyToken string `json:"consistencyToken,omitempty"`
1295
1296	// ServerResponse contains the HTTP response code and headers from the
1297	// server.
1298	googleapi.ServerResponse `json:"-"`
1299
1300	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
1301	// unconditionally include in API requests. By default, fields with
1302	// empty values are omitted from API requests. However, any non-pointer,
1303	// non-interface field appearing in ForceSendFields will be sent to the
1304	// server regardless of whether the field is empty or not. This may be
1305	// used to include empty fields in Patch requests.
1306	ForceSendFields []string `json:"-"`
1307
1308	// NullFields is a list of field names (e.g. "ConsistencyToken") to
1309	// include in API requests with the JSON null value. By default, fields
1310	// with empty values are omitted from API requests. However, any field
1311	// with an empty value appearing in NullFields will be sent to the
1312	// server as null. It is an error if a field in this list has a
1313	// non-empty value. This may be used to include null fields in Patch
1314	// requests.
1315	NullFields []string `json:"-"`
1316}
1317
1318func (s *GenerateConsistencyTokenResponse) MarshalJSON() ([]byte, error) {
1319	type NoMethod GenerateConsistencyTokenResponse
1320	raw := NoMethod(*s)
1321	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1322}
1323
1324// GetIamPolicyRequest: Request message for `GetIamPolicy` method.
1325type GetIamPolicyRequest struct {
1326	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
1327	// to
1328	// `GetIamPolicy`. This field is only used by Cloud IAM.
1329	Options *GetPolicyOptions `json:"options,omitempty"`
1330
1331	// ForceSendFields is a list of field names (e.g. "Options") to
1332	// unconditionally include in API requests. By default, fields with
1333	// empty values are omitted from API requests. However, any non-pointer,
1334	// non-interface field appearing in ForceSendFields will be sent to the
1335	// server regardless of whether the field is empty or not. This may be
1336	// used to include empty fields in Patch requests.
1337	ForceSendFields []string `json:"-"`
1338
1339	// NullFields is a list of field names (e.g. "Options") to include in
1340	// API requests with the JSON null value. By default, fields with empty
1341	// values are omitted from API requests. However, any field with an
1342	// empty value appearing in NullFields will be sent to the server as
1343	// null. It is an error if a field in this list has a non-empty value.
1344	// This may be used to include null fields in Patch requests.
1345	NullFields []string `json:"-"`
1346}
1347
1348func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
1349	type NoMethod GetIamPolicyRequest
1350	raw := NoMethod(*s)
1351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1352}
1353
1354// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
1355type GetPolicyOptions struct {
1356	// RequestedPolicyVersion: Optional. The policy format version to be
1357	// returned.
1358	//
1359	// Valid values are 0, 1, and 3. Requests specifying an invalid value
1360	// will be
1361	// rejected.
1362	//
1363	// Requests for policies with any conditional bindings must specify
1364	// version 3.
1365	// Policies without any conditional bindings may specify any valid value
1366	// or
1367	// leave the field unset.
1368	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
1369
1370	// ForceSendFields is a list of field names (e.g.
1371	// "RequestedPolicyVersion") to unconditionally include in API requests.
1372	// By default, fields with empty values are omitted from API requests.
1373	// However, any non-pointer, non-interface field appearing in
1374	// ForceSendFields will be sent to the server regardless of whether the
1375	// field is empty or not. This may be used to include empty fields in
1376	// Patch requests.
1377	ForceSendFields []string `json:"-"`
1378
1379	// NullFields is a list of field names (e.g. "RequestedPolicyVersion")
1380	// to include in API requests with the JSON null value. By default,
1381	// fields with empty values are omitted from API requests. However, any
1382	// field with an empty value appearing in NullFields will be sent to the
1383	// server as null. It is an error if a field in this list has a
1384	// non-empty value. This may be used to include null fields in Patch
1385	// requests.
1386	NullFields []string `json:"-"`
1387}
1388
1389func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
1390	type NoMethod GetPolicyOptions
1391	raw := NoMethod(*s)
1392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1393}
1394
1395// Instance: A collection of Bigtable Tables and
1396// the resources that serve them.
1397// All tables in an instance are served from all
1398// Clusters in the instance.
1399type Instance struct {
1400	// DisplayName: Required. The descriptive name for this instance as it
1401	// appears in UIs.
1402	// Can be changed at any time, but should be kept globally unique
1403	// to avoid confusion.
1404	DisplayName string `json:"displayName,omitempty"`
1405
1406	// Labels: Required. Labels are a flexible and lightweight mechanism for
1407	// organizing cloud
1408	// resources into groups that reflect a customer's organizational needs
1409	// and
1410	// deployment strategies. They can be used to filter resources and
1411	// aggregate
1412	// metrics.
1413	//
1414	// * Label keys must be between 1 and 63 characters long and must
1415	// conform to
1416	//   the regular expression: `\p{Ll}\p{Lo}{0,62}`.
1417	// * Label values must be between 0 and 63 characters long and must
1418	// conform to
1419	//   the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`.
1420	// * No more than 64 labels can be associated with a given resource.
1421	// * Keys and values must both be under 128 bytes.
1422	Labels map[string]string `json:"labels,omitempty"`
1423
1424	// Name: Required. (`OutputOnly`)
1425	// The unique name of the instance. Values are of the
1426	// form
1427	// `projects/{project}/instances/a-z+[a-z0-9]`.
1428	Name string `json:"name,omitempty"`
1429
1430	// State: (`OutputOnly`)
1431	// The current state of the instance.
1432	//
1433	// Possible values:
1434	//   "STATE_NOT_KNOWN" - The state of the instance could not be
1435	// determined.
1436	//   "READY" - The instance has been successfully created and can serve
1437	// requests
1438	// to its tables.
1439	//   "CREATING" - The instance is currently being created, and may be
1440	// destroyed
1441	// if the creation process encounters an error.
1442	State string `json:"state,omitempty"`
1443
1444	// Type: Required. The type of the instance. Defaults to `PRODUCTION`.
1445	//
1446	// Possible values:
1447	//   "TYPE_UNSPECIFIED" - The type of the instance is unspecified. If
1448	// set when creating an
1449	// instance, a `PRODUCTION` instance will be created. If set when
1450	// updating
1451	// an instance, the type will be left unchanged.
1452	//   "PRODUCTION" - An instance meant for production use. `serve_nodes`
1453	// must be set
1454	// on the cluster.
1455	//   "DEVELOPMENT" - The instance is meant for development and testing
1456	// purposes only; it has
1457	// no performance or uptime guarantees and is not covered by SLA.
1458	// After a development instance is created, it can be upgraded
1459	// by
1460	// updating the instance to type `PRODUCTION`. An instance created
1461	// as a production instance cannot be changed to a development
1462	// instance.
1463	// When creating a development instance, `serve_nodes` on the cluster
1464	// must
1465	// not be set.
1466	Type string `json:"type,omitempty"`
1467
1468	// ServerResponse contains the HTTP response code and headers from the
1469	// server.
1470	googleapi.ServerResponse `json:"-"`
1471
1472	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1473	// unconditionally include in API requests. By default, fields with
1474	// empty values are omitted from API requests. However, any non-pointer,
1475	// non-interface field appearing in ForceSendFields will be sent to the
1476	// server regardless of whether the field is empty or not. This may be
1477	// used to include empty fields in Patch requests.
1478	ForceSendFields []string `json:"-"`
1479
1480	// NullFields is a list of field names (e.g. "DisplayName") to include
1481	// in API requests with the JSON null value. By default, fields with
1482	// empty values are omitted from API requests. However, any field with
1483	// an empty value appearing in NullFields will be sent to the server as
1484	// null. It is an error if a field in this list has a non-empty value.
1485	// This may be used to include null fields in Patch requests.
1486	NullFields []string `json:"-"`
1487}
1488
1489func (s *Instance) MarshalJSON() ([]byte, error) {
1490	type NoMethod Instance
1491	raw := NoMethod(*s)
1492	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1493}
1494
1495// Intersection: A GcRule which deletes cells matching all of the given
1496// rules.
1497type Intersection struct {
1498	// Rules: Only delete cells which would be deleted by every element of
1499	// `rules`.
1500	Rules []*GcRule `json:"rules,omitempty"`
1501
1502	// ForceSendFields is a list of field names (e.g. "Rules") to
1503	// unconditionally include in API requests. By default, fields with
1504	// empty values are omitted from API requests. However, any non-pointer,
1505	// non-interface field appearing in ForceSendFields will be sent to the
1506	// server regardless of whether the field is empty or not. This may be
1507	// used to include empty fields in Patch requests.
1508	ForceSendFields []string `json:"-"`
1509
1510	// NullFields is a list of field names (e.g. "Rules") to include in API
1511	// requests with the JSON null value. By default, fields with empty
1512	// values are omitted from API requests. However, any field with an
1513	// empty value appearing in NullFields will be sent to the server as
1514	// null. It is an error if a field in this list has a non-empty value.
1515	// This may be used to include null fields in Patch requests.
1516	NullFields []string `json:"-"`
1517}
1518
1519func (s *Intersection) MarshalJSON() ([]byte, error) {
1520	type NoMethod Intersection
1521	raw := NoMethod(*s)
1522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1523}
1524
1525// ListAppProfilesResponse: Response message for
1526// BigtableInstanceAdmin.ListAppProfiles.
1527type ListAppProfilesResponse struct {
1528	// AppProfiles: The list of requested app profiles.
1529	AppProfiles []*AppProfile `json:"appProfiles,omitempty"`
1530
1531	// FailedLocations: Locations from which AppProfile information could
1532	// not be retrieved,
1533	// due to an outage or some other transient condition.
1534	// AppProfiles from these locations may be missing from
1535	// `app_profiles`.
1536	// Values are of the form `projects/<project>/locations/<zone_id>`
1537	FailedLocations []string `json:"failedLocations,omitempty"`
1538
1539	// NextPageToken: Set if not all app profiles could be returned in a
1540	// single response.
1541	// Pass this value to `page_token` in another request to get the
1542	// next
1543	// page of results.
1544	NextPageToken string `json:"nextPageToken,omitempty"`
1545
1546	// ServerResponse contains the HTTP response code and headers from the
1547	// server.
1548	googleapi.ServerResponse `json:"-"`
1549
1550	// ForceSendFields is a list of field names (e.g. "AppProfiles") to
1551	// unconditionally include in API requests. By default, fields with
1552	// empty values are omitted from API requests. However, any non-pointer,
1553	// non-interface field appearing in ForceSendFields will be sent to the
1554	// server regardless of whether the field is empty or not. This may be
1555	// used to include empty fields in Patch requests.
1556	ForceSendFields []string `json:"-"`
1557
1558	// NullFields is a list of field names (e.g. "AppProfiles") to include
1559	// in API requests with the JSON null value. By default, fields with
1560	// empty values are omitted from API requests. However, any field with
1561	// an empty value appearing in NullFields will be sent to the server as
1562	// null. It is an error if a field in this list has a non-empty value.
1563	// This may be used to include null fields in Patch requests.
1564	NullFields []string `json:"-"`
1565}
1566
1567func (s *ListAppProfilesResponse) MarshalJSON() ([]byte, error) {
1568	type NoMethod ListAppProfilesResponse
1569	raw := NoMethod(*s)
1570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1571}
1572
1573// ListClustersResponse: Response message for
1574// BigtableInstanceAdmin.ListClusters.
1575type ListClustersResponse struct {
1576	// Clusters: The list of requested clusters.
1577	Clusters []*Cluster `json:"clusters,omitempty"`
1578
1579	// FailedLocations: Locations from which Cluster information could not
1580	// be retrieved,
1581	// due to an outage or some other transient condition.
1582	// Clusters from these locations may be missing from `clusters`,
1583	// or may only have partial information returned.
1584	// Values are of the form `projects/<project>/locations/<zone_id>`
1585	FailedLocations []string `json:"failedLocations,omitempty"`
1586
1587	// NextPageToken: DEPRECATED: This field is unused and ignored.
1588	NextPageToken string `json:"nextPageToken,omitempty"`
1589
1590	// ServerResponse contains the HTTP response code and headers from the
1591	// server.
1592	googleapi.ServerResponse `json:"-"`
1593
1594	// ForceSendFields is a list of field names (e.g. "Clusters") to
1595	// unconditionally include in API requests. By default, fields with
1596	// empty values are omitted from API requests. However, any non-pointer,
1597	// non-interface field appearing in ForceSendFields will be sent to the
1598	// server regardless of whether the field is empty or not. This may be
1599	// used to include empty fields in Patch requests.
1600	ForceSendFields []string `json:"-"`
1601
1602	// NullFields is a list of field names (e.g. "Clusters") to include in
1603	// API requests with the JSON null value. By default, fields with empty
1604	// values are omitted from API requests. However, any field with an
1605	// empty value appearing in NullFields will be sent to the server as
1606	// null. It is an error if a field in this list has a non-empty value.
1607	// This may be used to include null fields in Patch requests.
1608	NullFields []string `json:"-"`
1609}
1610
1611func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
1612	type NoMethod ListClustersResponse
1613	raw := NoMethod(*s)
1614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1615}
1616
1617// ListInstancesResponse: Response message for
1618// BigtableInstanceAdmin.ListInstances.
1619type ListInstancesResponse struct {
1620	// FailedLocations: Locations from which Instance information could not
1621	// be retrieved,
1622	// due to an outage or some other transient condition.
1623	// Instances whose Clusters are all in one of the failed locations
1624	// may be missing from `instances`, and Instances with at least
1625	// one
1626	// Cluster in a failed location may only have partial information
1627	// returned.
1628	// Values are of the form `projects/<project>/locations/<zone_id>`
1629	FailedLocations []string `json:"failedLocations,omitempty"`
1630
1631	// Instances: The list of requested instances.
1632	Instances []*Instance `json:"instances,omitempty"`
1633
1634	// NextPageToken: DEPRECATED: This field is unused and ignored.
1635	NextPageToken string `json:"nextPageToken,omitempty"`
1636
1637	// ServerResponse contains the HTTP response code and headers from the
1638	// server.
1639	googleapi.ServerResponse `json:"-"`
1640
1641	// ForceSendFields is a list of field names (e.g. "FailedLocations") to
1642	// unconditionally include in API requests. By default, fields with
1643	// empty values are omitted from API requests. However, any non-pointer,
1644	// non-interface field appearing in ForceSendFields will be sent to the
1645	// server regardless of whether the field is empty or not. This may be
1646	// used to include empty fields in Patch requests.
1647	ForceSendFields []string `json:"-"`
1648
1649	// NullFields is a list of field names (e.g. "FailedLocations") to
1650	// include in API requests with the JSON null value. By default, fields
1651	// with empty values are omitted from API requests. However, any field
1652	// with an empty value appearing in NullFields will be sent to the
1653	// server as null. It is an error if a field in this list has a
1654	// non-empty value. This may be used to include null fields in Patch
1655	// requests.
1656	NullFields []string `json:"-"`
1657}
1658
1659func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
1660	type NoMethod ListInstancesResponse
1661	raw := NoMethod(*s)
1662	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1663}
1664
1665// ListLocationsResponse: The response message for
1666// Locations.ListLocations.
1667type ListLocationsResponse struct {
1668	// Locations: A list of locations that matches the specified filter in
1669	// the request.
1670	Locations []*Location `json:"locations,omitempty"`
1671
1672	// NextPageToken: The standard List next-page token.
1673	NextPageToken string `json:"nextPageToken,omitempty"`
1674
1675	// ServerResponse contains the HTTP response code and headers from the
1676	// server.
1677	googleapi.ServerResponse `json:"-"`
1678
1679	// ForceSendFields is a list of field names (e.g. "Locations") to
1680	// unconditionally include in API requests. By default, fields with
1681	// empty values are omitted from API requests. However, any non-pointer,
1682	// non-interface field appearing in ForceSendFields will be sent to the
1683	// server regardless of whether the field is empty or not. This may be
1684	// used to include empty fields in Patch requests.
1685	ForceSendFields []string `json:"-"`
1686
1687	// NullFields is a list of field names (e.g. "Locations") to include in
1688	// API requests with the JSON null value. By default, fields with empty
1689	// values are omitted from API requests. However, any field with an
1690	// empty value appearing in NullFields will be sent to the server as
1691	// null. It is an error if a field in this list has a non-empty value.
1692	// This may be used to include null fields in Patch requests.
1693	NullFields []string `json:"-"`
1694}
1695
1696func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
1697	type NoMethod ListLocationsResponse
1698	raw := NoMethod(*s)
1699	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1700}
1701
1702// ListOperationsResponse: The response message for
1703// Operations.ListOperations.
1704type ListOperationsResponse struct {
1705	// NextPageToken: The standard List next-page token.
1706	NextPageToken string `json:"nextPageToken,omitempty"`
1707
1708	// Operations: A list of operations that matches the specified filter in
1709	// the request.
1710	Operations []*Operation `json:"operations,omitempty"`
1711
1712	// ServerResponse contains the HTTP response code and headers from the
1713	// server.
1714	googleapi.ServerResponse `json:"-"`
1715
1716	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1717	// unconditionally include in API requests. By default, fields with
1718	// empty values are omitted from API requests. However, any non-pointer,
1719	// non-interface field appearing in ForceSendFields will be sent to the
1720	// server regardless of whether the field is empty or not. This may be
1721	// used to include empty fields in Patch requests.
1722	ForceSendFields []string `json:"-"`
1723
1724	// NullFields is a list of field names (e.g. "NextPageToken") to include
1725	// in API requests with the JSON null value. By default, fields with
1726	// empty values are omitted from API requests. However, any field with
1727	// an empty value appearing in NullFields will be sent to the server as
1728	// null. It is an error if a field in this list has a non-empty value.
1729	// This may be used to include null fields in Patch requests.
1730	NullFields []string `json:"-"`
1731}
1732
1733func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
1734	type NoMethod ListOperationsResponse
1735	raw := NoMethod(*s)
1736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1737}
1738
1739// ListTablesResponse: Response message
1740// for
1741// google.bigtable.admin.v2.BigtableTableAdmin.ListTables
1742type ListTablesResponse struct {
1743	// NextPageToken: Set if not all tables could be returned in a single
1744	// response.
1745	// Pass this value to `page_token` in another request to get the
1746	// next
1747	// page of results.
1748	NextPageToken string `json:"nextPageToken,omitempty"`
1749
1750	// Tables: The tables present in the requested instance.
1751	Tables []*Table `json:"tables,omitempty"`
1752
1753	// ServerResponse contains the HTTP response code and headers from the
1754	// server.
1755	googleapi.ServerResponse `json:"-"`
1756
1757	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1758	// unconditionally include in API requests. By default, fields with
1759	// empty values are omitted from API requests. However, any non-pointer,
1760	// non-interface field appearing in ForceSendFields will be sent to the
1761	// server regardless of whether the field is empty or not. This may be
1762	// used to include empty fields in Patch requests.
1763	ForceSendFields []string `json:"-"`
1764
1765	// NullFields is a list of field names (e.g. "NextPageToken") to include
1766	// in API requests with the JSON null value. By default, fields with
1767	// empty values are omitted from API requests. However, any field with
1768	// an empty value appearing in NullFields will be sent to the server as
1769	// null. It is an error if a field in this list has a non-empty value.
1770	// This may be used to include null fields in Patch requests.
1771	NullFields []string `json:"-"`
1772}
1773
1774func (s *ListTablesResponse) MarshalJSON() ([]byte, error) {
1775	type NoMethod ListTablesResponse
1776	raw := NoMethod(*s)
1777	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1778}
1779
1780// Location: A resource that represents Google Cloud Platform location.
1781type Location struct {
1782	// DisplayName: The friendly name for this location, typically a nearby
1783	// city name.
1784	// For example, "Tokyo".
1785	DisplayName string `json:"displayName,omitempty"`
1786
1787	// Labels: Cross-service attributes for the location. For example
1788	//
1789	//     {"cloud.googleapis.com/region": "us-east1"}
1790	Labels map[string]string `json:"labels,omitempty"`
1791
1792	// LocationId: The canonical id for this location. For example:
1793	// "us-east1".
1794	LocationId string `json:"locationId,omitempty"`
1795
1796	// Metadata: Service-specific metadata. For example the available
1797	// capacity at the given
1798	// location.
1799	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
1800
1801	// Name: Resource name for the location, which may vary between
1802	// implementations.
1803	// For example: "projects/example-project/locations/us-east1"
1804	Name string `json:"name,omitempty"`
1805
1806	// ServerResponse contains the HTTP response code and headers from the
1807	// server.
1808	googleapi.ServerResponse `json:"-"`
1809
1810	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1811	// unconditionally include in API requests. By default, fields with
1812	// empty values are omitted from API requests. However, any non-pointer,
1813	// non-interface field appearing in ForceSendFields will be sent to the
1814	// server regardless of whether the field is empty or not. This may be
1815	// used to include empty fields in Patch requests.
1816	ForceSendFields []string `json:"-"`
1817
1818	// NullFields is a list of field names (e.g. "DisplayName") to include
1819	// in API requests with the JSON null value. By default, fields with
1820	// empty values are omitted from API requests. However, any field with
1821	// an empty value appearing in NullFields will be sent to the server as
1822	// null. It is an error if a field in this list has a non-empty value.
1823	// This may be used to include null fields in Patch requests.
1824	NullFields []string `json:"-"`
1825}
1826
1827func (s *Location) MarshalJSON() ([]byte, error) {
1828	type NoMethod Location
1829	raw := NoMethod(*s)
1830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1831}
1832
1833// Modification: A create, update, or delete of a particular column
1834// family.
1835type Modification struct {
1836	// Create: Create a new column family with the specified schema, or fail
1837	// if
1838	// one already exists with the given ID.
1839	Create *ColumnFamily `json:"create,omitempty"`
1840
1841	// Drop: Drop (delete) the column family with the given ID, or fail if
1842	// no such
1843	// family exists.
1844	Drop bool `json:"drop,omitempty"`
1845
1846	// Id: The ID of the column family to be modified.
1847	Id string `json:"id,omitempty"`
1848
1849	// Update: Update an existing column family to the specified schema, or
1850	// fail
1851	// if no column family exists with the given ID.
1852	Update *ColumnFamily `json:"update,omitempty"`
1853
1854	// ForceSendFields is a list of field names (e.g. "Create") to
1855	// unconditionally include in API requests. By default, fields with
1856	// empty values are omitted from API requests. However, any non-pointer,
1857	// non-interface field appearing in ForceSendFields will be sent to the
1858	// server regardless of whether the field is empty or not. This may be
1859	// used to include empty fields in Patch requests.
1860	ForceSendFields []string `json:"-"`
1861
1862	// NullFields is a list of field names (e.g. "Create") to include in API
1863	// requests with the JSON null value. By default, fields with empty
1864	// values are omitted from API requests. However, any field with an
1865	// empty value appearing in NullFields will be sent to the server as
1866	// null. It is an error if a field in this list has a non-empty value.
1867	// This may be used to include null fields in Patch requests.
1868	NullFields []string `json:"-"`
1869}
1870
1871func (s *Modification) MarshalJSON() ([]byte, error) {
1872	type NoMethod Modification
1873	raw := NoMethod(*s)
1874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1875}
1876
1877// ModifyColumnFamiliesRequest: Request message
1878// for
1879// google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies
1880type ModifyColumnFamiliesRequest struct {
1881	// Modifications: Required. Modifications to be atomically applied to
1882	// the specified table's families.
1883	// Entries are applied in order, meaning that earlier modifications can
1884	// be
1885	// masked by later ones (in the case of repeated updates to the same
1886	// family,
1887	// for example).
1888	Modifications []*Modification `json:"modifications,omitempty"`
1889
1890	// ForceSendFields is a list of field names (e.g. "Modifications") to
1891	// unconditionally include in API requests. By default, fields with
1892	// empty values are omitted from API requests. However, any non-pointer,
1893	// non-interface field appearing in ForceSendFields will be sent to the
1894	// server regardless of whether the field is empty or not. This may be
1895	// used to include empty fields in Patch requests.
1896	ForceSendFields []string `json:"-"`
1897
1898	// NullFields is a list of field names (e.g. "Modifications") to include
1899	// in API requests with the JSON null value. By default, fields with
1900	// empty values are omitted from API requests. However, any field with
1901	// an empty value appearing in NullFields will be sent to the server as
1902	// null. It is an error if a field in this list has a non-empty value.
1903	// This may be used to include null fields in Patch requests.
1904	NullFields []string `json:"-"`
1905}
1906
1907func (s *ModifyColumnFamiliesRequest) MarshalJSON() ([]byte, error) {
1908	type NoMethod ModifyColumnFamiliesRequest
1909	raw := NoMethod(*s)
1910	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1911}
1912
1913// MultiClusterRoutingUseAny: Read/write requests are routed to the
1914// nearest cluster in the instance, and
1915// will fail over to the nearest cluster that is available in the event
1916// of
1917// transient errors or delays. Clusters in a region are
1918// considered
1919// equidistant. Choosing this option sacrifices read-your-writes
1920// consistency
1921// to improve availability.
1922type MultiClusterRoutingUseAny struct {
1923}
1924
1925// Operation: This resource represents a long-running operation that is
1926// the result of a
1927// network API call.
1928type Operation struct {
1929	// Done: If the value is `false`, it means the operation is still in
1930	// progress.
1931	// If `true`, the operation is completed, and either `error` or
1932	// `response` is
1933	// available.
1934	Done bool `json:"done,omitempty"`
1935
1936	// Error: The error result of the operation in case of failure or
1937	// cancellation.
1938	Error *Status `json:"error,omitempty"`
1939
1940	// Metadata: Service-specific metadata associated with the operation.
1941	// It typically
1942	// contains progress information and common metadata such as create
1943	// time.
1944	// Some services might not provide such metadata.  Any method that
1945	// returns a
1946	// long-running operation should document the metadata type, if any.
1947	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
1948
1949	// Name: The server-assigned name, which is only unique within the same
1950	// service that
1951	// originally returns it. If you use the default HTTP mapping,
1952	// the
1953	// `name` should be a resource name ending with
1954	// `operations/{unique_id}`.
1955	Name string `json:"name,omitempty"`
1956
1957	// Response: The normal response of the operation in case of success.
1958	// If the original
1959	// method returns no data on success, such as `Delete`, the response
1960	// is
1961	// `google.protobuf.Empty`.  If the original method is
1962	// standard
1963	// `Get`/`Create`/`Update`, the response should be the resource.  For
1964	// other
1965	// methods, the response should have the type `XxxResponse`, where
1966	// `Xxx`
1967	// is the original method name.  For example, if the original method
1968	// name
1969	// is `TakeSnapshot()`, the inferred response type
1970	// is
1971	// `TakeSnapshotResponse`.
1972	Response googleapi.RawMessage `json:"response,omitempty"`
1973
1974	// ServerResponse contains the HTTP response code and headers from the
1975	// server.
1976	googleapi.ServerResponse `json:"-"`
1977
1978	// ForceSendFields is a list of field names (e.g. "Done") to
1979	// unconditionally include in API requests. By default, fields with
1980	// empty values are omitted from API requests. However, any non-pointer,
1981	// non-interface field appearing in ForceSendFields will be sent to the
1982	// server regardless of whether the field is empty or not. This may be
1983	// used to include empty fields in Patch requests.
1984	ForceSendFields []string `json:"-"`
1985
1986	// NullFields is a list of field names (e.g. "Done") to include in API
1987	// requests with the JSON null value. By default, fields with empty
1988	// values are omitted from API requests. However, any field with an
1989	// empty value appearing in NullFields will be sent to the server as
1990	// null. It is an error if a field in this list has a non-empty value.
1991	// This may be used to include null fields in Patch requests.
1992	NullFields []string `json:"-"`
1993}
1994
1995func (s *Operation) MarshalJSON() ([]byte, error) {
1996	type NoMethod Operation
1997	raw := NoMethod(*s)
1998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1999}
2000
2001// PartialUpdateInstanceRequest: Request message for
2002// BigtableInstanceAdmin.PartialUpdateInstance.
2003type PartialUpdateInstanceRequest struct {
2004	// Instance: Required. The Instance which will (partially) replace the
2005	// current value.
2006	Instance *Instance `json:"instance,omitempty"`
2007
2008	// UpdateMask: Required. The subset of Instance fields which should be
2009	// replaced.
2010	// Must be explicitly set.
2011	UpdateMask string `json:"updateMask,omitempty"`
2012
2013	// ForceSendFields is a list of field names (e.g. "Instance") to
2014	// unconditionally include in API requests. By default, fields with
2015	// empty values are omitted from API requests. However, any non-pointer,
2016	// non-interface field appearing in ForceSendFields will be sent to the
2017	// server regardless of whether the field is empty or not. This may be
2018	// used to include empty fields in Patch requests.
2019	ForceSendFields []string `json:"-"`
2020
2021	// NullFields is a list of field names (e.g. "Instance") to include in
2022	// API requests with the JSON null value. By default, fields with empty
2023	// values are omitted from API requests. However, any field with an
2024	// empty value appearing in NullFields will be sent to the server as
2025	// null. It is an error if a field in this list has a non-empty value.
2026	// This may be used to include null fields in Patch requests.
2027	NullFields []string `json:"-"`
2028}
2029
2030func (s *PartialUpdateInstanceRequest) MarshalJSON() ([]byte, error) {
2031	type NoMethod PartialUpdateInstanceRequest
2032	raw := NoMethod(*s)
2033	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2034}
2035
2036// Policy: An Identity and Access Management (IAM) policy, which
2037// specifies access
2038// controls for Google Cloud resources.
2039//
2040//
2041// A `Policy` is a collection of `bindings`. A `binding` binds one or
2042// more
2043// `members` to a single `role`. Members can be user accounts, service
2044// accounts,
2045// Google groups, and domains (such as G Suite). A `role` is a named
2046// list of
2047// permissions; each `role` can be an IAM predefined role or a
2048// user-created
2049// custom role.
2050//
2051// Optionally, a `binding` can specify a `condition`, which is a
2052// logical
2053// expression that allows access to a resource only if the expression
2054// evaluates
2055// to `true`. A condition can add constraints based on attributes of
2056// the
2057// request, the resource, or both.
2058//
2059// **JSON example:**
2060//
2061//     {
2062//       "bindings": [
2063//         {
2064//           "role": "roles/resourcemanager.organizationAdmin",
2065//           "members": [
2066//             "user:mike@example.com",
2067//             "group:admins@example.com",
2068//             "domain:google.com",
2069//
2070// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
2071//           ]
2072//         },
2073//         {
2074//           "role": "roles/resourcemanager.organizationViewer",
2075//           "members": ["user:eve@example.com"],
2076//           "condition": {
2077//             "title": "expirable access",
2078//             "description": "Does not grant access after Sep 2020",
2079//             "expression": "request.time <
2080// timestamp('2020-10-01T00:00:00.000Z')",
2081//           }
2082//         }
2083//       ],
2084//       "etag": "BwWWja0YfJA=",
2085//       "version": 3
2086//     }
2087//
2088// **YAML example:**
2089//
2090//     bindings:
2091//     - members:
2092//       - user:mike@example.com
2093//       - group:admins@example.com
2094//       - domain:google.com
2095//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
2096//       role: roles/resourcemanager.organizationAdmin
2097//     - members:
2098//       - user:eve@example.com
2099//       role: roles/resourcemanager.organizationViewer
2100//       condition:
2101//         title: expirable access
2102//         description: Does not grant access after Sep 2020
2103//         expression: request.time <
2104// timestamp('2020-10-01T00:00:00.000Z')
2105//     - etag: BwWWja0YfJA=
2106//     - version: 3
2107//
2108// For a description of IAM and its features, see the
2109// [IAM documentation](https://cloud.google.com/iam/docs/).
2110type Policy struct {
2111	// AuditConfigs: Specifies cloud audit logging configuration for this
2112	// policy.
2113	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
2114
2115	// Bindings: Associates a list of `members` to a `role`. Optionally, may
2116	// specify a
2117	// `condition` that determines how and when the `bindings` are applied.
2118	// Each
2119	// of the `bindings` must contain at least one member.
2120	Bindings []*Binding `json:"bindings,omitempty"`
2121
2122	// Etag: `etag` is used for optimistic concurrency control as a way to
2123	// help
2124	// prevent simultaneous updates of a policy from overwriting each
2125	// other.
2126	// It is strongly suggested that systems make use of the `etag` in
2127	// the
2128	// read-modify-write cycle to perform policy updates in order to avoid
2129	// race
2130	// conditions: An `etag` is returned in the response to `getIamPolicy`,
2131	// and
2132	// systems are expected to put that etag in the request to
2133	// `setIamPolicy` to
2134	// ensure that their change will be applied to the same version of the
2135	// policy.
2136	//
2137	// **Important:** If you use IAM Conditions, you must include the `etag`
2138	// field
2139	// whenever you call `setIamPolicy`. If you omit this field, then IAM
2140	// allows
2141	// you to overwrite a version `3` policy with a version `1` policy, and
2142	// all of
2143	// the conditions in the version `3` policy are lost.
2144	Etag string `json:"etag,omitempty"`
2145
2146	// Version: Specifies the format of the policy.
2147	//
2148	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
2149	// value
2150	// are rejected.
2151	//
2152	// Any operation that affects conditional role bindings must specify
2153	// version
2154	// `3`. This requirement applies to the following operations:
2155	//
2156	// * Getting a policy that includes a conditional role binding
2157	// * Adding a conditional role binding to a policy
2158	// * Changing a conditional role binding in a policy
2159	// * Removing any role binding, with or without a condition, from a
2160	// policy
2161	//   that includes conditions
2162	//
2163	// **Important:** If you use IAM Conditions, you must include the `etag`
2164	// field
2165	// whenever you call `setIamPolicy`. If you omit this field, then IAM
2166	// allows
2167	// you to overwrite a version `3` policy with a version `1` policy, and
2168	// all of
2169	// the conditions in the version `3` policy are lost.
2170	//
2171	// If a policy does not include any conditions, operations on that
2172	// policy may
2173	// specify any valid version or leave the field unset.
2174	Version int64 `json:"version,omitempty"`
2175
2176	// ServerResponse contains the HTTP response code and headers from the
2177	// server.
2178	googleapi.ServerResponse `json:"-"`
2179
2180	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
2181	// unconditionally include in API requests. By default, fields with
2182	// empty values are omitted from API requests. However, any non-pointer,
2183	// non-interface field appearing in ForceSendFields will be sent to the
2184	// server regardless of whether the field is empty or not. This may be
2185	// used to include empty fields in Patch requests.
2186	ForceSendFields []string `json:"-"`
2187
2188	// NullFields is a list of field names (e.g. "AuditConfigs") to include
2189	// in API requests with the JSON null value. By default, fields with
2190	// empty values are omitted from API requests. However, any field with
2191	// an empty value appearing in NullFields will be sent to the server as
2192	// null. It is an error if a field in this list has a non-empty value.
2193	// This may be used to include null fields in Patch requests.
2194	NullFields []string `json:"-"`
2195}
2196
2197func (s *Policy) MarshalJSON() ([]byte, error) {
2198	type NoMethod Policy
2199	raw := NoMethod(*s)
2200	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2201}
2202
2203// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
2204type SetIamPolicyRequest struct {
2205	// Policy: REQUIRED: The complete policy to be applied to the
2206	// `resource`. The size of
2207	// the policy is limited to a few 10s of KB. An empty policy is a
2208	// valid policy but certain Cloud Platform services (such as
2209	// Projects)
2210	// might reject them.
2211	Policy *Policy `json:"policy,omitempty"`
2212
2213	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
2214	// policy to modify. Only
2215	// the fields in the mask will be modified. If no mask is provided,
2216	// the
2217	// following default mask is used:
2218	// paths: "bindings, etag"
2219	// This field is only used by Cloud IAM.
2220	UpdateMask string `json:"updateMask,omitempty"`
2221
2222	// ForceSendFields is a list of field names (e.g. "Policy") to
2223	// unconditionally include in API requests. By default, fields with
2224	// empty values are omitted from API requests. However, any non-pointer,
2225	// non-interface field appearing in ForceSendFields will be sent to the
2226	// server regardless of whether the field is empty or not. This may be
2227	// used to include empty fields in Patch requests.
2228	ForceSendFields []string `json:"-"`
2229
2230	// NullFields is a list of field names (e.g. "Policy") to include in API
2231	// requests with the JSON null value. By default, fields with empty
2232	// values are omitted from API requests. However, any field with an
2233	// empty value appearing in NullFields will be sent to the server as
2234	// null. It is an error if a field in this list has a non-empty value.
2235	// This may be used to include null fields in Patch requests.
2236	NullFields []string `json:"-"`
2237}
2238
2239func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
2240	type NoMethod SetIamPolicyRequest
2241	raw := NoMethod(*s)
2242	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2243}
2244
2245// SingleClusterRouting: Unconditionally routes all read/write requests
2246// to a specific cluster.
2247// This option preserves read-your-writes consistency but does not
2248// improve
2249// availability.
2250type SingleClusterRouting struct {
2251	// AllowTransactionalWrites: Whether or not `CheckAndMutateRow` and
2252	// `ReadModifyWriteRow` requests are
2253	// allowed by this app profile. It is unsafe to send these requests
2254	// to
2255	// the same table/row/column in multiple clusters.
2256	AllowTransactionalWrites bool `json:"allowTransactionalWrites,omitempty"`
2257
2258	// ClusterId: The cluster to which read/write requests should be routed.
2259	ClusterId string `json:"clusterId,omitempty"`
2260
2261	// ForceSendFields is a list of field names (e.g.
2262	// "AllowTransactionalWrites") to unconditionally include in API
2263	// requests. By default, fields with empty values are omitted from API
2264	// requests. However, any non-pointer, non-interface field appearing in
2265	// ForceSendFields will be sent to the server regardless of whether the
2266	// field is empty or not. This may be used to include empty fields in
2267	// Patch requests.
2268	ForceSendFields []string `json:"-"`
2269
2270	// NullFields is a list of field names (e.g. "AllowTransactionalWrites")
2271	// to include in API requests with the JSON null value. By default,
2272	// fields with empty values are omitted from API requests. However, any
2273	// field with an empty value appearing in NullFields will be sent to the
2274	// server as null. It is an error if a field in this list has a
2275	// non-empty value. This may be used to include null fields in Patch
2276	// requests.
2277	NullFields []string `json:"-"`
2278}
2279
2280func (s *SingleClusterRouting) MarshalJSON() ([]byte, error) {
2281	type NoMethod SingleClusterRouting
2282	raw := NoMethod(*s)
2283	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2284}
2285
2286// Split: An initial split point for a newly created table.
2287type Split struct {
2288	// Key: Row key to use as an initial tablet boundary.
2289	Key string `json:"key,omitempty"`
2290
2291	// ForceSendFields is a list of field names (e.g. "Key") to
2292	// unconditionally include in API requests. By default, fields with
2293	// empty values are omitted from API requests. However, any non-pointer,
2294	// non-interface field appearing in ForceSendFields will be sent to the
2295	// server regardless of whether the field is empty or not. This may be
2296	// used to include empty fields in Patch requests.
2297	ForceSendFields []string `json:"-"`
2298
2299	// NullFields is a list of field names (e.g. "Key") to include in API
2300	// requests with the JSON null value. By default, fields with empty
2301	// values are omitted from API requests. However, any field with an
2302	// empty value appearing in NullFields will be sent to the server as
2303	// null. It is an error if a field in this list has a non-empty value.
2304	// This may be used to include null fields in Patch requests.
2305	NullFields []string `json:"-"`
2306}
2307
2308func (s *Split) MarshalJSON() ([]byte, error) {
2309	type NoMethod Split
2310	raw := NoMethod(*s)
2311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2312}
2313
2314// Status: The `Status` type defines a logical error model that is
2315// suitable for
2316// different programming environments, including REST APIs and RPC APIs.
2317// It is
2318// used by [gRPC](https://github.com/grpc). Each `Status` message
2319// contains
2320// three pieces of data: error code, error message, and error
2321// details.
2322//
2323// You can find out more about this error model and how to work with it
2324// in the
2325// [API Design Guide](https://cloud.google.com/apis/design/errors).
2326type Status struct {
2327	// Code: The status code, which should be an enum value of
2328	// google.rpc.Code.
2329	Code int64 `json:"code,omitempty"`
2330
2331	// Details: A list of messages that carry the error details.  There is a
2332	// common set of
2333	// message types for APIs to use.
2334	Details []googleapi.RawMessage `json:"details,omitempty"`
2335
2336	// Message: A developer-facing error message, which should be in
2337	// English. Any
2338	// user-facing error message should be localized and sent in
2339	// the
2340	// google.rpc.Status.details field, or localized by the client.
2341	Message string `json:"message,omitempty"`
2342
2343	// ForceSendFields is a list of field names (e.g. "Code") to
2344	// unconditionally include in API requests. By default, fields with
2345	// empty values are omitted from API requests. However, any non-pointer,
2346	// non-interface field appearing in ForceSendFields will be sent to the
2347	// server regardless of whether the field is empty or not. This may be
2348	// used to include empty fields in Patch requests.
2349	ForceSendFields []string `json:"-"`
2350
2351	// NullFields is a list of field names (e.g. "Code") to include in API
2352	// requests with the JSON null value. By default, fields with empty
2353	// values are omitted from API requests. However, any field with an
2354	// empty value appearing in NullFields will be sent to the server as
2355	// null. It is an error if a field in this list has a non-empty value.
2356	// This may be used to include null fields in Patch requests.
2357	NullFields []string `json:"-"`
2358}
2359
2360func (s *Status) MarshalJSON() ([]byte, error) {
2361	type NoMethod Status
2362	raw := NoMethod(*s)
2363	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2364}
2365
2366// Table: A collection of user data indexed by row, column, and
2367// timestamp.
2368// Each table is served using the resources of its parent cluster.
2369type Table struct {
2370	// ClusterStates: Output only. Map from cluster ID to per-cluster table
2371	// state.
2372	// If it could not be determined whether or not the table has data in
2373	// a
2374	// particular cluster (for example, if its zone is unavailable),
2375	// then
2376	// there will be an entry for the cluster with UNKNOWN
2377	// `replication_status`.
2378	// Views: `REPLICATION_VIEW`, `FULL`
2379	ClusterStates map[string]ClusterState `json:"clusterStates,omitempty"`
2380
2381	// ColumnFamilies: (`CreationOnly`)
2382	// The column families configured for this table, mapped by column
2383	// family ID.
2384	// Views: `SCHEMA_VIEW`, `FULL`
2385	ColumnFamilies map[string]ColumnFamily `json:"columnFamilies,omitempty"`
2386
2387	// Granularity: (`CreationOnly`)
2388	// The granularity (i.e. `MILLIS`) at which timestamps are stored
2389	// in
2390	// this table. Timestamps not matching the granularity will be
2391	// rejected.
2392	// If unspecified at creation time, the value will be set to
2393	// `MILLIS`.
2394	// Views: `SCHEMA_VIEW`, `FULL`.
2395	//
2396	// Possible values:
2397	//   "TIMESTAMP_GRANULARITY_UNSPECIFIED" - The user did not specify a
2398	// granularity. Should not be returned.
2399	// When specified during table creation, MILLIS will be used.
2400	//   "MILLIS" - The table keeps data versioned at a granularity of 1ms.
2401	Granularity string `json:"granularity,omitempty"`
2402
2403	// Name: Output only. The unique name of the table. Values are of the
2404	// form
2405	// `projects/<project>/instances/<instance>/tables/_a-zA-Z0-9*`.
2406	// Vie
2407	// ws: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
2408	Name string `json:"name,omitempty"`
2409
2410	// ServerResponse contains the HTTP response code and headers from the
2411	// server.
2412	googleapi.ServerResponse `json:"-"`
2413
2414	// ForceSendFields is a list of field names (e.g. "ClusterStates") to
2415	// unconditionally include in API requests. By default, fields with
2416	// empty values are omitted from API requests. However, any non-pointer,
2417	// non-interface field appearing in ForceSendFields will be sent to the
2418	// server regardless of whether the field is empty or not. This may be
2419	// used to include empty fields in Patch requests.
2420	ForceSendFields []string `json:"-"`
2421
2422	// NullFields is a list of field names (e.g. "ClusterStates") to include
2423	// in API requests with the JSON null value. By default, fields with
2424	// empty values are omitted from API requests. However, any field with
2425	// an empty value appearing in NullFields will be sent to the server as
2426	// null. It is an error if a field in this list has a non-empty value.
2427	// This may be used to include null fields in Patch requests.
2428	NullFields []string `json:"-"`
2429}
2430
2431func (s *Table) MarshalJSON() ([]byte, error) {
2432	type NoMethod Table
2433	raw := NoMethod(*s)
2434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2435}
2436
2437// TableProgress: Progress info for copying a table's data to the new
2438// cluster.
2439type TableProgress struct {
2440	// EstimatedCopiedBytes: Estimate of the number of bytes copied so far
2441	// for this table.
2442	// This will eventually reach 'estimated_size_bytes' unless the table
2443	// copy
2444	// is CANCELLED.
2445	EstimatedCopiedBytes int64 `json:"estimatedCopiedBytes,omitempty,string"`
2446
2447	// EstimatedSizeBytes: Estimate of the size of the table to be copied.
2448	EstimatedSizeBytes int64 `json:"estimatedSizeBytes,omitempty,string"`
2449
2450	// Possible values:
2451	//   "STATE_UNSPECIFIED"
2452	//   "PENDING" - The table has not yet begun copying to the new cluster.
2453	//   "COPYING" - The table is actively being copied to the new cluster.
2454	//   "COMPLETED" - The table has been fully copied to the new cluster.
2455	//   "CANCELLED" - The table was deleted before it finished copying to
2456	// the new cluster.
2457	// Note that tables deleted after completion will stay marked
2458	// as
2459	// COMPLETED, not CANCELLED.
2460	State string `json:"state,omitempty"`
2461
2462	// ForceSendFields is a list of field names (e.g.
2463	// "EstimatedCopiedBytes") to unconditionally include in API requests.
2464	// By default, fields with empty values are omitted from API requests.
2465	// However, any non-pointer, non-interface field appearing in
2466	// ForceSendFields will be sent to the server regardless of whether the
2467	// field is empty or not. This may be used to include empty fields in
2468	// Patch requests.
2469	ForceSendFields []string `json:"-"`
2470
2471	// NullFields is a list of field names (e.g. "EstimatedCopiedBytes") to
2472	// include in API requests with the JSON null value. By default, fields
2473	// with empty values are omitted from API requests. However, any field
2474	// with an empty value appearing in NullFields will be sent to the
2475	// server as null. It is an error if a field in this list has a
2476	// non-empty value. This may be used to include null fields in Patch
2477	// requests.
2478	NullFields []string `json:"-"`
2479}
2480
2481func (s *TableProgress) MarshalJSON() ([]byte, error) {
2482	type NoMethod TableProgress
2483	raw := NoMethod(*s)
2484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2485}
2486
2487// TestIamPermissionsRequest: Request message for `TestIamPermissions`
2488// method.
2489type TestIamPermissionsRequest struct {
2490	// Permissions: The set of permissions to check for the `resource`.
2491	// Permissions with
2492	// wildcards (such as '*' or 'storage.*') are not allowed. For
2493	// more
2494	// information see
2495	// [IAM
2496	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
2497	Permissions []string `json:"permissions,omitempty"`
2498
2499	// ForceSendFields is a list of field names (e.g. "Permissions") to
2500	// unconditionally include in API requests. By default, fields with
2501	// empty values are omitted from API requests. However, any non-pointer,
2502	// non-interface field appearing in ForceSendFields will be sent to the
2503	// server regardless of whether the field is empty or not. This may be
2504	// used to include empty fields in Patch requests.
2505	ForceSendFields []string `json:"-"`
2506
2507	// NullFields is a list of field names (e.g. "Permissions") to include
2508	// in API requests with the JSON null value. By default, fields with
2509	// empty values are omitted from API requests. However, any field with
2510	// an empty value appearing in NullFields will be sent to the server as
2511	// null. It is an error if a field in this list has a non-empty value.
2512	// This may be used to include null fields in Patch requests.
2513	NullFields []string `json:"-"`
2514}
2515
2516func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
2517	type NoMethod TestIamPermissionsRequest
2518	raw := NoMethod(*s)
2519	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2520}
2521
2522// TestIamPermissionsResponse: Response message for `TestIamPermissions`
2523// method.
2524type TestIamPermissionsResponse struct {
2525	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2526	// the caller is
2527	// allowed.
2528	Permissions []string `json:"permissions,omitempty"`
2529
2530	// ServerResponse contains the HTTP response code and headers from the
2531	// server.
2532	googleapi.ServerResponse `json:"-"`
2533
2534	// ForceSendFields is a list of field names (e.g. "Permissions") to
2535	// unconditionally include in API requests. By default, fields with
2536	// empty values are omitted from API requests. However, any non-pointer,
2537	// non-interface field appearing in ForceSendFields will be sent to the
2538	// server regardless of whether the field is empty or not. This may be
2539	// used to include empty fields in Patch requests.
2540	ForceSendFields []string `json:"-"`
2541
2542	// NullFields is a list of field names (e.g. "Permissions") to include
2543	// in API requests with the JSON null value. By default, fields with
2544	// empty values are omitted from API requests. However, any field with
2545	// an empty value appearing in NullFields will be sent to the server as
2546	// null. It is an error if a field in this list has a non-empty value.
2547	// This may be used to include null fields in Patch requests.
2548	NullFields []string `json:"-"`
2549}
2550
2551func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
2552	type NoMethod TestIamPermissionsResponse
2553	raw := NoMethod(*s)
2554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2555}
2556
2557// Union: A GcRule which deletes cells matching any of the given rules.
2558type Union struct {
2559	// Rules: Delete cells which would be deleted by any element of `rules`.
2560	Rules []*GcRule `json:"rules,omitempty"`
2561
2562	// ForceSendFields is a list of field names (e.g. "Rules") to
2563	// unconditionally include in API requests. By default, fields with
2564	// empty values are omitted from API requests. However, any non-pointer,
2565	// non-interface field appearing in ForceSendFields will be sent to the
2566	// server regardless of whether the field is empty or not. This may be
2567	// used to include empty fields in Patch requests.
2568	ForceSendFields []string `json:"-"`
2569
2570	// NullFields is a list of field names (e.g. "Rules") to include in API
2571	// requests with the JSON null value. By default, fields with empty
2572	// values are omitted from API requests. However, any field with an
2573	// empty value appearing in NullFields will be sent to the server as
2574	// null. It is an error if a field in this list has a non-empty value.
2575	// This may be used to include null fields in Patch requests.
2576	NullFields []string `json:"-"`
2577}
2578
2579func (s *Union) MarshalJSON() ([]byte, error) {
2580	type NoMethod Union
2581	raw := NoMethod(*s)
2582	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2583}
2584
2585// UpdateAppProfileMetadata: The metadata for the Operation returned by
2586// UpdateAppProfile.
2587type UpdateAppProfileMetadata struct {
2588}
2589
2590// UpdateClusterMetadata: The metadata for the Operation returned by
2591// UpdateCluster.
2592type UpdateClusterMetadata struct {
2593	// FinishTime: The time at which the operation failed or was completed
2594	// successfully.
2595	FinishTime string `json:"finishTime,omitempty"`
2596
2597	// OriginalRequest: The request that prompted the initiation of this
2598	// UpdateCluster operation.
2599	OriginalRequest *Cluster `json:"originalRequest,omitempty"`
2600
2601	// RequestTime: The time at which the original request was received.
2602	RequestTime string `json:"requestTime,omitempty"`
2603
2604	// ForceSendFields is a list of field names (e.g. "FinishTime") to
2605	// unconditionally include in API requests. By default, fields with
2606	// empty values are omitted from API requests. However, any non-pointer,
2607	// non-interface field appearing in ForceSendFields will be sent to the
2608	// server regardless of whether the field is empty or not. This may be
2609	// used to include empty fields in Patch requests.
2610	ForceSendFields []string `json:"-"`
2611
2612	// NullFields is a list of field names (e.g. "FinishTime") to include in
2613	// API requests with the JSON null value. By default, fields with empty
2614	// values are omitted from API requests. However, any field with an
2615	// empty value appearing in NullFields will be sent to the server as
2616	// null. It is an error if a field in this list has a non-empty value.
2617	// This may be used to include null fields in Patch requests.
2618	NullFields []string `json:"-"`
2619}
2620
2621func (s *UpdateClusterMetadata) MarshalJSON() ([]byte, error) {
2622	type NoMethod UpdateClusterMetadata
2623	raw := NoMethod(*s)
2624	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2625}
2626
2627// UpdateInstanceMetadata: The metadata for the Operation returned by
2628// UpdateInstance.
2629type UpdateInstanceMetadata struct {
2630	// FinishTime: The time at which the operation failed or was completed
2631	// successfully.
2632	FinishTime string `json:"finishTime,omitempty"`
2633
2634	// OriginalRequest: The request that prompted the initiation of this
2635	// UpdateInstance operation.
2636	OriginalRequest *PartialUpdateInstanceRequest `json:"originalRequest,omitempty"`
2637
2638	// RequestTime: The time at which the original request was received.
2639	RequestTime string `json:"requestTime,omitempty"`
2640
2641	// ForceSendFields is a list of field names (e.g. "FinishTime") to
2642	// unconditionally include in API requests. By default, fields with
2643	// empty values are omitted from API requests. However, any non-pointer,
2644	// non-interface field appearing in ForceSendFields will be sent to the
2645	// server regardless of whether the field is empty or not. This may be
2646	// used to include empty fields in Patch requests.
2647	ForceSendFields []string `json:"-"`
2648
2649	// NullFields is a list of field names (e.g. "FinishTime") to include in
2650	// API requests with the JSON null value. By default, fields with empty
2651	// values are omitted from API requests. However, any field with an
2652	// empty value appearing in NullFields will be sent to the server as
2653	// null. It is an error if a field in this list has a non-empty value.
2654	// This may be used to include null fields in Patch requests.
2655	NullFields []string `json:"-"`
2656}
2657
2658func (s *UpdateInstanceMetadata) MarshalJSON() ([]byte, error) {
2659	type NoMethod UpdateInstanceMetadata
2660	raw := NoMethod(*s)
2661	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2662}
2663
2664// method id "bigtableadmin.operations.cancel":
2665
2666type OperationsCancelCall struct {
2667	s          *Service
2668	name       string
2669	urlParams_ gensupport.URLParams
2670	ctx_       context.Context
2671	header_    http.Header
2672}
2673
2674// Cancel: Starts asynchronous cancellation on a long-running operation.
2675//  The server
2676// makes a best effort to cancel the operation, but success is
2677// not
2678// guaranteed.  If the server doesn't support this method, it
2679// returns
2680// `google.rpc.Code.UNIMPLEMENTED`.  Clients can
2681// use
2682// Operations.GetOperation or
2683// other methods to check whether the cancellation succeeded or whether
2684// the
2685// operation completed despite cancellation. On successful
2686// cancellation,
2687// the operation is not deleted; instead, it becomes an operation
2688// with
2689// an Operation.error value with a google.rpc.Status.code of
2690// 1,
2691// corresponding to `Code.CANCELLED`.
2692func (r *OperationsService) Cancel(name string) *OperationsCancelCall {
2693	c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2694	c.name = name
2695	return c
2696}
2697
2698// Fields allows partial responses to be retrieved. See
2699// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2700// for more information.
2701func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall {
2702	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2703	return c
2704}
2705
2706// Context sets the context to be used in this call's Do method. Any
2707// pending HTTP request will be aborted if the provided context is
2708// canceled.
2709func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall {
2710	c.ctx_ = ctx
2711	return c
2712}
2713
2714// Header returns an http.Header that can be modified by the caller to
2715// add HTTP headers to the request.
2716func (c *OperationsCancelCall) Header() http.Header {
2717	if c.header_ == nil {
2718		c.header_ = make(http.Header)
2719	}
2720	return c.header_
2721}
2722
2723func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
2724	reqHeaders := make(http.Header)
2725	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
2726	for k, v := range c.header_ {
2727		reqHeaders[k] = v
2728	}
2729	reqHeaders.Set("User-Agent", c.s.userAgent())
2730	var body io.Reader = nil
2731	c.urlParams_.Set("alt", alt)
2732	c.urlParams_.Set("prettyPrint", "false")
2733	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:cancel")
2734	urls += "?" + c.urlParams_.Encode()
2735	req, err := http.NewRequest("POST", urls, body)
2736	if err != nil {
2737		return nil, err
2738	}
2739	req.Header = reqHeaders
2740	googleapi.Expand(req.URL, map[string]string{
2741		"name": c.name,
2742	})
2743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2744}
2745
2746// Do executes the "bigtableadmin.operations.cancel" call.
2747// Exactly one of *Empty or error will be non-nil. Any non-2xx status
2748// code is an error. Response headers are in either
2749// *Empty.ServerResponse.Header or (if a response was returned at all)
2750// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2751// check whether the returned error was because http.StatusNotModified
2752// was returned.
2753func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
2754	gensupport.SetOptions(c.urlParams_, opts...)
2755	res, err := c.doRequest("json")
2756	if res != nil && res.StatusCode == http.StatusNotModified {
2757		if res.Body != nil {
2758			res.Body.Close()
2759		}
2760		return nil, &googleapi.Error{
2761			Code:   res.StatusCode,
2762			Header: res.Header,
2763		}
2764	}
2765	if err != nil {
2766		return nil, err
2767	}
2768	defer googleapi.CloseBody(res)
2769	if err := googleapi.CheckResponse(res); err != nil {
2770		return nil, err
2771	}
2772	ret := &Empty{
2773		ServerResponse: googleapi.ServerResponse{
2774			Header:         res.Header,
2775			HTTPStatusCode: res.StatusCode,
2776		},
2777	}
2778	target := &ret
2779	if err := gensupport.DecodeResponse(target, res); err != nil {
2780		return nil, err
2781	}
2782	return ret, nil
2783	// {
2784	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
2785	//   "flatPath": "v2/operations/{operationsId}:cancel",
2786	//   "httpMethod": "POST",
2787	//   "id": "bigtableadmin.operations.cancel",
2788	//   "parameterOrder": [
2789	//     "name"
2790	//   ],
2791	//   "parameters": {
2792	//     "name": {
2793	//       "description": "The name of the operation resource to be cancelled.",
2794	//       "location": "path",
2795	//       "pattern": "^operations/.+$",
2796	//       "required": true,
2797	//       "type": "string"
2798	//     }
2799	//   },
2800	//   "path": "v2/{+name}:cancel",
2801	//   "response": {
2802	//     "$ref": "Empty"
2803	//   },
2804	//   "scopes": [
2805	//     "https://www.googleapis.com/auth/bigtable.admin",
2806	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
2807	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
2808	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
2809	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
2810	//     "https://www.googleapis.com/auth/cloud-platform"
2811	//   ]
2812	// }
2813
2814}
2815
2816// method id "bigtableadmin.operations.delete":
2817
2818type OperationsDeleteCall struct {
2819	s          *Service
2820	name       string
2821	urlParams_ gensupport.URLParams
2822	ctx_       context.Context
2823	header_    http.Header
2824}
2825
2826// Delete: Deletes a long-running operation. This method indicates that
2827// the client is
2828// no longer interested in the operation result. It does not cancel
2829// the
2830// operation. If the server doesn't support this method, it
2831// returns
2832// `google.rpc.Code.UNIMPLEMENTED`.
2833func (r *OperationsService) Delete(name string) *OperationsDeleteCall {
2834	c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2835	c.name = name
2836	return c
2837}
2838
2839// Fields allows partial responses to be retrieved. See
2840// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2841// for more information.
2842func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall {
2843	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2844	return c
2845}
2846
2847// Context sets the context to be used in this call's Do method. Any
2848// pending HTTP request will be aborted if the provided context is
2849// canceled.
2850func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall {
2851	c.ctx_ = ctx
2852	return c
2853}
2854
2855// Header returns an http.Header that can be modified by the caller to
2856// add HTTP headers to the request.
2857func (c *OperationsDeleteCall) Header() http.Header {
2858	if c.header_ == nil {
2859		c.header_ = make(http.Header)
2860	}
2861	return c.header_
2862}
2863
2864func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
2865	reqHeaders := make(http.Header)
2866	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
2867	for k, v := range c.header_ {
2868		reqHeaders[k] = v
2869	}
2870	reqHeaders.Set("User-Agent", c.s.userAgent())
2871	var body io.Reader = nil
2872	c.urlParams_.Set("alt", alt)
2873	c.urlParams_.Set("prettyPrint", "false")
2874	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
2875	urls += "?" + c.urlParams_.Encode()
2876	req, err := http.NewRequest("DELETE", urls, body)
2877	if err != nil {
2878		return nil, err
2879	}
2880	req.Header = reqHeaders
2881	googleapi.Expand(req.URL, map[string]string{
2882		"name": c.name,
2883	})
2884	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2885}
2886
2887// Do executes the "bigtableadmin.operations.delete" call.
2888// Exactly one of *Empty or error will be non-nil. Any non-2xx status
2889// code is an error. Response headers are in either
2890// *Empty.ServerResponse.Header or (if a response was returned at all)
2891// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
2892// check whether the returned error was because http.StatusNotModified
2893// was returned.
2894func (c *OperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
2895	gensupport.SetOptions(c.urlParams_, opts...)
2896	res, err := c.doRequest("json")
2897	if res != nil && res.StatusCode == http.StatusNotModified {
2898		if res.Body != nil {
2899			res.Body.Close()
2900		}
2901		return nil, &googleapi.Error{
2902			Code:   res.StatusCode,
2903			Header: res.Header,
2904		}
2905	}
2906	if err != nil {
2907		return nil, err
2908	}
2909	defer googleapi.CloseBody(res)
2910	if err := googleapi.CheckResponse(res); err != nil {
2911		return nil, err
2912	}
2913	ret := &Empty{
2914		ServerResponse: googleapi.ServerResponse{
2915			Header:         res.Header,
2916			HTTPStatusCode: res.StatusCode,
2917		},
2918	}
2919	target := &ret
2920	if err := gensupport.DecodeResponse(target, res); err != nil {
2921		return nil, err
2922	}
2923	return ret, nil
2924	// {
2925	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
2926	//   "flatPath": "v2/operations/{operationsId}",
2927	//   "httpMethod": "DELETE",
2928	//   "id": "bigtableadmin.operations.delete",
2929	//   "parameterOrder": [
2930	//     "name"
2931	//   ],
2932	//   "parameters": {
2933	//     "name": {
2934	//       "description": "The name of the operation resource to be deleted.",
2935	//       "location": "path",
2936	//       "pattern": "^operations/.+$",
2937	//       "required": true,
2938	//       "type": "string"
2939	//     }
2940	//   },
2941	//   "path": "v2/{+name}",
2942	//   "response": {
2943	//     "$ref": "Empty"
2944	//   },
2945	//   "scopes": [
2946	//     "https://www.googleapis.com/auth/bigtable.admin",
2947	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
2948	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
2949	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
2950	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
2951	//     "https://www.googleapis.com/auth/cloud-platform"
2952	//   ]
2953	// }
2954
2955}
2956
2957// method id "bigtableadmin.operations.get":
2958
2959type OperationsGetCall struct {
2960	s            *Service
2961	name         string
2962	urlParams_   gensupport.URLParams
2963	ifNoneMatch_ string
2964	ctx_         context.Context
2965	header_      http.Header
2966}
2967
2968// Get: Gets the latest state of a long-running operation.  Clients can
2969// use this
2970// method to poll the operation result at intervals as recommended by
2971// the API
2972// service.
2973func (r *OperationsService) Get(name string) *OperationsGetCall {
2974	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2975	c.name = name
2976	return c
2977}
2978
2979// Fields allows partial responses to be retrieved. See
2980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2981// for more information.
2982func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
2983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2984	return c
2985}
2986
2987// IfNoneMatch sets the optional parameter which makes the operation
2988// fail if the object's ETag matches the given value. This is useful for
2989// getting updates only after the object has changed since the last
2990// request. Use googleapi.IsNotModified to check whether the response
2991// error from Do is the result of In-None-Match.
2992func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
2993	c.ifNoneMatch_ = entityTag
2994	return c
2995}
2996
2997// Context sets the context to be used in this call's Do method. Any
2998// pending HTTP request will be aborted if the provided context is
2999// canceled.
3000func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
3001	c.ctx_ = ctx
3002	return c
3003}
3004
3005// Header returns an http.Header that can be modified by the caller to
3006// add HTTP headers to the request.
3007func (c *OperationsGetCall) Header() http.Header {
3008	if c.header_ == nil {
3009		c.header_ = make(http.Header)
3010	}
3011	return c.header_
3012}
3013
3014func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
3015	reqHeaders := make(http.Header)
3016	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3017	for k, v := range c.header_ {
3018		reqHeaders[k] = v
3019	}
3020	reqHeaders.Set("User-Agent", c.s.userAgent())
3021	if c.ifNoneMatch_ != "" {
3022		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3023	}
3024	var body io.Reader = nil
3025	c.urlParams_.Set("alt", alt)
3026	c.urlParams_.Set("prettyPrint", "false")
3027	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
3028	urls += "?" + c.urlParams_.Encode()
3029	req, err := http.NewRequest("GET", urls, body)
3030	if err != nil {
3031		return nil, err
3032	}
3033	req.Header = reqHeaders
3034	googleapi.Expand(req.URL, map[string]string{
3035		"name": c.name,
3036	})
3037	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3038}
3039
3040// Do executes the "bigtableadmin.operations.get" call.
3041// Exactly one of *Operation or error will be non-nil. Any non-2xx
3042// status code is an error. Response headers are in either
3043// *Operation.ServerResponse.Header or (if a response was returned at
3044// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3045// to check whether the returned error was because
3046// http.StatusNotModified was returned.
3047func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3048	gensupport.SetOptions(c.urlParams_, opts...)
3049	res, err := c.doRequest("json")
3050	if res != nil && res.StatusCode == http.StatusNotModified {
3051		if res.Body != nil {
3052			res.Body.Close()
3053		}
3054		return nil, &googleapi.Error{
3055			Code:   res.StatusCode,
3056			Header: res.Header,
3057		}
3058	}
3059	if err != nil {
3060		return nil, err
3061	}
3062	defer googleapi.CloseBody(res)
3063	if err := googleapi.CheckResponse(res); err != nil {
3064		return nil, err
3065	}
3066	ret := &Operation{
3067		ServerResponse: googleapi.ServerResponse{
3068			Header:         res.Header,
3069			HTTPStatusCode: res.StatusCode,
3070		},
3071	}
3072	target := &ret
3073	if err := gensupport.DecodeResponse(target, res); err != nil {
3074		return nil, err
3075	}
3076	return ret, nil
3077	// {
3078	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
3079	//   "flatPath": "v2/operations/{operationsId}",
3080	//   "httpMethod": "GET",
3081	//   "id": "bigtableadmin.operations.get",
3082	//   "parameterOrder": [
3083	//     "name"
3084	//   ],
3085	//   "parameters": {
3086	//     "name": {
3087	//       "description": "The name of the operation resource.",
3088	//       "location": "path",
3089	//       "pattern": "^operations/.+$",
3090	//       "required": true,
3091	//       "type": "string"
3092	//     }
3093	//   },
3094	//   "path": "v2/{+name}",
3095	//   "response": {
3096	//     "$ref": "Operation"
3097	//   },
3098	//   "scopes": [
3099	//     "https://www.googleapis.com/auth/bigtable.admin",
3100	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3101	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3102	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3103	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3104	//     "https://www.googleapis.com/auth/cloud-platform",
3105	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
3106	//   ]
3107	// }
3108
3109}
3110
3111// method id "bigtableadmin.operations.projects.operations.list":
3112
3113type OperationsProjectsOperationsListCall struct {
3114	s            *Service
3115	name         string
3116	urlParams_   gensupport.URLParams
3117	ifNoneMatch_ string
3118	ctx_         context.Context
3119	header_      http.Header
3120}
3121
3122// List: Lists operations that match the specified filter in the
3123// request. If the
3124// server doesn't support this method, it returns
3125// `UNIMPLEMENTED`.
3126//
3127// NOTE: the `name` binding allows API services to override the
3128// binding
3129// to use different resource name schemes, such as `users/*/operations`.
3130// To
3131// override the binding, API services can add a binding such
3132// as
3133// "/v1/{name=users/*}/operations" to their service configuration.
3134// For backwards compatibility, the default name includes the
3135// operations
3136// collection id, however overriding users must ensure the name
3137// binding
3138// is the parent resource, without the operations collection id.
3139func (r *OperationsProjectsOperationsService) List(name string) *OperationsProjectsOperationsListCall {
3140	c := &OperationsProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3141	c.name = name
3142	return c
3143}
3144
3145// Filter sets the optional parameter "filter": The standard list
3146// filter.
3147func (c *OperationsProjectsOperationsListCall) Filter(filter string) *OperationsProjectsOperationsListCall {
3148	c.urlParams_.Set("filter", filter)
3149	return c
3150}
3151
3152// PageSize sets the optional parameter "pageSize": The standard list
3153// page size.
3154func (c *OperationsProjectsOperationsListCall) PageSize(pageSize int64) *OperationsProjectsOperationsListCall {
3155	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3156	return c
3157}
3158
3159// PageToken sets the optional parameter "pageToken": The standard list
3160// page token.
3161func (c *OperationsProjectsOperationsListCall) PageToken(pageToken string) *OperationsProjectsOperationsListCall {
3162	c.urlParams_.Set("pageToken", pageToken)
3163	return c
3164}
3165
3166// Fields allows partial responses to be retrieved. See
3167// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3168// for more information.
3169func (c *OperationsProjectsOperationsListCall) Fields(s ...googleapi.Field) *OperationsProjectsOperationsListCall {
3170	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3171	return c
3172}
3173
3174// IfNoneMatch sets the optional parameter which makes the operation
3175// fail if the object's ETag matches the given value. This is useful for
3176// getting updates only after the object has changed since the last
3177// request. Use googleapi.IsNotModified to check whether the response
3178// error from Do is the result of In-None-Match.
3179func (c *OperationsProjectsOperationsListCall) IfNoneMatch(entityTag string) *OperationsProjectsOperationsListCall {
3180	c.ifNoneMatch_ = entityTag
3181	return c
3182}
3183
3184// Context sets the context to be used in this call's Do method. Any
3185// pending HTTP request will be aborted if the provided context is
3186// canceled.
3187func (c *OperationsProjectsOperationsListCall) Context(ctx context.Context) *OperationsProjectsOperationsListCall {
3188	c.ctx_ = ctx
3189	return c
3190}
3191
3192// Header returns an http.Header that can be modified by the caller to
3193// add HTTP headers to the request.
3194func (c *OperationsProjectsOperationsListCall) Header() http.Header {
3195	if c.header_ == nil {
3196		c.header_ = make(http.Header)
3197	}
3198	return c.header_
3199}
3200
3201func (c *OperationsProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
3202	reqHeaders := make(http.Header)
3203	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3204	for k, v := range c.header_ {
3205		reqHeaders[k] = v
3206	}
3207	reqHeaders.Set("User-Agent", c.s.userAgent())
3208	if c.ifNoneMatch_ != "" {
3209		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3210	}
3211	var body io.Reader = nil
3212	c.urlParams_.Set("alt", alt)
3213	c.urlParams_.Set("prettyPrint", "false")
3214	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/operations")
3215	urls += "?" + c.urlParams_.Encode()
3216	req, err := http.NewRequest("GET", urls, body)
3217	if err != nil {
3218		return nil, err
3219	}
3220	req.Header = reqHeaders
3221	googleapi.Expand(req.URL, map[string]string{
3222		"name": c.name,
3223	})
3224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3225}
3226
3227// Do executes the "bigtableadmin.operations.projects.operations.list" call.
3228// Exactly one of *ListOperationsResponse or error will be non-nil. Any
3229// non-2xx status code is an error. Response headers are in either
3230// *ListOperationsResponse.ServerResponse.Header or (if a response was
3231// returned at all) in error.(*googleapi.Error).Header. Use
3232// googleapi.IsNotModified to check whether the returned error was
3233// because http.StatusNotModified was returned.
3234func (c *OperationsProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
3235	gensupport.SetOptions(c.urlParams_, opts...)
3236	res, err := c.doRequest("json")
3237	if res != nil && res.StatusCode == http.StatusNotModified {
3238		if res.Body != nil {
3239			res.Body.Close()
3240		}
3241		return nil, &googleapi.Error{
3242			Code:   res.StatusCode,
3243			Header: res.Header,
3244		}
3245	}
3246	if err != nil {
3247		return nil, err
3248	}
3249	defer googleapi.CloseBody(res)
3250	if err := googleapi.CheckResponse(res); err != nil {
3251		return nil, err
3252	}
3253	ret := &ListOperationsResponse{
3254		ServerResponse: googleapi.ServerResponse{
3255			Header:         res.Header,
3256			HTTPStatusCode: res.StatusCode,
3257		},
3258	}
3259	target := &ret
3260	if err := gensupport.DecodeResponse(target, res); err != nil {
3261		return nil, err
3262	}
3263	return ret, nil
3264	// {
3265	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
3266	//   "flatPath": "v2/operations/projects/{projectsId}/operations",
3267	//   "httpMethod": "GET",
3268	//   "id": "bigtableadmin.operations.projects.operations.list",
3269	//   "parameterOrder": [
3270	//     "name"
3271	//   ],
3272	//   "parameters": {
3273	//     "filter": {
3274	//       "description": "The standard list filter.",
3275	//       "location": "query",
3276	//       "type": "string"
3277	//     },
3278	//     "name": {
3279	//       "description": "The name of the operation's parent resource.",
3280	//       "location": "path",
3281	//       "pattern": "^operations/projects/.+$",
3282	//       "required": true,
3283	//       "type": "string"
3284	//     },
3285	//     "pageSize": {
3286	//       "description": "The standard list page size.",
3287	//       "format": "int32",
3288	//       "location": "query",
3289	//       "type": "integer"
3290	//     },
3291	//     "pageToken": {
3292	//       "description": "The standard list page token.",
3293	//       "location": "query",
3294	//       "type": "string"
3295	//     }
3296	//   },
3297	//   "path": "v2/{+name}/operations",
3298	//   "response": {
3299	//     "$ref": "ListOperationsResponse"
3300	//   },
3301	//   "scopes": [
3302	//     "https://www.googleapis.com/auth/bigtable.admin",
3303	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3304	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3305	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3306	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3307	//     "https://www.googleapis.com/auth/cloud-platform",
3308	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
3309	//   ]
3310	// }
3311
3312}
3313
3314// Pages invokes f for each page of results.
3315// A non-nil error returned from f will halt the iteration.
3316// The provided context supersedes any context provided to the Context method.
3317func (c *OperationsProjectsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
3318	c.ctx_ = ctx
3319	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3320	for {
3321		x, err := c.Do()
3322		if err != nil {
3323			return err
3324		}
3325		if err := f(x); err != nil {
3326			return err
3327		}
3328		if x.NextPageToken == "" {
3329			return nil
3330		}
3331		c.PageToken(x.NextPageToken)
3332	}
3333}
3334
3335// method id "bigtableadmin.projects.instances.create":
3336
3337type ProjectsInstancesCreateCall struct {
3338	s                     *Service
3339	parent                string
3340	createinstancerequest *CreateInstanceRequest
3341	urlParams_            gensupport.URLParams
3342	ctx_                  context.Context
3343	header_               http.Header
3344}
3345
3346// Create: Create an instance within a project.
3347func (r *ProjectsInstancesService) Create(parent string, createinstancerequest *CreateInstanceRequest) *ProjectsInstancesCreateCall {
3348	c := &ProjectsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3349	c.parent = parent
3350	c.createinstancerequest = createinstancerequest
3351	return c
3352}
3353
3354// Fields allows partial responses to be retrieved. See
3355// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3356// for more information.
3357func (c *ProjectsInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesCreateCall {
3358	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3359	return c
3360}
3361
3362// Context sets the context to be used in this call's Do method. Any
3363// pending HTTP request will be aborted if the provided context is
3364// canceled.
3365func (c *ProjectsInstancesCreateCall) Context(ctx context.Context) *ProjectsInstancesCreateCall {
3366	c.ctx_ = ctx
3367	return c
3368}
3369
3370// Header returns an http.Header that can be modified by the caller to
3371// add HTTP headers to the request.
3372func (c *ProjectsInstancesCreateCall) Header() http.Header {
3373	if c.header_ == nil {
3374		c.header_ = make(http.Header)
3375	}
3376	return c.header_
3377}
3378
3379func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
3380	reqHeaders := make(http.Header)
3381	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3382	for k, v := range c.header_ {
3383		reqHeaders[k] = v
3384	}
3385	reqHeaders.Set("User-Agent", c.s.userAgent())
3386	var body io.Reader = nil
3387	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createinstancerequest)
3388	if err != nil {
3389		return nil, err
3390	}
3391	reqHeaders.Set("Content-Type", "application/json")
3392	c.urlParams_.Set("alt", alt)
3393	c.urlParams_.Set("prettyPrint", "false")
3394	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/instances")
3395	urls += "?" + c.urlParams_.Encode()
3396	req, err := http.NewRequest("POST", urls, body)
3397	if err != nil {
3398		return nil, err
3399	}
3400	req.Header = reqHeaders
3401	googleapi.Expand(req.URL, map[string]string{
3402		"parent": c.parent,
3403	})
3404	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3405}
3406
3407// Do executes the "bigtableadmin.projects.instances.create" call.
3408// Exactly one of *Operation or error will be non-nil. Any non-2xx
3409// status code is an error. Response headers are in either
3410// *Operation.ServerResponse.Header or (if a response was returned at
3411// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3412// to check whether the returned error was because
3413// http.StatusNotModified was returned.
3414func (c *ProjectsInstancesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
3415	gensupport.SetOptions(c.urlParams_, opts...)
3416	res, err := c.doRequest("json")
3417	if res != nil && res.StatusCode == http.StatusNotModified {
3418		if res.Body != nil {
3419			res.Body.Close()
3420		}
3421		return nil, &googleapi.Error{
3422			Code:   res.StatusCode,
3423			Header: res.Header,
3424		}
3425	}
3426	if err != nil {
3427		return nil, err
3428	}
3429	defer googleapi.CloseBody(res)
3430	if err := googleapi.CheckResponse(res); err != nil {
3431		return nil, err
3432	}
3433	ret := &Operation{
3434		ServerResponse: googleapi.ServerResponse{
3435			Header:         res.Header,
3436			HTTPStatusCode: res.StatusCode,
3437		},
3438	}
3439	target := &ret
3440	if err := gensupport.DecodeResponse(target, res); err != nil {
3441		return nil, err
3442	}
3443	return ret, nil
3444	// {
3445	//   "description": "Create an instance within a project.",
3446	//   "flatPath": "v2/projects/{projectsId}/instances",
3447	//   "httpMethod": "POST",
3448	//   "id": "bigtableadmin.projects.instances.create",
3449	//   "parameterOrder": [
3450	//     "parent"
3451	//   ],
3452	//   "parameters": {
3453	//     "parent": {
3454	//       "description": "Required. The unique name of the project in which to create the new instance.\nValues are of the form `projects/{project}`.",
3455	//       "location": "path",
3456	//       "pattern": "^projects/[^/]+$",
3457	//       "required": true,
3458	//       "type": "string"
3459	//     }
3460	//   },
3461	//   "path": "v2/{+parent}/instances",
3462	//   "request": {
3463	//     "$ref": "CreateInstanceRequest"
3464	//   },
3465	//   "response": {
3466	//     "$ref": "Operation"
3467	//   },
3468	//   "scopes": [
3469	//     "https://www.googleapis.com/auth/bigtable.admin",
3470	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3471	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3472	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3473	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3474	//     "https://www.googleapis.com/auth/cloud-platform"
3475	//   ]
3476	// }
3477
3478}
3479
3480// method id "bigtableadmin.projects.instances.delete":
3481
3482type ProjectsInstancesDeleteCall struct {
3483	s          *Service
3484	name       string
3485	urlParams_ gensupport.URLParams
3486	ctx_       context.Context
3487	header_    http.Header
3488}
3489
3490// Delete: Delete an instance from a project.
3491func (r *ProjectsInstancesService) Delete(name string) *ProjectsInstancesDeleteCall {
3492	c := &ProjectsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3493	c.name = name
3494	return c
3495}
3496
3497// Fields allows partial responses to be retrieved. See
3498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3499// for more information.
3500func (c *ProjectsInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesDeleteCall {
3501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3502	return c
3503}
3504
3505// Context sets the context to be used in this call's Do method. Any
3506// pending HTTP request will be aborted if the provided context is
3507// canceled.
3508func (c *ProjectsInstancesDeleteCall) Context(ctx context.Context) *ProjectsInstancesDeleteCall {
3509	c.ctx_ = ctx
3510	return c
3511}
3512
3513// Header returns an http.Header that can be modified by the caller to
3514// add HTTP headers to the request.
3515func (c *ProjectsInstancesDeleteCall) Header() http.Header {
3516	if c.header_ == nil {
3517		c.header_ = make(http.Header)
3518	}
3519	return c.header_
3520}
3521
3522func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
3523	reqHeaders := make(http.Header)
3524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3525	for k, v := range c.header_ {
3526		reqHeaders[k] = v
3527	}
3528	reqHeaders.Set("User-Agent", c.s.userAgent())
3529	var body io.Reader = nil
3530	c.urlParams_.Set("alt", alt)
3531	c.urlParams_.Set("prettyPrint", "false")
3532	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
3533	urls += "?" + c.urlParams_.Encode()
3534	req, err := http.NewRequest("DELETE", urls, body)
3535	if err != nil {
3536		return nil, err
3537	}
3538	req.Header = reqHeaders
3539	googleapi.Expand(req.URL, map[string]string{
3540		"name": c.name,
3541	})
3542	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3543}
3544
3545// Do executes the "bigtableadmin.projects.instances.delete" call.
3546// Exactly one of *Empty or error will be non-nil. Any non-2xx status
3547// code is an error. Response headers are in either
3548// *Empty.ServerResponse.Header or (if a response was returned at all)
3549// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3550// check whether the returned error was because http.StatusNotModified
3551// was returned.
3552func (c *ProjectsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
3553	gensupport.SetOptions(c.urlParams_, opts...)
3554	res, err := c.doRequest("json")
3555	if res != nil && res.StatusCode == http.StatusNotModified {
3556		if res.Body != nil {
3557			res.Body.Close()
3558		}
3559		return nil, &googleapi.Error{
3560			Code:   res.StatusCode,
3561			Header: res.Header,
3562		}
3563	}
3564	if err != nil {
3565		return nil, err
3566	}
3567	defer googleapi.CloseBody(res)
3568	if err := googleapi.CheckResponse(res); err != nil {
3569		return nil, err
3570	}
3571	ret := &Empty{
3572		ServerResponse: googleapi.ServerResponse{
3573			Header:         res.Header,
3574			HTTPStatusCode: res.StatusCode,
3575		},
3576	}
3577	target := &ret
3578	if err := gensupport.DecodeResponse(target, res); err != nil {
3579		return nil, err
3580	}
3581	return ret, nil
3582	// {
3583	//   "description": "Delete an instance from a project.",
3584	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}",
3585	//   "httpMethod": "DELETE",
3586	//   "id": "bigtableadmin.projects.instances.delete",
3587	//   "parameterOrder": [
3588	//     "name"
3589	//   ],
3590	//   "parameters": {
3591	//     "name": {
3592	//       "description": "Required. The unique name of the instance to be deleted.\nValues are of the form `projects/{project}/instances/{instance}`.",
3593	//       "location": "path",
3594	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
3595	//       "required": true,
3596	//       "type": "string"
3597	//     }
3598	//   },
3599	//   "path": "v2/{+name}",
3600	//   "response": {
3601	//     "$ref": "Empty"
3602	//   },
3603	//   "scopes": [
3604	//     "https://www.googleapis.com/auth/bigtable.admin",
3605	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3606	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3607	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3608	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3609	//     "https://www.googleapis.com/auth/cloud-platform"
3610	//   ]
3611	// }
3612
3613}
3614
3615// method id "bigtableadmin.projects.instances.get":
3616
3617type ProjectsInstancesGetCall struct {
3618	s            *Service
3619	name         string
3620	urlParams_   gensupport.URLParams
3621	ifNoneMatch_ string
3622	ctx_         context.Context
3623	header_      http.Header
3624}
3625
3626// Get: Gets information about an instance.
3627func (r *ProjectsInstancesService) Get(name string) *ProjectsInstancesGetCall {
3628	c := &ProjectsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3629	c.name = name
3630	return c
3631}
3632
3633// Fields allows partial responses to be retrieved. See
3634// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3635// for more information.
3636func (c *ProjectsInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetCall {
3637	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3638	return c
3639}
3640
3641// IfNoneMatch sets the optional parameter which makes the operation
3642// fail if the object's ETag matches the given value. This is useful for
3643// getting updates only after the object has changed since the last
3644// request. Use googleapi.IsNotModified to check whether the response
3645// error from Do is the result of In-None-Match.
3646func (c *ProjectsInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetCall {
3647	c.ifNoneMatch_ = entityTag
3648	return c
3649}
3650
3651// Context sets the context to be used in this call's Do method. Any
3652// pending HTTP request will be aborted if the provided context is
3653// canceled.
3654func (c *ProjectsInstancesGetCall) Context(ctx context.Context) *ProjectsInstancesGetCall {
3655	c.ctx_ = ctx
3656	return c
3657}
3658
3659// Header returns an http.Header that can be modified by the caller to
3660// add HTTP headers to the request.
3661func (c *ProjectsInstancesGetCall) Header() http.Header {
3662	if c.header_ == nil {
3663		c.header_ = make(http.Header)
3664	}
3665	return c.header_
3666}
3667
3668func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
3669	reqHeaders := make(http.Header)
3670	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3671	for k, v := range c.header_ {
3672		reqHeaders[k] = v
3673	}
3674	reqHeaders.Set("User-Agent", c.s.userAgent())
3675	if c.ifNoneMatch_ != "" {
3676		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3677	}
3678	var body io.Reader = nil
3679	c.urlParams_.Set("alt", alt)
3680	c.urlParams_.Set("prettyPrint", "false")
3681	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
3682	urls += "?" + c.urlParams_.Encode()
3683	req, err := http.NewRequest("GET", urls, body)
3684	if err != nil {
3685		return nil, err
3686	}
3687	req.Header = reqHeaders
3688	googleapi.Expand(req.URL, map[string]string{
3689		"name": c.name,
3690	})
3691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3692}
3693
3694// Do executes the "bigtableadmin.projects.instances.get" call.
3695// Exactly one of *Instance or error will be non-nil. Any non-2xx status
3696// code is an error. Response headers are in either
3697// *Instance.ServerResponse.Header or (if a response was returned at
3698// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
3699// to check whether the returned error was because
3700// http.StatusNotModified was returned.
3701func (c *ProjectsInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
3702	gensupport.SetOptions(c.urlParams_, opts...)
3703	res, err := c.doRequest("json")
3704	if res != nil && res.StatusCode == http.StatusNotModified {
3705		if res.Body != nil {
3706			res.Body.Close()
3707		}
3708		return nil, &googleapi.Error{
3709			Code:   res.StatusCode,
3710			Header: res.Header,
3711		}
3712	}
3713	if err != nil {
3714		return nil, err
3715	}
3716	defer googleapi.CloseBody(res)
3717	if err := googleapi.CheckResponse(res); err != nil {
3718		return nil, err
3719	}
3720	ret := &Instance{
3721		ServerResponse: googleapi.ServerResponse{
3722			Header:         res.Header,
3723			HTTPStatusCode: res.StatusCode,
3724		},
3725	}
3726	target := &ret
3727	if err := gensupport.DecodeResponse(target, res); err != nil {
3728		return nil, err
3729	}
3730	return ret, nil
3731	// {
3732	//   "description": "Gets information about an instance.",
3733	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}",
3734	//   "httpMethod": "GET",
3735	//   "id": "bigtableadmin.projects.instances.get",
3736	//   "parameterOrder": [
3737	//     "name"
3738	//   ],
3739	//   "parameters": {
3740	//     "name": {
3741	//       "description": "Required. The unique name of the requested instance. Values are of the form\n`projects/{project}/instances/{instance}`.",
3742	//       "location": "path",
3743	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
3744	//       "required": true,
3745	//       "type": "string"
3746	//     }
3747	//   },
3748	//   "path": "v2/{+name}",
3749	//   "response": {
3750	//     "$ref": "Instance"
3751	//   },
3752	//   "scopes": [
3753	//     "https://www.googleapis.com/auth/bigtable.admin",
3754	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3755	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3756	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3757	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3758	//     "https://www.googleapis.com/auth/cloud-platform",
3759	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
3760	//   ]
3761	// }
3762
3763}
3764
3765// method id "bigtableadmin.projects.instances.getIamPolicy":
3766
3767type ProjectsInstancesGetIamPolicyCall struct {
3768	s                   *Service
3769	resource            string
3770	getiampolicyrequest *GetIamPolicyRequest
3771	urlParams_          gensupport.URLParams
3772	ctx_                context.Context
3773	header_             http.Header
3774}
3775
3776// GetIamPolicy: Gets the access control policy for an instance
3777// resource. Returns an empty
3778// policy if an instance exists but does not have a policy set.
3779func (r *ProjectsInstancesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesGetIamPolicyCall {
3780	c := &ProjectsInstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3781	c.resource = resource
3782	c.getiampolicyrequest = getiampolicyrequest
3783	return c
3784}
3785
3786// Fields allows partial responses to be retrieved. See
3787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3788// for more information.
3789func (c *ProjectsInstancesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetIamPolicyCall {
3790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3791	return c
3792}
3793
3794// Context sets the context to be used in this call's Do method. Any
3795// pending HTTP request will be aborted if the provided context is
3796// canceled.
3797func (c *ProjectsInstancesGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesGetIamPolicyCall {
3798	c.ctx_ = ctx
3799	return c
3800}
3801
3802// Header returns an http.Header that can be modified by the caller to
3803// add HTTP headers to the request.
3804func (c *ProjectsInstancesGetIamPolicyCall) Header() http.Header {
3805	if c.header_ == nil {
3806		c.header_ = make(http.Header)
3807	}
3808	return c.header_
3809}
3810
3811func (c *ProjectsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3812	reqHeaders := make(http.Header)
3813	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3814	for k, v := range c.header_ {
3815		reqHeaders[k] = v
3816	}
3817	reqHeaders.Set("User-Agent", c.s.userAgent())
3818	var body io.Reader = nil
3819	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
3820	if err != nil {
3821		return nil, err
3822	}
3823	reqHeaders.Set("Content-Type", "application/json")
3824	c.urlParams_.Set("alt", alt)
3825	c.urlParams_.Set("prettyPrint", "false")
3826	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
3827	urls += "?" + c.urlParams_.Encode()
3828	req, err := http.NewRequest("POST", urls, body)
3829	if err != nil {
3830		return nil, err
3831	}
3832	req.Header = reqHeaders
3833	googleapi.Expand(req.URL, map[string]string{
3834		"resource": c.resource,
3835	})
3836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3837}
3838
3839// Do executes the "bigtableadmin.projects.instances.getIamPolicy" call.
3840// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3841// code is an error. Response headers are in either
3842// *Policy.ServerResponse.Header or (if a response was returned at all)
3843// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3844// check whether the returned error was because http.StatusNotModified
3845// was returned.
3846func (c *ProjectsInstancesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3847	gensupport.SetOptions(c.urlParams_, opts...)
3848	res, err := c.doRequest("json")
3849	if res != nil && res.StatusCode == http.StatusNotModified {
3850		if res.Body != nil {
3851			res.Body.Close()
3852		}
3853		return nil, &googleapi.Error{
3854			Code:   res.StatusCode,
3855			Header: res.Header,
3856		}
3857	}
3858	if err != nil {
3859		return nil, err
3860	}
3861	defer googleapi.CloseBody(res)
3862	if err := googleapi.CheckResponse(res); err != nil {
3863		return nil, err
3864	}
3865	ret := &Policy{
3866		ServerResponse: googleapi.ServerResponse{
3867			Header:         res.Header,
3868			HTTPStatusCode: res.StatusCode,
3869		},
3870	}
3871	target := &ret
3872	if err := gensupport.DecodeResponse(target, res); err != nil {
3873		return nil, err
3874	}
3875	return ret, nil
3876	// {
3877	//   "description": "Gets the access control policy for an instance resource. Returns an empty\npolicy if an instance exists but does not have a policy set.",
3878	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}:getIamPolicy",
3879	//   "httpMethod": "POST",
3880	//   "id": "bigtableadmin.projects.instances.getIamPolicy",
3881	//   "parameterOrder": [
3882	//     "resource"
3883	//   ],
3884	//   "parameters": {
3885	//     "resource": {
3886	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
3887	//       "location": "path",
3888	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
3889	//       "required": true,
3890	//       "type": "string"
3891	//     }
3892	//   },
3893	//   "path": "v2/{+resource}:getIamPolicy",
3894	//   "request": {
3895	//     "$ref": "GetIamPolicyRequest"
3896	//   },
3897	//   "response": {
3898	//     "$ref": "Policy"
3899	//   },
3900	//   "scopes": [
3901	//     "https://www.googleapis.com/auth/bigtable.admin",
3902	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
3903	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
3904	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
3905	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
3906	//     "https://www.googleapis.com/auth/cloud-platform"
3907	//   ]
3908	// }
3909
3910}
3911
3912// method id "bigtableadmin.projects.instances.list":
3913
3914type ProjectsInstancesListCall struct {
3915	s            *Service
3916	parent       string
3917	urlParams_   gensupport.URLParams
3918	ifNoneMatch_ string
3919	ctx_         context.Context
3920	header_      http.Header
3921}
3922
3923// List: Lists information about instances in a project.
3924func (r *ProjectsInstancesService) List(parent string) *ProjectsInstancesListCall {
3925	c := &ProjectsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3926	c.parent = parent
3927	return c
3928}
3929
3930// PageToken sets the optional parameter "pageToken": DEPRECATED: This
3931// field is unused and ignored.
3932func (c *ProjectsInstancesListCall) PageToken(pageToken string) *ProjectsInstancesListCall {
3933	c.urlParams_.Set("pageToken", pageToken)
3934	return c
3935}
3936
3937// Fields allows partial responses to be retrieved. See
3938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3939// for more information.
3940func (c *ProjectsInstancesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesListCall {
3941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3942	return c
3943}
3944
3945// IfNoneMatch sets the optional parameter which makes the operation
3946// fail if the object's ETag matches the given value. This is useful for
3947// getting updates only after the object has changed since the last
3948// request. Use googleapi.IsNotModified to check whether the response
3949// error from Do is the result of In-None-Match.
3950func (c *ProjectsInstancesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesListCall {
3951	c.ifNoneMatch_ = entityTag
3952	return c
3953}
3954
3955// Context sets the context to be used in this call's Do method. Any
3956// pending HTTP request will be aborted if the provided context is
3957// canceled.
3958func (c *ProjectsInstancesListCall) Context(ctx context.Context) *ProjectsInstancesListCall {
3959	c.ctx_ = ctx
3960	return c
3961}
3962
3963// Header returns an http.Header that can be modified by the caller to
3964// add HTTP headers to the request.
3965func (c *ProjectsInstancesListCall) Header() http.Header {
3966	if c.header_ == nil {
3967		c.header_ = make(http.Header)
3968	}
3969	return c.header_
3970}
3971
3972func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) {
3973	reqHeaders := make(http.Header)
3974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
3975	for k, v := range c.header_ {
3976		reqHeaders[k] = v
3977	}
3978	reqHeaders.Set("User-Agent", c.s.userAgent())
3979	if c.ifNoneMatch_ != "" {
3980		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3981	}
3982	var body io.Reader = nil
3983	c.urlParams_.Set("alt", alt)
3984	c.urlParams_.Set("prettyPrint", "false")
3985	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/instances")
3986	urls += "?" + c.urlParams_.Encode()
3987	req, err := http.NewRequest("GET", urls, body)
3988	if err != nil {
3989		return nil, err
3990	}
3991	req.Header = reqHeaders
3992	googleapi.Expand(req.URL, map[string]string{
3993		"parent": c.parent,
3994	})
3995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3996}
3997
3998// Do executes the "bigtableadmin.projects.instances.list" call.
3999// Exactly one of *ListInstancesResponse or error will be non-nil. Any
4000// non-2xx status code is an error. Response headers are in either
4001// *ListInstancesResponse.ServerResponse.Header or (if a response was
4002// returned at all) in error.(*googleapi.Error).Header. Use
4003// googleapi.IsNotModified to check whether the returned error was
4004// because http.StatusNotModified was returned.
4005func (c *ProjectsInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
4006	gensupport.SetOptions(c.urlParams_, opts...)
4007	res, err := c.doRequest("json")
4008	if res != nil && res.StatusCode == http.StatusNotModified {
4009		if res.Body != nil {
4010			res.Body.Close()
4011		}
4012		return nil, &googleapi.Error{
4013			Code:   res.StatusCode,
4014			Header: res.Header,
4015		}
4016	}
4017	if err != nil {
4018		return nil, err
4019	}
4020	defer googleapi.CloseBody(res)
4021	if err := googleapi.CheckResponse(res); err != nil {
4022		return nil, err
4023	}
4024	ret := &ListInstancesResponse{
4025		ServerResponse: googleapi.ServerResponse{
4026			Header:         res.Header,
4027			HTTPStatusCode: res.StatusCode,
4028		},
4029	}
4030	target := &ret
4031	if err := gensupport.DecodeResponse(target, res); err != nil {
4032		return nil, err
4033	}
4034	return ret, nil
4035	// {
4036	//   "description": "Lists information about instances in a project.",
4037	//   "flatPath": "v2/projects/{projectsId}/instances",
4038	//   "httpMethod": "GET",
4039	//   "id": "bigtableadmin.projects.instances.list",
4040	//   "parameterOrder": [
4041	//     "parent"
4042	//   ],
4043	//   "parameters": {
4044	//     "pageToken": {
4045	//       "description": "DEPRECATED: This field is unused and ignored.",
4046	//       "location": "query",
4047	//       "type": "string"
4048	//     },
4049	//     "parent": {
4050	//       "description": "Required. The unique name of the project for which a list of instances is requested.\nValues are of the form `projects/{project}`.",
4051	//       "location": "path",
4052	//       "pattern": "^projects/[^/]+$",
4053	//       "required": true,
4054	//       "type": "string"
4055	//     }
4056	//   },
4057	//   "path": "v2/{+parent}/instances",
4058	//   "response": {
4059	//     "$ref": "ListInstancesResponse"
4060	//   },
4061	//   "scopes": [
4062	//     "https://www.googleapis.com/auth/bigtable.admin",
4063	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4064	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4065	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4066	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4067	//     "https://www.googleapis.com/auth/cloud-platform",
4068	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
4069	//   ]
4070	// }
4071
4072}
4073
4074// Pages invokes f for each page of results.
4075// A non-nil error returned from f will halt the iteration.
4076// The provided context supersedes any context provided to the Context method.
4077func (c *ProjectsInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
4078	c.ctx_ = ctx
4079	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4080	for {
4081		x, err := c.Do()
4082		if err != nil {
4083			return err
4084		}
4085		if err := f(x); err != nil {
4086			return err
4087		}
4088		if x.NextPageToken == "" {
4089			return nil
4090		}
4091		c.PageToken(x.NextPageToken)
4092	}
4093}
4094
4095// method id "bigtableadmin.projects.instances.partialUpdateInstance":
4096
4097type ProjectsInstancesPartialUpdateInstanceCall struct {
4098	s          *Service
4099	name       string
4100	instance   *Instance
4101	urlParams_ gensupport.URLParams
4102	ctx_       context.Context
4103	header_    http.Header
4104}
4105
4106// PartialUpdateInstance: Partially updates an instance within a
4107// project. This method can modify all
4108// fields of an Instance and is the preferred way to update an Instance.
4109func (r *ProjectsInstancesService) PartialUpdateInstance(name string, instance *Instance) *ProjectsInstancesPartialUpdateInstanceCall {
4110	c := &ProjectsInstancesPartialUpdateInstanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4111	c.name = name
4112	c.instance = instance
4113	return c
4114}
4115
4116// UpdateMask sets the optional parameter "updateMask": Required. The
4117// subset of Instance fields which should be replaced.
4118// Must be explicitly set.
4119func (c *ProjectsInstancesPartialUpdateInstanceCall) UpdateMask(updateMask string) *ProjectsInstancesPartialUpdateInstanceCall {
4120	c.urlParams_.Set("updateMask", updateMask)
4121	return c
4122}
4123
4124// Fields allows partial responses to be retrieved. See
4125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4126// for more information.
4127func (c *ProjectsInstancesPartialUpdateInstanceCall) Fields(s ...googleapi.Field) *ProjectsInstancesPartialUpdateInstanceCall {
4128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4129	return c
4130}
4131
4132// Context sets the context to be used in this call's Do method. Any
4133// pending HTTP request will be aborted if the provided context is
4134// canceled.
4135func (c *ProjectsInstancesPartialUpdateInstanceCall) Context(ctx context.Context) *ProjectsInstancesPartialUpdateInstanceCall {
4136	c.ctx_ = ctx
4137	return c
4138}
4139
4140// Header returns an http.Header that can be modified by the caller to
4141// add HTTP headers to the request.
4142func (c *ProjectsInstancesPartialUpdateInstanceCall) Header() http.Header {
4143	if c.header_ == nil {
4144		c.header_ = make(http.Header)
4145	}
4146	return c.header_
4147}
4148
4149func (c *ProjectsInstancesPartialUpdateInstanceCall) doRequest(alt string) (*http.Response, error) {
4150	reqHeaders := make(http.Header)
4151	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4152	for k, v := range c.header_ {
4153		reqHeaders[k] = v
4154	}
4155	reqHeaders.Set("User-Agent", c.s.userAgent())
4156	var body io.Reader = nil
4157	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
4158	if err != nil {
4159		return nil, err
4160	}
4161	reqHeaders.Set("Content-Type", "application/json")
4162	c.urlParams_.Set("alt", alt)
4163	c.urlParams_.Set("prettyPrint", "false")
4164	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
4165	urls += "?" + c.urlParams_.Encode()
4166	req, err := http.NewRequest("PATCH", urls, body)
4167	if err != nil {
4168		return nil, err
4169	}
4170	req.Header = reqHeaders
4171	googleapi.Expand(req.URL, map[string]string{
4172		"name": c.name,
4173	})
4174	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4175}
4176
4177// Do executes the "bigtableadmin.projects.instances.partialUpdateInstance" call.
4178// Exactly one of *Operation or error will be non-nil. Any non-2xx
4179// status code is an error. Response headers are in either
4180// *Operation.ServerResponse.Header or (if a response was returned at
4181// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4182// to check whether the returned error was because
4183// http.StatusNotModified was returned.
4184func (c *ProjectsInstancesPartialUpdateInstanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
4185	gensupport.SetOptions(c.urlParams_, opts...)
4186	res, err := c.doRequest("json")
4187	if res != nil && res.StatusCode == http.StatusNotModified {
4188		if res.Body != nil {
4189			res.Body.Close()
4190		}
4191		return nil, &googleapi.Error{
4192			Code:   res.StatusCode,
4193			Header: res.Header,
4194		}
4195	}
4196	if err != nil {
4197		return nil, err
4198	}
4199	defer googleapi.CloseBody(res)
4200	if err := googleapi.CheckResponse(res); err != nil {
4201		return nil, err
4202	}
4203	ret := &Operation{
4204		ServerResponse: googleapi.ServerResponse{
4205			Header:         res.Header,
4206			HTTPStatusCode: res.StatusCode,
4207		},
4208	}
4209	target := &ret
4210	if err := gensupport.DecodeResponse(target, res); err != nil {
4211		return nil, err
4212	}
4213	return ret, nil
4214	// {
4215	//   "description": "Partially updates an instance within a project. This method can modify all\nfields of an Instance and is the preferred way to update an Instance.",
4216	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}",
4217	//   "httpMethod": "PATCH",
4218	//   "id": "bigtableadmin.projects.instances.partialUpdateInstance",
4219	//   "parameterOrder": [
4220	//     "name"
4221	//   ],
4222	//   "parameters": {
4223	//     "name": {
4224	//       "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.",
4225	//       "location": "path",
4226	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
4227	//       "required": true,
4228	//       "type": "string"
4229	//     },
4230	//     "updateMask": {
4231	//       "description": "Required. The subset of Instance fields which should be replaced.\nMust be explicitly set.",
4232	//       "format": "google-fieldmask",
4233	//       "location": "query",
4234	//       "type": "string"
4235	//     }
4236	//   },
4237	//   "path": "v2/{+name}",
4238	//   "request": {
4239	//     "$ref": "Instance"
4240	//   },
4241	//   "response": {
4242	//     "$ref": "Operation"
4243	//   },
4244	//   "scopes": [
4245	//     "https://www.googleapis.com/auth/bigtable.admin",
4246	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4247	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4248	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4249	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4250	//     "https://www.googleapis.com/auth/cloud-platform"
4251	//   ]
4252	// }
4253
4254}
4255
4256// method id "bigtableadmin.projects.instances.setIamPolicy":
4257
4258type ProjectsInstancesSetIamPolicyCall struct {
4259	s                   *Service
4260	resource            string
4261	setiampolicyrequest *SetIamPolicyRequest
4262	urlParams_          gensupport.URLParams
4263	ctx_                context.Context
4264	header_             http.Header
4265}
4266
4267// SetIamPolicy: Sets the access control policy on an instance resource.
4268// Replaces any
4269// existing policy.
4270func (r *ProjectsInstancesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesSetIamPolicyCall {
4271	c := &ProjectsInstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4272	c.resource = resource
4273	c.setiampolicyrequest = setiampolicyrequest
4274	return c
4275}
4276
4277// Fields allows partial responses to be retrieved. See
4278// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4279// for more information.
4280func (c *ProjectsInstancesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesSetIamPolicyCall {
4281	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4282	return c
4283}
4284
4285// Context sets the context to be used in this call's Do method. Any
4286// pending HTTP request will be aborted if the provided context is
4287// canceled.
4288func (c *ProjectsInstancesSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesSetIamPolicyCall {
4289	c.ctx_ = ctx
4290	return c
4291}
4292
4293// Header returns an http.Header that can be modified by the caller to
4294// add HTTP headers to the request.
4295func (c *ProjectsInstancesSetIamPolicyCall) Header() http.Header {
4296	if c.header_ == nil {
4297		c.header_ = make(http.Header)
4298	}
4299	return c.header_
4300}
4301
4302func (c *ProjectsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4303	reqHeaders := make(http.Header)
4304	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4305	for k, v := range c.header_ {
4306		reqHeaders[k] = v
4307	}
4308	reqHeaders.Set("User-Agent", c.s.userAgent())
4309	var body io.Reader = nil
4310	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
4311	if err != nil {
4312		return nil, err
4313	}
4314	reqHeaders.Set("Content-Type", "application/json")
4315	c.urlParams_.Set("alt", alt)
4316	c.urlParams_.Set("prettyPrint", "false")
4317	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
4318	urls += "?" + c.urlParams_.Encode()
4319	req, err := http.NewRequest("POST", urls, body)
4320	if err != nil {
4321		return nil, err
4322	}
4323	req.Header = reqHeaders
4324	googleapi.Expand(req.URL, map[string]string{
4325		"resource": c.resource,
4326	})
4327	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4328}
4329
4330// Do executes the "bigtableadmin.projects.instances.setIamPolicy" call.
4331// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4332// code is an error. Response headers are in either
4333// *Policy.ServerResponse.Header or (if a response was returned at all)
4334// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4335// check whether the returned error was because http.StatusNotModified
4336// was returned.
4337func (c *ProjectsInstancesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4338	gensupport.SetOptions(c.urlParams_, opts...)
4339	res, err := c.doRequest("json")
4340	if res != nil && res.StatusCode == http.StatusNotModified {
4341		if res.Body != nil {
4342			res.Body.Close()
4343		}
4344		return nil, &googleapi.Error{
4345			Code:   res.StatusCode,
4346			Header: res.Header,
4347		}
4348	}
4349	if err != nil {
4350		return nil, err
4351	}
4352	defer googleapi.CloseBody(res)
4353	if err := googleapi.CheckResponse(res); err != nil {
4354		return nil, err
4355	}
4356	ret := &Policy{
4357		ServerResponse: googleapi.ServerResponse{
4358			Header:         res.Header,
4359			HTTPStatusCode: res.StatusCode,
4360		},
4361	}
4362	target := &ret
4363	if err := gensupport.DecodeResponse(target, res); err != nil {
4364		return nil, err
4365	}
4366	return ret, nil
4367	// {
4368	//   "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.",
4369	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}:setIamPolicy",
4370	//   "httpMethod": "POST",
4371	//   "id": "bigtableadmin.projects.instances.setIamPolicy",
4372	//   "parameterOrder": [
4373	//     "resource"
4374	//   ],
4375	//   "parameters": {
4376	//     "resource": {
4377	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
4378	//       "location": "path",
4379	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
4380	//       "required": true,
4381	//       "type": "string"
4382	//     }
4383	//   },
4384	//   "path": "v2/{+resource}:setIamPolicy",
4385	//   "request": {
4386	//     "$ref": "SetIamPolicyRequest"
4387	//   },
4388	//   "response": {
4389	//     "$ref": "Policy"
4390	//   },
4391	//   "scopes": [
4392	//     "https://www.googleapis.com/auth/bigtable.admin",
4393	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4394	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4395	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4396	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4397	//     "https://www.googleapis.com/auth/cloud-platform"
4398	//   ]
4399	// }
4400
4401}
4402
4403// method id "bigtableadmin.projects.instances.testIamPermissions":
4404
4405type ProjectsInstancesTestIamPermissionsCall struct {
4406	s                         *Service
4407	resource                  string
4408	testiampermissionsrequest *TestIamPermissionsRequest
4409	urlParams_                gensupport.URLParams
4410	ctx_                      context.Context
4411	header_                   http.Header
4412}
4413
4414// TestIamPermissions: Returns permissions that the caller has on the
4415// specified instance resource.
4416func (r *ProjectsInstancesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTestIamPermissionsCall {
4417	c := &ProjectsInstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4418	c.resource = resource
4419	c.testiampermissionsrequest = testiampermissionsrequest
4420	return c
4421}
4422
4423// Fields allows partial responses to be retrieved. See
4424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4425// for more information.
4426func (c *ProjectsInstancesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTestIamPermissionsCall {
4427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4428	return c
4429}
4430
4431// Context sets the context to be used in this call's Do method. Any
4432// pending HTTP request will be aborted if the provided context is
4433// canceled.
4434func (c *ProjectsInstancesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTestIamPermissionsCall {
4435	c.ctx_ = ctx
4436	return c
4437}
4438
4439// Header returns an http.Header that can be modified by the caller to
4440// add HTTP headers to the request.
4441func (c *ProjectsInstancesTestIamPermissionsCall) Header() http.Header {
4442	if c.header_ == nil {
4443		c.header_ = make(http.Header)
4444	}
4445	return c.header_
4446}
4447
4448func (c *ProjectsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
4449	reqHeaders := make(http.Header)
4450	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4451	for k, v := range c.header_ {
4452		reqHeaders[k] = v
4453	}
4454	reqHeaders.Set("User-Agent", c.s.userAgent())
4455	var body io.Reader = nil
4456	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
4457	if err != nil {
4458		return nil, err
4459	}
4460	reqHeaders.Set("Content-Type", "application/json")
4461	c.urlParams_.Set("alt", alt)
4462	c.urlParams_.Set("prettyPrint", "false")
4463	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
4464	urls += "?" + c.urlParams_.Encode()
4465	req, err := http.NewRequest("POST", urls, body)
4466	if err != nil {
4467		return nil, err
4468	}
4469	req.Header = reqHeaders
4470	googleapi.Expand(req.URL, map[string]string{
4471		"resource": c.resource,
4472	})
4473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4474}
4475
4476// Do executes the "bigtableadmin.projects.instances.testIamPermissions" call.
4477// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
4478// Any non-2xx status code is an error. Response headers are in either
4479// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
4480// was returned at all) in error.(*googleapi.Error).Header. Use
4481// googleapi.IsNotModified to check whether the returned error was
4482// because http.StatusNotModified was returned.
4483func (c *ProjectsInstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
4484	gensupport.SetOptions(c.urlParams_, opts...)
4485	res, err := c.doRequest("json")
4486	if res != nil && res.StatusCode == http.StatusNotModified {
4487		if res.Body != nil {
4488			res.Body.Close()
4489		}
4490		return nil, &googleapi.Error{
4491			Code:   res.StatusCode,
4492			Header: res.Header,
4493		}
4494	}
4495	if err != nil {
4496		return nil, err
4497	}
4498	defer googleapi.CloseBody(res)
4499	if err := googleapi.CheckResponse(res); err != nil {
4500		return nil, err
4501	}
4502	ret := &TestIamPermissionsResponse{
4503		ServerResponse: googleapi.ServerResponse{
4504			Header:         res.Header,
4505			HTTPStatusCode: res.StatusCode,
4506		},
4507	}
4508	target := &ret
4509	if err := gensupport.DecodeResponse(target, res); err != nil {
4510		return nil, err
4511	}
4512	return ret, nil
4513	// {
4514	//   "description": "Returns permissions that the caller has on the specified instance resource.",
4515	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}:testIamPermissions",
4516	//   "httpMethod": "POST",
4517	//   "id": "bigtableadmin.projects.instances.testIamPermissions",
4518	//   "parameterOrder": [
4519	//     "resource"
4520	//   ],
4521	//   "parameters": {
4522	//     "resource": {
4523	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
4524	//       "location": "path",
4525	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
4526	//       "required": true,
4527	//       "type": "string"
4528	//     }
4529	//   },
4530	//   "path": "v2/{+resource}:testIamPermissions",
4531	//   "request": {
4532	//     "$ref": "TestIamPermissionsRequest"
4533	//   },
4534	//   "response": {
4535	//     "$ref": "TestIamPermissionsResponse"
4536	//   },
4537	//   "scopes": [
4538	//     "https://www.googleapis.com/auth/bigtable.admin",
4539	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4540	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4541	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4542	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4543	//     "https://www.googleapis.com/auth/cloud-platform"
4544	//   ]
4545	// }
4546
4547}
4548
4549// method id "bigtableadmin.projects.instances.update":
4550
4551type ProjectsInstancesUpdateCall struct {
4552	s          *Service
4553	name       string
4554	instance   *Instance
4555	urlParams_ gensupport.URLParams
4556	ctx_       context.Context
4557	header_    http.Header
4558}
4559
4560// Update: Updates an instance within a project. This method updates
4561// only the display
4562// name and type for an Instance. To update other Instance properties,
4563// such as
4564// labels, use PartialUpdateInstance.
4565func (r *ProjectsInstancesService) Update(name string, instance *Instance) *ProjectsInstancesUpdateCall {
4566	c := &ProjectsInstancesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4567	c.name = name
4568	c.instance = instance
4569	return c
4570}
4571
4572// Fields allows partial responses to be retrieved. See
4573// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4574// for more information.
4575func (c *ProjectsInstancesUpdateCall) Fields(s ...googleapi.Field) *ProjectsInstancesUpdateCall {
4576	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4577	return c
4578}
4579
4580// Context sets the context to be used in this call's Do method. Any
4581// pending HTTP request will be aborted if the provided context is
4582// canceled.
4583func (c *ProjectsInstancesUpdateCall) Context(ctx context.Context) *ProjectsInstancesUpdateCall {
4584	c.ctx_ = ctx
4585	return c
4586}
4587
4588// Header returns an http.Header that can be modified by the caller to
4589// add HTTP headers to the request.
4590func (c *ProjectsInstancesUpdateCall) Header() http.Header {
4591	if c.header_ == nil {
4592		c.header_ = make(http.Header)
4593	}
4594	return c.header_
4595}
4596
4597func (c *ProjectsInstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
4598	reqHeaders := make(http.Header)
4599	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4600	for k, v := range c.header_ {
4601		reqHeaders[k] = v
4602	}
4603	reqHeaders.Set("User-Agent", c.s.userAgent())
4604	var body io.Reader = nil
4605	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
4606	if err != nil {
4607		return nil, err
4608	}
4609	reqHeaders.Set("Content-Type", "application/json")
4610	c.urlParams_.Set("alt", alt)
4611	c.urlParams_.Set("prettyPrint", "false")
4612	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
4613	urls += "?" + c.urlParams_.Encode()
4614	req, err := http.NewRequest("PUT", urls, body)
4615	if err != nil {
4616		return nil, err
4617	}
4618	req.Header = reqHeaders
4619	googleapi.Expand(req.URL, map[string]string{
4620		"name": c.name,
4621	})
4622	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4623}
4624
4625// Do executes the "bigtableadmin.projects.instances.update" call.
4626// Exactly one of *Instance or error will be non-nil. Any non-2xx status
4627// code is an error. Response headers are in either
4628// *Instance.ServerResponse.Header or (if a response was returned at
4629// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4630// to check whether the returned error was because
4631// http.StatusNotModified was returned.
4632func (c *ProjectsInstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
4633	gensupport.SetOptions(c.urlParams_, opts...)
4634	res, err := c.doRequest("json")
4635	if res != nil && res.StatusCode == http.StatusNotModified {
4636		if res.Body != nil {
4637			res.Body.Close()
4638		}
4639		return nil, &googleapi.Error{
4640			Code:   res.StatusCode,
4641			Header: res.Header,
4642		}
4643	}
4644	if err != nil {
4645		return nil, err
4646	}
4647	defer googleapi.CloseBody(res)
4648	if err := googleapi.CheckResponse(res); err != nil {
4649		return nil, err
4650	}
4651	ret := &Instance{
4652		ServerResponse: googleapi.ServerResponse{
4653			Header:         res.Header,
4654			HTTPStatusCode: res.StatusCode,
4655		},
4656	}
4657	target := &ret
4658	if err := gensupport.DecodeResponse(target, res); err != nil {
4659		return nil, err
4660	}
4661	return ret, nil
4662	// {
4663	//   "description": "Updates an instance within a project. This method updates only the display\nname and type for an Instance. To update other Instance properties, such as\nlabels, use PartialUpdateInstance.",
4664	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}",
4665	//   "httpMethod": "PUT",
4666	//   "id": "bigtableadmin.projects.instances.update",
4667	//   "parameterOrder": [
4668	//     "name"
4669	//   ],
4670	//   "parameters": {
4671	//     "name": {
4672	//       "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.",
4673	//       "location": "path",
4674	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
4675	//       "required": true,
4676	//       "type": "string"
4677	//     }
4678	//   },
4679	//   "path": "v2/{+name}",
4680	//   "request": {
4681	//     "$ref": "Instance"
4682	//   },
4683	//   "response": {
4684	//     "$ref": "Instance"
4685	//   },
4686	//   "scopes": [
4687	//     "https://www.googleapis.com/auth/bigtable.admin",
4688	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4689	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4690	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4691	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4692	//     "https://www.googleapis.com/auth/cloud-platform"
4693	//   ]
4694	// }
4695
4696}
4697
4698// method id "bigtableadmin.projects.instances.appProfiles.create":
4699
4700type ProjectsInstancesAppProfilesCreateCall struct {
4701	s          *Service
4702	parent     string
4703	appprofile *AppProfile
4704	urlParams_ gensupport.URLParams
4705	ctx_       context.Context
4706	header_    http.Header
4707}
4708
4709// Create: Creates an app profile within an instance.
4710func (r *ProjectsInstancesAppProfilesService) Create(parent string, appprofile *AppProfile) *ProjectsInstancesAppProfilesCreateCall {
4711	c := &ProjectsInstancesAppProfilesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4712	c.parent = parent
4713	c.appprofile = appprofile
4714	return c
4715}
4716
4717// AppProfileId sets the optional parameter "appProfileId": Required.
4718// The ID to be used when referring to the new app profile within
4719// its
4720// instance, e.g., just `myprofile` rather
4721// than
4722// `projects/myproject/instances/myinstance/appProfiles/myprofile`.
4723func (c *ProjectsInstancesAppProfilesCreateCall) AppProfileId(appProfileId string) *ProjectsInstancesAppProfilesCreateCall {
4724	c.urlParams_.Set("appProfileId", appProfileId)
4725	return c
4726}
4727
4728// IgnoreWarnings sets the optional parameter "ignoreWarnings": If true,
4729// ignore safety checks when creating the app profile.
4730func (c *ProjectsInstancesAppProfilesCreateCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesCreateCall {
4731	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
4732	return c
4733}
4734
4735// Fields allows partial responses to be retrieved. See
4736// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4737// for more information.
4738func (c *ProjectsInstancesAppProfilesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesCreateCall {
4739	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4740	return c
4741}
4742
4743// Context sets the context to be used in this call's Do method. Any
4744// pending HTTP request will be aborted if the provided context is
4745// canceled.
4746func (c *ProjectsInstancesAppProfilesCreateCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesCreateCall {
4747	c.ctx_ = ctx
4748	return c
4749}
4750
4751// Header returns an http.Header that can be modified by the caller to
4752// add HTTP headers to the request.
4753func (c *ProjectsInstancesAppProfilesCreateCall) Header() http.Header {
4754	if c.header_ == nil {
4755		c.header_ = make(http.Header)
4756	}
4757	return c.header_
4758}
4759
4760func (c *ProjectsInstancesAppProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
4761	reqHeaders := make(http.Header)
4762	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4763	for k, v := range c.header_ {
4764		reqHeaders[k] = v
4765	}
4766	reqHeaders.Set("User-Agent", c.s.userAgent())
4767	var body io.Reader = nil
4768	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appprofile)
4769	if err != nil {
4770		return nil, err
4771	}
4772	reqHeaders.Set("Content-Type", "application/json")
4773	c.urlParams_.Set("alt", alt)
4774	c.urlParams_.Set("prettyPrint", "false")
4775	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/appProfiles")
4776	urls += "?" + c.urlParams_.Encode()
4777	req, err := http.NewRequest("POST", urls, body)
4778	if err != nil {
4779		return nil, err
4780	}
4781	req.Header = reqHeaders
4782	googleapi.Expand(req.URL, map[string]string{
4783		"parent": c.parent,
4784	})
4785	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4786}
4787
4788// Do executes the "bigtableadmin.projects.instances.appProfiles.create" call.
4789// Exactly one of *AppProfile or error will be non-nil. Any non-2xx
4790// status code is an error. Response headers are in either
4791// *AppProfile.ServerResponse.Header or (if a response was returned at
4792// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4793// to check whether the returned error was because
4794// http.StatusNotModified was returned.
4795func (c *ProjectsInstancesAppProfilesCreateCall) Do(opts ...googleapi.CallOption) (*AppProfile, error) {
4796	gensupport.SetOptions(c.urlParams_, opts...)
4797	res, err := c.doRequest("json")
4798	if res != nil && res.StatusCode == http.StatusNotModified {
4799		if res.Body != nil {
4800			res.Body.Close()
4801		}
4802		return nil, &googleapi.Error{
4803			Code:   res.StatusCode,
4804			Header: res.Header,
4805		}
4806	}
4807	if err != nil {
4808		return nil, err
4809	}
4810	defer googleapi.CloseBody(res)
4811	if err := googleapi.CheckResponse(res); err != nil {
4812		return nil, err
4813	}
4814	ret := &AppProfile{
4815		ServerResponse: googleapi.ServerResponse{
4816			Header:         res.Header,
4817			HTTPStatusCode: res.StatusCode,
4818		},
4819	}
4820	target := &ret
4821	if err := gensupport.DecodeResponse(target, res); err != nil {
4822		return nil, err
4823	}
4824	return ret, nil
4825	// {
4826	//   "description": "Creates an app profile within an instance.",
4827	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles",
4828	//   "httpMethod": "POST",
4829	//   "id": "bigtableadmin.projects.instances.appProfiles.create",
4830	//   "parameterOrder": [
4831	//     "parent"
4832	//   ],
4833	//   "parameters": {
4834	//     "appProfileId": {
4835	//       "description": "Required. The ID to be used when referring to the new app profile within its\ninstance, e.g., just `myprofile` rather than\n`projects/myproject/instances/myinstance/appProfiles/myprofile`.",
4836	//       "location": "query",
4837	//       "type": "string"
4838	//     },
4839	//     "ignoreWarnings": {
4840	//       "description": "If true, ignore safety checks when creating the app profile.",
4841	//       "location": "query",
4842	//       "type": "boolean"
4843	//     },
4844	//     "parent": {
4845	//       "description": "Required. The unique name of the instance in which to create the new app profile.\nValues are of the form\n`projects/{project}/instances/{instance}`.",
4846	//       "location": "path",
4847	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
4848	//       "required": true,
4849	//       "type": "string"
4850	//     }
4851	//   },
4852	//   "path": "v2/{+parent}/appProfiles",
4853	//   "request": {
4854	//     "$ref": "AppProfile"
4855	//   },
4856	//   "response": {
4857	//     "$ref": "AppProfile"
4858	//   },
4859	//   "scopes": [
4860	//     "https://www.googleapis.com/auth/bigtable.admin",
4861	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
4862	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
4863	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
4864	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
4865	//     "https://www.googleapis.com/auth/cloud-platform"
4866	//   ]
4867	// }
4868
4869}
4870
4871// method id "bigtableadmin.projects.instances.appProfiles.delete":
4872
4873type ProjectsInstancesAppProfilesDeleteCall struct {
4874	s          *Service
4875	name       string
4876	urlParams_ gensupport.URLParams
4877	ctx_       context.Context
4878	header_    http.Header
4879}
4880
4881// Delete: Deletes an app profile from an instance.
4882func (r *ProjectsInstancesAppProfilesService) Delete(name string) *ProjectsInstancesAppProfilesDeleteCall {
4883	c := &ProjectsInstancesAppProfilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4884	c.name = name
4885	return c
4886}
4887
4888// IgnoreWarnings sets the optional parameter "ignoreWarnings":
4889// Required. If true, ignore safety checks when deleting the app
4890// profile.
4891func (c *ProjectsInstancesAppProfilesDeleteCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesDeleteCall {
4892	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
4893	return c
4894}
4895
4896// Fields allows partial responses to be retrieved. See
4897// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4898// for more information.
4899func (c *ProjectsInstancesAppProfilesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesDeleteCall {
4900	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4901	return c
4902}
4903
4904// Context sets the context to be used in this call's Do method. Any
4905// pending HTTP request will be aborted if the provided context is
4906// canceled.
4907func (c *ProjectsInstancesAppProfilesDeleteCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesDeleteCall {
4908	c.ctx_ = ctx
4909	return c
4910}
4911
4912// Header returns an http.Header that can be modified by the caller to
4913// add HTTP headers to the request.
4914func (c *ProjectsInstancesAppProfilesDeleteCall) Header() http.Header {
4915	if c.header_ == nil {
4916		c.header_ = make(http.Header)
4917	}
4918	return c.header_
4919}
4920
4921func (c *ProjectsInstancesAppProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
4922	reqHeaders := make(http.Header)
4923	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
4924	for k, v := range c.header_ {
4925		reqHeaders[k] = v
4926	}
4927	reqHeaders.Set("User-Agent", c.s.userAgent())
4928	var body io.Reader = nil
4929	c.urlParams_.Set("alt", alt)
4930	c.urlParams_.Set("prettyPrint", "false")
4931	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
4932	urls += "?" + c.urlParams_.Encode()
4933	req, err := http.NewRequest("DELETE", urls, body)
4934	if err != nil {
4935		return nil, err
4936	}
4937	req.Header = reqHeaders
4938	googleapi.Expand(req.URL, map[string]string{
4939		"name": c.name,
4940	})
4941	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4942}
4943
4944// Do executes the "bigtableadmin.projects.instances.appProfiles.delete" call.
4945// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4946// code is an error. Response headers are in either
4947// *Empty.ServerResponse.Header or (if a response was returned at all)
4948// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4949// check whether the returned error was because http.StatusNotModified
4950// was returned.
4951func (c *ProjectsInstancesAppProfilesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4952	gensupport.SetOptions(c.urlParams_, opts...)
4953	res, err := c.doRequest("json")
4954	if res != nil && res.StatusCode == http.StatusNotModified {
4955		if res.Body != nil {
4956			res.Body.Close()
4957		}
4958		return nil, &googleapi.Error{
4959			Code:   res.StatusCode,
4960			Header: res.Header,
4961		}
4962	}
4963	if err != nil {
4964		return nil, err
4965	}
4966	defer googleapi.CloseBody(res)
4967	if err := googleapi.CheckResponse(res); err != nil {
4968		return nil, err
4969	}
4970	ret := &Empty{
4971		ServerResponse: googleapi.ServerResponse{
4972			Header:         res.Header,
4973			HTTPStatusCode: res.StatusCode,
4974		},
4975	}
4976	target := &ret
4977	if err := gensupport.DecodeResponse(target, res); err != nil {
4978		return nil, err
4979	}
4980	return ret, nil
4981	// {
4982	//   "description": "Deletes an app profile from an instance.",
4983	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}",
4984	//   "httpMethod": "DELETE",
4985	//   "id": "bigtableadmin.projects.instances.appProfiles.delete",
4986	//   "parameterOrder": [
4987	//     "name"
4988	//   ],
4989	//   "parameters": {
4990	//     "ignoreWarnings": {
4991	//       "description": "Required. If true, ignore safety checks when deleting the app profile.",
4992	//       "location": "query",
4993	//       "type": "boolean"
4994	//     },
4995	//     "name": {
4996	//       "description": "Required. The unique name of the app profile to be deleted. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/{app_profile}`.",
4997	//       "location": "path",
4998	//       "pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$",
4999	//       "required": true,
5000	//       "type": "string"
5001	//     }
5002	//   },
5003	//   "path": "v2/{+name}",
5004	//   "response": {
5005	//     "$ref": "Empty"
5006	//   },
5007	//   "scopes": [
5008	//     "https://www.googleapis.com/auth/bigtable.admin",
5009	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5010	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5011	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5012	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5013	//     "https://www.googleapis.com/auth/cloud-platform"
5014	//   ]
5015	// }
5016
5017}
5018
5019// method id "bigtableadmin.projects.instances.appProfiles.get":
5020
5021type ProjectsInstancesAppProfilesGetCall struct {
5022	s            *Service
5023	name         string
5024	urlParams_   gensupport.URLParams
5025	ifNoneMatch_ string
5026	ctx_         context.Context
5027	header_      http.Header
5028}
5029
5030// Get: Gets information about an app profile.
5031func (r *ProjectsInstancesAppProfilesService) Get(name string) *ProjectsInstancesAppProfilesGetCall {
5032	c := &ProjectsInstancesAppProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5033	c.name = name
5034	return c
5035}
5036
5037// Fields allows partial responses to be retrieved. See
5038// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5039// for more information.
5040func (c *ProjectsInstancesAppProfilesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesGetCall {
5041	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5042	return c
5043}
5044
5045// IfNoneMatch sets the optional parameter which makes the operation
5046// fail if the object's ETag matches the given value. This is useful for
5047// getting updates only after the object has changed since the last
5048// request. Use googleapi.IsNotModified to check whether the response
5049// error from Do is the result of In-None-Match.
5050func (c *ProjectsInstancesAppProfilesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesAppProfilesGetCall {
5051	c.ifNoneMatch_ = entityTag
5052	return c
5053}
5054
5055// Context sets the context to be used in this call's Do method. Any
5056// pending HTTP request will be aborted if the provided context is
5057// canceled.
5058func (c *ProjectsInstancesAppProfilesGetCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesGetCall {
5059	c.ctx_ = ctx
5060	return c
5061}
5062
5063// Header returns an http.Header that can be modified by the caller to
5064// add HTTP headers to the request.
5065func (c *ProjectsInstancesAppProfilesGetCall) Header() http.Header {
5066	if c.header_ == nil {
5067		c.header_ = make(http.Header)
5068	}
5069	return c.header_
5070}
5071
5072func (c *ProjectsInstancesAppProfilesGetCall) doRequest(alt string) (*http.Response, error) {
5073	reqHeaders := make(http.Header)
5074	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5075	for k, v := range c.header_ {
5076		reqHeaders[k] = v
5077	}
5078	reqHeaders.Set("User-Agent", c.s.userAgent())
5079	if c.ifNoneMatch_ != "" {
5080		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5081	}
5082	var body io.Reader = nil
5083	c.urlParams_.Set("alt", alt)
5084	c.urlParams_.Set("prettyPrint", "false")
5085	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
5086	urls += "?" + c.urlParams_.Encode()
5087	req, err := http.NewRequest("GET", urls, body)
5088	if err != nil {
5089		return nil, err
5090	}
5091	req.Header = reqHeaders
5092	googleapi.Expand(req.URL, map[string]string{
5093		"name": c.name,
5094	})
5095	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5096}
5097
5098// Do executes the "bigtableadmin.projects.instances.appProfiles.get" call.
5099// Exactly one of *AppProfile or error will be non-nil. Any non-2xx
5100// status code is an error. Response headers are in either
5101// *AppProfile.ServerResponse.Header or (if a response was returned at
5102// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5103// to check whether the returned error was because
5104// http.StatusNotModified was returned.
5105func (c *ProjectsInstancesAppProfilesGetCall) Do(opts ...googleapi.CallOption) (*AppProfile, error) {
5106	gensupport.SetOptions(c.urlParams_, opts...)
5107	res, err := c.doRequest("json")
5108	if res != nil && res.StatusCode == http.StatusNotModified {
5109		if res.Body != nil {
5110			res.Body.Close()
5111		}
5112		return nil, &googleapi.Error{
5113			Code:   res.StatusCode,
5114			Header: res.Header,
5115		}
5116	}
5117	if err != nil {
5118		return nil, err
5119	}
5120	defer googleapi.CloseBody(res)
5121	if err := googleapi.CheckResponse(res); err != nil {
5122		return nil, err
5123	}
5124	ret := &AppProfile{
5125		ServerResponse: googleapi.ServerResponse{
5126			Header:         res.Header,
5127			HTTPStatusCode: res.StatusCode,
5128		},
5129	}
5130	target := &ret
5131	if err := gensupport.DecodeResponse(target, res); err != nil {
5132		return nil, err
5133	}
5134	return ret, nil
5135	// {
5136	//   "description": "Gets information about an app profile.",
5137	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}",
5138	//   "httpMethod": "GET",
5139	//   "id": "bigtableadmin.projects.instances.appProfiles.get",
5140	//   "parameterOrder": [
5141	//     "name"
5142	//   ],
5143	//   "parameters": {
5144	//     "name": {
5145	//       "description": "Required. The unique name of the requested app profile. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/{app_profile}`.",
5146	//       "location": "path",
5147	//       "pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$",
5148	//       "required": true,
5149	//       "type": "string"
5150	//     }
5151	//   },
5152	//   "path": "v2/{+name}",
5153	//   "response": {
5154	//     "$ref": "AppProfile"
5155	//   },
5156	//   "scopes": [
5157	//     "https://www.googleapis.com/auth/bigtable.admin",
5158	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5159	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5160	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5161	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5162	//     "https://www.googleapis.com/auth/cloud-platform",
5163	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5164	//   ]
5165	// }
5166
5167}
5168
5169// method id "bigtableadmin.projects.instances.appProfiles.list":
5170
5171type ProjectsInstancesAppProfilesListCall struct {
5172	s            *Service
5173	parent       string
5174	urlParams_   gensupport.URLParams
5175	ifNoneMatch_ string
5176	ctx_         context.Context
5177	header_      http.Header
5178}
5179
5180// List: Lists information about app profiles in an instance.
5181func (r *ProjectsInstancesAppProfilesService) List(parent string) *ProjectsInstancesAppProfilesListCall {
5182	c := &ProjectsInstancesAppProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5183	c.parent = parent
5184	return c
5185}
5186
5187// PageSize sets the optional parameter "pageSize": Maximum number of
5188// results per page.
5189//
5190// A page_size of zero lets the server choose the number of items to
5191// return.
5192// A page_size which is strictly positive will return at most that many
5193// items.
5194// A negative page_size will cause an error.
5195//
5196// Following the first request, subsequent paginated calls are not
5197// required
5198// to pass a page_size. If a page_size is set in subsequent calls, it
5199// must
5200// match the page_size given in the first request.
5201func (c *ProjectsInstancesAppProfilesListCall) PageSize(pageSize int64) *ProjectsInstancesAppProfilesListCall {
5202	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5203	return c
5204}
5205
5206// PageToken sets the optional parameter "pageToken": The value of
5207// `next_page_token` returned by a previous call.
5208func (c *ProjectsInstancesAppProfilesListCall) PageToken(pageToken string) *ProjectsInstancesAppProfilesListCall {
5209	c.urlParams_.Set("pageToken", pageToken)
5210	return c
5211}
5212
5213// Fields allows partial responses to be retrieved. See
5214// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5215// for more information.
5216func (c *ProjectsInstancesAppProfilesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesListCall {
5217	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5218	return c
5219}
5220
5221// IfNoneMatch sets the optional parameter which makes the operation
5222// fail if the object's ETag matches the given value. This is useful for
5223// getting updates only after the object has changed since the last
5224// request. Use googleapi.IsNotModified to check whether the response
5225// error from Do is the result of In-None-Match.
5226func (c *ProjectsInstancesAppProfilesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesAppProfilesListCall {
5227	c.ifNoneMatch_ = entityTag
5228	return c
5229}
5230
5231// Context sets the context to be used in this call's Do method. Any
5232// pending HTTP request will be aborted if the provided context is
5233// canceled.
5234func (c *ProjectsInstancesAppProfilesListCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesListCall {
5235	c.ctx_ = ctx
5236	return c
5237}
5238
5239// Header returns an http.Header that can be modified by the caller to
5240// add HTTP headers to the request.
5241func (c *ProjectsInstancesAppProfilesListCall) Header() http.Header {
5242	if c.header_ == nil {
5243		c.header_ = make(http.Header)
5244	}
5245	return c.header_
5246}
5247
5248func (c *ProjectsInstancesAppProfilesListCall) doRequest(alt string) (*http.Response, error) {
5249	reqHeaders := make(http.Header)
5250	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5251	for k, v := range c.header_ {
5252		reqHeaders[k] = v
5253	}
5254	reqHeaders.Set("User-Agent", c.s.userAgent())
5255	if c.ifNoneMatch_ != "" {
5256		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5257	}
5258	var body io.Reader = nil
5259	c.urlParams_.Set("alt", alt)
5260	c.urlParams_.Set("prettyPrint", "false")
5261	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/appProfiles")
5262	urls += "?" + c.urlParams_.Encode()
5263	req, err := http.NewRequest("GET", urls, body)
5264	if err != nil {
5265		return nil, err
5266	}
5267	req.Header = reqHeaders
5268	googleapi.Expand(req.URL, map[string]string{
5269		"parent": c.parent,
5270	})
5271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5272}
5273
5274// Do executes the "bigtableadmin.projects.instances.appProfiles.list" call.
5275// Exactly one of *ListAppProfilesResponse or error will be non-nil. Any
5276// non-2xx status code is an error. Response headers are in either
5277// *ListAppProfilesResponse.ServerResponse.Header or (if a response was
5278// returned at all) in error.(*googleapi.Error).Header. Use
5279// googleapi.IsNotModified to check whether the returned error was
5280// because http.StatusNotModified was returned.
5281func (c *ProjectsInstancesAppProfilesListCall) Do(opts ...googleapi.CallOption) (*ListAppProfilesResponse, error) {
5282	gensupport.SetOptions(c.urlParams_, opts...)
5283	res, err := c.doRequest("json")
5284	if res != nil && res.StatusCode == http.StatusNotModified {
5285		if res.Body != nil {
5286			res.Body.Close()
5287		}
5288		return nil, &googleapi.Error{
5289			Code:   res.StatusCode,
5290			Header: res.Header,
5291		}
5292	}
5293	if err != nil {
5294		return nil, err
5295	}
5296	defer googleapi.CloseBody(res)
5297	if err := googleapi.CheckResponse(res); err != nil {
5298		return nil, err
5299	}
5300	ret := &ListAppProfilesResponse{
5301		ServerResponse: googleapi.ServerResponse{
5302			Header:         res.Header,
5303			HTTPStatusCode: res.StatusCode,
5304		},
5305	}
5306	target := &ret
5307	if err := gensupport.DecodeResponse(target, res); err != nil {
5308		return nil, err
5309	}
5310	return ret, nil
5311	// {
5312	//   "description": "Lists information about app profiles in an instance.",
5313	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles",
5314	//   "httpMethod": "GET",
5315	//   "id": "bigtableadmin.projects.instances.appProfiles.list",
5316	//   "parameterOrder": [
5317	//     "parent"
5318	//   ],
5319	//   "parameters": {
5320	//     "pageSize": {
5321	//       "description": "Maximum number of results per page.\n\nA page_size of zero lets the server choose the number of items to return.\nA page_size which is strictly positive will return at most that many items.\nA negative page_size will cause an error.\n\nFollowing the first request, subsequent paginated calls are not required\nto pass a page_size. If a page_size is set in subsequent calls, it must\nmatch the page_size given in the first request.",
5322	//       "format": "int32",
5323	//       "location": "query",
5324	//       "type": "integer"
5325	//     },
5326	//     "pageToken": {
5327	//       "description": "The value of `next_page_token` returned by a previous call.",
5328	//       "location": "query",
5329	//       "type": "string"
5330	//     },
5331	//     "parent": {
5332	//       "description": "Required. The unique name of the instance for which a list of app profiles is\nrequested. Values are of the form\n`projects/{project}/instances/{instance}`.\nUse `{instance} = '-'` to list AppProfiles for all Instances in a project,\ne.g., `projects/myproject/instances/-`.",
5333	//       "location": "path",
5334	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
5335	//       "required": true,
5336	//       "type": "string"
5337	//     }
5338	//   },
5339	//   "path": "v2/{+parent}/appProfiles",
5340	//   "response": {
5341	//     "$ref": "ListAppProfilesResponse"
5342	//   },
5343	//   "scopes": [
5344	//     "https://www.googleapis.com/auth/bigtable.admin",
5345	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5346	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5347	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5348	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5349	//     "https://www.googleapis.com/auth/cloud-platform"
5350	//   ]
5351	// }
5352
5353}
5354
5355// Pages invokes f for each page of results.
5356// A non-nil error returned from f will halt the iteration.
5357// The provided context supersedes any context provided to the Context method.
5358func (c *ProjectsInstancesAppProfilesListCall) Pages(ctx context.Context, f func(*ListAppProfilesResponse) error) error {
5359	c.ctx_ = ctx
5360	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5361	for {
5362		x, err := c.Do()
5363		if err != nil {
5364			return err
5365		}
5366		if err := f(x); err != nil {
5367			return err
5368		}
5369		if x.NextPageToken == "" {
5370			return nil
5371		}
5372		c.PageToken(x.NextPageToken)
5373	}
5374}
5375
5376// method id "bigtableadmin.projects.instances.appProfiles.patch":
5377
5378type ProjectsInstancesAppProfilesPatchCall struct {
5379	s          *Service
5380	name       string
5381	appprofile *AppProfile
5382	urlParams_ gensupport.URLParams
5383	ctx_       context.Context
5384	header_    http.Header
5385}
5386
5387// Patch: Updates an app profile within an instance.
5388func (r *ProjectsInstancesAppProfilesService) Patch(name string, appprofile *AppProfile) *ProjectsInstancesAppProfilesPatchCall {
5389	c := &ProjectsInstancesAppProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5390	c.name = name
5391	c.appprofile = appprofile
5392	return c
5393}
5394
5395// IgnoreWarnings sets the optional parameter "ignoreWarnings": If true,
5396// ignore safety checks when updating the app profile.
5397func (c *ProjectsInstancesAppProfilesPatchCall) IgnoreWarnings(ignoreWarnings bool) *ProjectsInstancesAppProfilesPatchCall {
5398	c.urlParams_.Set("ignoreWarnings", fmt.Sprint(ignoreWarnings))
5399	return c
5400}
5401
5402// UpdateMask sets the optional parameter "updateMask": Required. The
5403// subset of app profile fields which should be replaced.
5404// If unset, all fields will be replaced.
5405func (c *ProjectsInstancesAppProfilesPatchCall) UpdateMask(updateMask string) *ProjectsInstancesAppProfilesPatchCall {
5406	c.urlParams_.Set("updateMask", updateMask)
5407	return c
5408}
5409
5410// Fields allows partial responses to be retrieved. See
5411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5412// for more information.
5413func (c *ProjectsInstancesAppProfilesPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesAppProfilesPatchCall {
5414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5415	return c
5416}
5417
5418// Context sets the context to be used in this call's Do method. Any
5419// pending HTTP request will be aborted if the provided context is
5420// canceled.
5421func (c *ProjectsInstancesAppProfilesPatchCall) Context(ctx context.Context) *ProjectsInstancesAppProfilesPatchCall {
5422	c.ctx_ = ctx
5423	return c
5424}
5425
5426// Header returns an http.Header that can be modified by the caller to
5427// add HTTP headers to the request.
5428func (c *ProjectsInstancesAppProfilesPatchCall) Header() http.Header {
5429	if c.header_ == nil {
5430		c.header_ = make(http.Header)
5431	}
5432	return c.header_
5433}
5434
5435func (c *ProjectsInstancesAppProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
5436	reqHeaders := make(http.Header)
5437	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5438	for k, v := range c.header_ {
5439		reqHeaders[k] = v
5440	}
5441	reqHeaders.Set("User-Agent", c.s.userAgent())
5442	var body io.Reader = nil
5443	body, err := googleapi.WithoutDataWrapper.JSONReader(c.appprofile)
5444	if err != nil {
5445		return nil, err
5446	}
5447	reqHeaders.Set("Content-Type", "application/json")
5448	c.urlParams_.Set("alt", alt)
5449	c.urlParams_.Set("prettyPrint", "false")
5450	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
5451	urls += "?" + c.urlParams_.Encode()
5452	req, err := http.NewRequest("PATCH", urls, body)
5453	if err != nil {
5454		return nil, err
5455	}
5456	req.Header = reqHeaders
5457	googleapi.Expand(req.URL, map[string]string{
5458		"name": c.name,
5459	})
5460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5461}
5462
5463// Do executes the "bigtableadmin.projects.instances.appProfiles.patch" call.
5464// Exactly one of *Operation or error will be non-nil. Any non-2xx
5465// status code is an error. Response headers are in either
5466// *Operation.ServerResponse.Header or (if a response was returned at
5467// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5468// to check whether the returned error was because
5469// http.StatusNotModified was returned.
5470func (c *ProjectsInstancesAppProfilesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5471	gensupport.SetOptions(c.urlParams_, opts...)
5472	res, err := c.doRequest("json")
5473	if res != nil && res.StatusCode == http.StatusNotModified {
5474		if res.Body != nil {
5475			res.Body.Close()
5476		}
5477		return nil, &googleapi.Error{
5478			Code:   res.StatusCode,
5479			Header: res.Header,
5480		}
5481	}
5482	if err != nil {
5483		return nil, err
5484	}
5485	defer googleapi.CloseBody(res)
5486	if err := googleapi.CheckResponse(res); err != nil {
5487		return nil, err
5488	}
5489	ret := &Operation{
5490		ServerResponse: googleapi.ServerResponse{
5491			Header:         res.Header,
5492			HTTPStatusCode: res.StatusCode,
5493		},
5494	}
5495	target := &ret
5496	if err := gensupport.DecodeResponse(target, res); err != nil {
5497		return nil, err
5498	}
5499	return ret, nil
5500	// {
5501	//   "description": "Updates an app profile within an instance.",
5502	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}",
5503	//   "httpMethod": "PATCH",
5504	//   "id": "bigtableadmin.projects.instances.appProfiles.patch",
5505	//   "parameterOrder": [
5506	//     "name"
5507	//   ],
5508	//   "parameters": {
5509	//     "ignoreWarnings": {
5510	//       "description": "If true, ignore safety checks when updating the app profile.",
5511	//       "location": "query",
5512	//       "type": "boolean"
5513	//     },
5514	//     "name": {
5515	//       "description": "(`OutputOnly`)\nThe unique name of the app profile. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/appProfiles/_a-zA-Z0-9*`.",
5516	//       "location": "path",
5517	//       "pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$",
5518	//       "required": true,
5519	//       "type": "string"
5520	//     },
5521	//     "updateMask": {
5522	//       "description": "Required. The subset of app profile fields which should be replaced.\nIf unset, all fields will be replaced.",
5523	//       "format": "google-fieldmask",
5524	//       "location": "query",
5525	//       "type": "string"
5526	//     }
5527	//   },
5528	//   "path": "v2/{+name}",
5529	//   "request": {
5530	//     "$ref": "AppProfile"
5531	//   },
5532	//   "response": {
5533	//     "$ref": "Operation"
5534	//   },
5535	//   "scopes": [
5536	//     "https://www.googleapis.com/auth/bigtable.admin",
5537	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5538	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5539	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5540	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5541	//     "https://www.googleapis.com/auth/cloud-platform"
5542	//   ]
5543	// }
5544
5545}
5546
5547// method id "bigtableadmin.projects.instances.clusters.create":
5548
5549type ProjectsInstancesClustersCreateCall struct {
5550	s          *Service
5551	parent     string
5552	cluster    *Cluster
5553	urlParams_ gensupport.URLParams
5554	ctx_       context.Context
5555	header_    http.Header
5556}
5557
5558// Create: Creates a cluster within an instance.
5559func (r *ProjectsInstancesClustersService) Create(parent string, cluster *Cluster) *ProjectsInstancesClustersCreateCall {
5560	c := &ProjectsInstancesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5561	c.parent = parent
5562	c.cluster = cluster
5563	return c
5564}
5565
5566// ClusterId sets the optional parameter "clusterId": Required. The ID
5567// to be used when referring to the new cluster within its
5568// instance,
5569// e.g., just `mycluster` rather
5570// than
5571// `projects/myproject/instances/myinstance/clusters/mycluster`.
5572func (c *ProjectsInstancesClustersCreateCall) ClusterId(clusterId string) *ProjectsInstancesClustersCreateCall {
5573	c.urlParams_.Set("clusterId", clusterId)
5574	return c
5575}
5576
5577// Fields allows partial responses to be retrieved. See
5578// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5579// for more information.
5580func (c *ProjectsInstancesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersCreateCall {
5581	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5582	return c
5583}
5584
5585// Context sets the context to be used in this call's Do method. Any
5586// pending HTTP request will be aborted if the provided context is
5587// canceled.
5588func (c *ProjectsInstancesClustersCreateCall) Context(ctx context.Context) *ProjectsInstancesClustersCreateCall {
5589	c.ctx_ = ctx
5590	return c
5591}
5592
5593// Header returns an http.Header that can be modified by the caller to
5594// add HTTP headers to the request.
5595func (c *ProjectsInstancesClustersCreateCall) Header() http.Header {
5596	if c.header_ == nil {
5597		c.header_ = make(http.Header)
5598	}
5599	return c.header_
5600}
5601
5602func (c *ProjectsInstancesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
5603	reqHeaders := make(http.Header)
5604	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5605	for k, v := range c.header_ {
5606		reqHeaders[k] = v
5607	}
5608	reqHeaders.Set("User-Agent", c.s.userAgent())
5609	var body io.Reader = nil
5610	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
5611	if err != nil {
5612		return nil, err
5613	}
5614	reqHeaders.Set("Content-Type", "application/json")
5615	c.urlParams_.Set("alt", alt)
5616	c.urlParams_.Set("prettyPrint", "false")
5617	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/clusters")
5618	urls += "?" + c.urlParams_.Encode()
5619	req, err := http.NewRequest("POST", urls, body)
5620	if err != nil {
5621		return nil, err
5622	}
5623	req.Header = reqHeaders
5624	googleapi.Expand(req.URL, map[string]string{
5625		"parent": c.parent,
5626	})
5627	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5628}
5629
5630// Do executes the "bigtableadmin.projects.instances.clusters.create" call.
5631// Exactly one of *Operation or error will be non-nil. Any non-2xx
5632// status code is an error. Response headers are in either
5633// *Operation.ServerResponse.Header or (if a response was returned at
5634// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5635// to check whether the returned error was because
5636// http.StatusNotModified was returned.
5637func (c *ProjectsInstancesClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
5638	gensupport.SetOptions(c.urlParams_, opts...)
5639	res, err := c.doRequest("json")
5640	if res != nil && res.StatusCode == http.StatusNotModified {
5641		if res.Body != nil {
5642			res.Body.Close()
5643		}
5644		return nil, &googleapi.Error{
5645			Code:   res.StatusCode,
5646			Header: res.Header,
5647		}
5648	}
5649	if err != nil {
5650		return nil, err
5651	}
5652	defer googleapi.CloseBody(res)
5653	if err := googleapi.CheckResponse(res); err != nil {
5654		return nil, err
5655	}
5656	ret := &Operation{
5657		ServerResponse: googleapi.ServerResponse{
5658			Header:         res.Header,
5659			HTTPStatusCode: res.StatusCode,
5660		},
5661	}
5662	target := &ret
5663	if err := gensupport.DecodeResponse(target, res); err != nil {
5664		return nil, err
5665	}
5666	return ret, nil
5667	// {
5668	//   "description": "Creates a cluster within an instance.",
5669	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters",
5670	//   "httpMethod": "POST",
5671	//   "id": "bigtableadmin.projects.instances.clusters.create",
5672	//   "parameterOrder": [
5673	//     "parent"
5674	//   ],
5675	//   "parameters": {
5676	//     "clusterId": {
5677	//       "description": "Required. The ID to be used when referring to the new cluster within its instance,\ne.g., just `mycluster` rather than\n`projects/myproject/instances/myinstance/clusters/mycluster`.",
5678	//       "location": "query",
5679	//       "type": "string"
5680	//     },
5681	//     "parent": {
5682	//       "description": "Required. The unique name of the instance in which to create the new cluster.\nValues are of the form\n`projects/{project}/instances/{instance}`.",
5683	//       "location": "path",
5684	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
5685	//       "required": true,
5686	//       "type": "string"
5687	//     }
5688	//   },
5689	//   "path": "v2/{+parent}/clusters",
5690	//   "request": {
5691	//     "$ref": "Cluster"
5692	//   },
5693	//   "response": {
5694	//     "$ref": "Operation"
5695	//   },
5696	//   "scopes": [
5697	//     "https://www.googleapis.com/auth/bigtable.admin",
5698	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5699	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5700	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5701	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5702	//     "https://www.googleapis.com/auth/cloud-platform"
5703	//   ]
5704	// }
5705
5706}
5707
5708// method id "bigtableadmin.projects.instances.clusters.delete":
5709
5710type ProjectsInstancesClustersDeleteCall struct {
5711	s          *Service
5712	name       string
5713	urlParams_ gensupport.URLParams
5714	ctx_       context.Context
5715	header_    http.Header
5716}
5717
5718// Delete: Deletes a cluster from an instance.
5719func (r *ProjectsInstancesClustersService) Delete(name string) *ProjectsInstancesClustersDeleteCall {
5720	c := &ProjectsInstancesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5721	c.name = name
5722	return c
5723}
5724
5725// Fields allows partial responses to be retrieved. See
5726// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5727// for more information.
5728func (c *ProjectsInstancesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersDeleteCall {
5729	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5730	return c
5731}
5732
5733// Context sets the context to be used in this call's Do method. Any
5734// pending HTTP request will be aborted if the provided context is
5735// canceled.
5736func (c *ProjectsInstancesClustersDeleteCall) Context(ctx context.Context) *ProjectsInstancesClustersDeleteCall {
5737	c.ctx_ = ctx
5738	return c
5739}
5740
5741// Header returns an http.Header that can be modified by the caller to
5742// add HTTP headers to the request.
5743func (c *ProjectsInstancesClustersDeleteCall) Header() http.Header {
5744	if c.header_ == nil {
5745		c.header_ = make(http.Header)
5746	}
5747	return c.header_
5748}
5749
5750func (c *ProjectsInstancesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
5751	reqHeaders := make(http.Header)
5752	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5753	for k, v := range c.header_ {
5754		reqHeaders[k] = v
5755	}
5756	reqHeaders.Set("User-Agent", c.s.userAgent())
5757	var body io.Reader = nil
5758	c.urlParams_.Set("alt", alt)
5759	c.urlParams_.Set("prettyPrint", "false")
5760	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
5761	urls += "?" + c.urlParams_.Encode()
5762	req, err := http.NewRequest("DELETE", urls, body)
5763	if err != nil {
5764		return nil, err
5765	}
5766	req.Header = reqHeaders
5767	googleapi.Expand(req.URL, map[string]string{
5768		"name": c.name,
5769	})
5770	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5771}
5772
5773// Do executes the "bigtableadmin.projects.instances.clusters.delete" call.
5774// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5775// code is an error. Response headers are in either
5776// *Empty.ServerResponse.Header or (if a response was returned at all)
5777// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5778// check whether the returned error was because http.StatusNotModified
5779// was returned.
5780func (c *ProjectsInstancesClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err
5798	}
5799	ret := &Empty{
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	//   "description": "Deletes a cluster from an instance.",
5812	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}",
5813	//   "httpMethod": "DELETE",
5814	//   "id": "bigtableadmin.projects.instances.clusters.delete",
5815	//   "parameterOrder": [
5816	//     "name"
5817	//   ],
5818	//   "parameters": {
5819	//     "name": {
5820	//       "description": "Required. The unique name of the cluster to be deleted. Values are of the form\n`projects/{project}/instances/{instance}/clusters/{cluster}`.",
5821	//       "location": "path",
5822	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$",
5823	//       "required": true,
5824	//       "type": "string"
5825	//     }
5826	//   },
5827	//   "path": "v2/{+name}",
5828	//   "response": {
5829	//     "$ref": "Empty"
5830	//   },
5831	//   "scopes": [
5832	//     "https://www.googleapis.com/auth/bigtable.admin",
5833	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5834	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5835	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5836	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5837	//     "https://www.googleapis.com/auth/cloud-platform"
5838	//   ]
5839	// }
5840
5841}
5842
5843// method id "bigtableadmin.projects.instances.clusters.get":
5844
5845type ProjectsInstancesClustersGetCall struct {
5846	s            *Service
5847	name         string
5848	urlParams_   gensupport.URLParams
5849	ifNoneMatch_ string
5850	ctx_         context.Context
5851	header_      http.Header
5852}
5853
5854// Get: Gets information about a cluster.
5855func (r *ProjectsInstancesClustersService) Get(name string) *ProjectsInstancesClustersGetCall {
5856	c := &ProjectsInstancesClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5857	c.name = name
5858	return c
5859}
5860
5861// Fields allows partial responses to be retrieved. See
5862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5863// for more information.
5864func (c *ProjectsInstancesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersGetCall {
5865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5866	return c
5867}
5868
5869// IfNoneMatch sets the optional parameter which makes the operation
5870// fail if the object's ETag matches the given value. This is useful for
5871// getting updates only after the object has changed since the last
5872// request. Use googleapi.IsNotModified to check whether the response
5873// error from Do is the result of In-None-Match.
5874func (c *ProjectsInstancesClustersGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersGetCall {
5875	c.ifNoneMatch_ = entityTag
5876	return c
5877}
5878
5879// Context sets the context to be used in this call's Do method. Any
5880// pending HTTP request will be aborted if the provided context is
5881// canceled.
5882func (c *ProjectsInstancesClustersGetCall) Context(ctx context.Context) *ProjectsInstancesClustersGetCall {
5883	c.ctx_ = ctx
5884	return c
5885}
5886
5887// Header returns an http.Header that can be modified by the caller to
5888// add HTTP headers to the request.
5889func (c *ProjectsInstancesClustersGetCall) Header() http.Header {
5890	if c.header_ == nil {
5891		c.header_ = make(http.Header)
5892	}
5893	return c.header_
5894}
5895
5896func (c *ProjectsInstancesClustersGetCall) doRequest(alt string) (*http.Response, error) {
5897	reqHeaders := make(http.Header)
5898	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
5899	for k, v := range c.header_ {
5900		reqHeaders[k] = v
5901	}
5902	reqHeaders.Set("User-Agent", c.s.userAgent())
5903	if c.ifNoneMatch_ != "" {
5904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5905	}
5906	var body io.Reader = nil
5907	c.urlParams_.Set("alt", alt)
5908	c.urlParams_.Set("prettyPrint", "false")
5909	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
5910	urls += "?" + c.urlParams_.Encode()
5911	req, err := http.NewRequest("GET", urls, body)
5912	if err != nil {
5913		return nil, err
5914	}
5915	req.Header = reqHeaders
5916	googleapi.Expand(req.URL, map[string]string{
5917		"name": c.name,
5918	})
5919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5920}
5921
5922// Do executes the "bigtableadmin.projects.instances.clusters.get" call.
5923// Exactly one of *Cluster or error will be non-nil. Any non-2xx status
5924// code is an error. Response headers are in either
5925// *Cluster.ServerResponse.Header or (if a response was returned at all)
5926// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5927// check whether the returned error was because http.StatusNotModified
5928// was returned.
5929func (c *ProjectsInstancesClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
5930	gensupport.SetOptions(c.urlParams_, opts...)
5931	res, err := c.doRequest("json")
5932	if res != nil && res.StatusCode == http.StatusNotModified {
5933		if res.Body != nil {
5934			res.Body.Close()
5935		}
5936		return nil, &googleapi.Error{
5937			Code:   res.StatusCode,
5938			Header: res.Header,
5939		}
5940	}
5941	if err != nil {
5942		return nil, err
5943	}
5944	defer googleapi.CloseBody(res)
5945	if err := googleapi.CheckResponse(res); err != nil {
5946		return nil, err
5947	}
5948	ret := &Cluster{
5949		ServerResponse: googleapi.ServerResponse{
5950			Header:         res.Header,
5951			HTTPStatusCode: res.StatusCode,
5952		},
5953	}
5954	target := &ret
5955	if err := gensupport.DecodeResponse(target, res); err != nil {
5956		return nil, err
5957	}
5958	return ret, nil
5959	// {
5960	//   "description": "Gets information about a cluster.",
5961	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}",
5962	//   "httpMethod": "GET",
5963	//   "id": "bigtableadmin.projects.instances.clusters.get",
5964	//   "parameterOrder": [
5965	//     "name"
5966	//   ],
5967	//   "parameters": {
5968	//     "name": {
5969	//       "description": "Required. The unique name of the requested cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/{cluster}`.",
5970	//       "location": "path",
5971	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$",
5972	//       "required": true,
5973	//       "type": "string"
5974	//     }
5975	//   },
5976	//   "path": "v2/{+name}",
5977	//   "response": {
5978	//     "$ref": "Cluster"
5979	//   },
5980	//   "scopes": [
5981	//     "https://www.googleapis.com/auth/bigtable.admin",
5982	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
5983	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
5984	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
5985	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
5986	//     "https://www.googleapis.com/auth/cloud-platform",
5987	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
5988	//   ]
5989	// }
5990
5991}
5992
5993// method id "bigtableadmin.projects.instances.clusters.list":
5994
5995type ProjectsInstancesClustersListCall struct {
5996	s            *Service
5997	parent       string
5998	urlParams_   gensupport.URLParams
5999	ifNoneMatch_ string
6000	ctx_         context.Context
6001	header_      http.Header
6002}
6003
6004// List: Lists information about clusters in an instance.
6005func (r *ProjectsInstancesClustersService) List(parent string) *ProjectsInstancesClustersListCall {
6006	c := &ProjectsInstancesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6007	c.parent = parent
6008	return c
6009}
6010
6011// PageToken sets the optional parameter "pageToken": DEPRECATED: This
6012// field is unused and ignored.
6013func (c *ProjectsInstancesClustersListCall) PageToken(pageToken string) *ProjectsInstancesClustersListCall {
6014	c.urlParams_.Set("pageToken", pageToken)
6015	return c
6016}
6017
6018// Fields allows partial responses to be retrieved. See
6019// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6020// for more information.
6021func (c *ProjectsInstancesClustersListCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersListCall {
6022	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6023	return c
6024}
6025
6026// IfNoneMatch sets the optional parameter which makes the operation
6027// fail if the object's ETag matches the given value. This is useful for
6028// getting updates only after the object has changed since the last
6029// request. Use googleapi.IsNotModified to check whether the response
6030// error from Do is the result of In-None-Match.
6031func (c *ProjectsInstancesClustersListCall) IfNoneMatch(entityTag string) *ProjectsInstancesClustersListCall {
6032	c.ifNoneMatch_ = entityTag
6033	return c
6034}
6035
6036// Context sets the context to be used in this call's Do method. Any
6037// pending HTTP request will be aborted if the provided context is
6038// canceled.
6039func (c *ProjectsInstancesClustersListCall) Context(ctx context.Context) *ProjectsInstancesClustersListCall {
6040	c.ctx_ = ctx
6041	return c
6042}
6043
6044// Header returns an http.Header that can be modified by the caller to
6045// add HTTP headers to the request.
6046func (c *ProjectsInstancesClustersListCall) Header() http.Header {
6047	if c.header_ == nil {
6048		c.header_ = make(http.Header)
6049	}
6050	return c.header_
6051}
6052
6053func (c *ProjectsInstancesClustersListCall) doRequest(alt string) (*http.Response, error) {
6054	reqHeaders := make(http.Header)
6055	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6056	for k, v := range c.header_ {
6057		reqHeaders[k] = v
6058	}
6059	reqHeaders.Set("User-Agent", c.s.userAgent())
6060	if c.ifNoneMatch_ != "" {
6061		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6062	}
6063	var body io.Reader = nil
6064	c.urlParams_.Set("alt", alt)
6065	c.urlParams_.Set("prettyPrint", "false")
6066	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/clusters")
6067	urls += "?" + c.urlParams_.Encode()
6068	req, err := http.NewRequest("GET", urls, body)
6069	if err != nil {
6070		return nil, err
6071	}
6072	req.Header = reqHeaders
6073	googleapi.Expand(req.URL, map[string]string{
6074		"parent": c.parent,
6075	})
6076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6077}
6078
6079// Do executes the "bigtableadmin.projects.instances.clusters.list" call.
6080// Exactly one of *ListClustersResponse or error will be non-nil. Any
6081// non-2xx status code is an error. Response headers are in either
6082// *ListClustersResponse.ServerResponse.Header or (if a response was
6083// returned at all) in error.(*googleapi.Error).Header. Use
6084// googleapi.IsNotModified to check whether the returned error was
6085// because http.StatusNotModified was returned.
6086func (c *ProjectsInstancesClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
6087	gensupport.SetOptions(c.urlParams_, opts...)
6088	res, err := c.doRequest("json")
6089	if res != nil && res.StatusCode == http.StatusNotModified {
6090		if res.Body != nil {
6091			res.Body.Close()
6092		}
6093		return nil, &googleapi.Error{
6094			Code:   res.StatusCode,
6095			Header: res.Header,
6096		}
6097	}
6098	if err != nil {
6099		return nil, err
6100	}
6101	defer googleapi.CloseBody(res)
6102	if err := googleapi.CheckResponse(res); err != nil {
6103		return nil, err
6104	}
6105	ret := &ListClustersResponse{
6106		ServerResponse: googleapi.ServerResponse{
6107			Header:         res.Header,
6108			HTTPStatusCode: res.StatusCode,
6109		},
6110	}
6111	target := &ret
6112	if err := gensupport.DecodeResponse(target, res); err != nil {
6113		return nil, err
6114	}
6115	return ret, nil
6116	// {
6117	//   "description": "Lists information about clusters in an instance.",
6118	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters",
6119	//   "httpMethod": "GET",
6120	//   "id": "bigtableadmin.projects.instances.clusters.list",
6121	//   "parameterOrder": [
6122	//     "parent"
6123	//   ],
6124	//   "parameters": {
6125	//     "pageToken": {
6126	//       "description": "DEPRECATED: This field is unused and ignored.",
6127	//       "location": "query",
6128	//       "type": "string"
6129	//     },
6130	//     "parent": {
6131	//       "description": "Required. The unique name of the instance for which a list of clusters is requested.\nValues are of the form `projects/{project}/instances/{instance}`.\nUse `{instance} = '-'` to list Clusters for all Instances in a project,\ne.g., `projects/myproject/instances/-`.",
6132	//       "location": "path",
6133	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
6134	//       "required": true,
6135	//       "type": "string"
6136	//     }
6137	//   },
6138	//   "path": "v2/{+parent}/clusters",
6139	//   "response": {
6140	//     "$ref": "ListClustersResponse"
6141	//   },
6142	//   "scopes": [
6143	//     "https://www.googleapis.com/auth/bigtable.admin",
6144	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
6145	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
6146	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6147	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
6148	//     "https://www.googleapis.com/auth/cloud-platform",
6149	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
6150	//   ]
6151	// }
6152
6153}
6154
6155// Pages invokes f for each page of results.
6156// A non-nil error returned from f will halt the iteration.
6157// The provided context supersedes any context provided to the Context method.
6158func (c *ProjectsInstancesClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) error) error {
6159	c.ctx_ = ctx
6160	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6161	for {
6162		x, err := c.Do()
6163		if err != nil {
6164			return err
6165		}
6166		if err := f(x); err != nil {
6167			return err
6168		}
6169		if x.NextPageToken == "" {
6170			return nil
6171		}
6172		c.PageToken(x.NextPageToken)
6173	}
6174}
6175
6176// method id "bigtableadmin.projects.instances.clusters.update":
6177
6178type ProjectsInstancesClustersUpdateCall struct {
6179	s          *Service
6180	name       string
6181	cluster    *Cluster
6182	urlParams_ gensupport.URLParams
6183	ctx_       context.Context
6184	header_    http.Header
6185}
6186
6187// Update: Updates a cluster within an instance.
6188func (r *ProjectsInstancesClustersService) Update(name string, cluster *Cluster) *ProjectsInstancesClustersUpdateCall {
6189	c := &ProjectsInstancesClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6190	c.name = name
6191	c.cluster = cluster
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
6197// for more information.
6198func (c *ProjectsInstancesClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersUpdateCall {
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. Any
6204// pending HTTP request will be aborted if the provided context is
6205// canceled.
6206func (c *ProjectsInstancesClustersUpdateCall) Context(ctx context.Context) *ProjectsInstancesClustersUpdateCall {
6207	c.ctx_ = ctx
6208	return c
6209}
6210
6211// Header returns an http.Header that can be modified by the caller to
6212// add HTTP headers to the request.
6213func (c *ProjectsInstancesClustersUpdateCall) Header() http.Header {
6214	if c.header_ == nil {
6215		c.header_ = make(http.Header)
6216	}
6217	return c.header_
6218}
6219
6220func (c *ProjectsInstancesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
6221	reqHeaders := make(http.Header)
6222	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6223	for k, v := range c.header_ {
6224		reqHeaders[k] = v
6225	}
6226	reqHeaders.Set("User-Agent", c.s.userAgent())
6227	var body io.Reader = nil
6228	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
6229	if err != nil {
6230		return nil, err
6231	}
6232	reqHeaders.Set("Content-Type", "application/json")
6233	c.urlParams_.Set("alt", alt)
6234	c.urlParams_.Set("prettyPrint", "false")
6235	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
6236	urls += "?" + c.urlParams_.Encode()
6237	req, err := http.NewRequest("PUT", urls, body)
6238	if err != nil {
6239		return nil, err
6240	}
6241	req.Header = reqHeaders
6242	googleapi.Expand(req.URL, map[string]string{
6243		"name": c.name,
6244	})
6245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6246}
6247
6248// Do executes the "bigtableadmin.projects.instances.clusters.update" call.
6249// Exactly one of *Operation or error will be non-nil. Any non-2xx
6250// status code is an error. Response headers are in either
6251// *Operation.ServerResponse.Header or (if a response was returned at
6252// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6253// to check whether the returned error was because
6254// http.StatusNotModified was returned.
6255func (c *ProjectsInstancesClustersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
6256	gensupport.SetOptions(c.urlParams_, opts...)
6257	res, err := c.doRequest("json")
6258	if res != nil && res.StatusCode == http.StatusNotModified {
6259		if res.Body != nil {
6260			res.Body.Close()
6261		}
6262		return nil, &googleapi.Error{
6263			Code:   res.StatusCode,
6264			Header: res.Header,
6265		}
6266	}
6267	if err != nil {
6268		return nil, err
6269	}
6270	defer googleapi.CloseBody(res)
6271	if err := googleapi.CheckResponse(res); err != nil {
6272		return nil, err
6273	}
6274	ret := &Operation{
6275		ServerResponse: googleapi.ServerResponse{
6276			Header:         res.Header,
6277			HTTPStatusCode: res.StatusCode,
6278		},
6279	}
6280	target := &ret
6281	if err := gensupport.DecodeResponse(target, res); err != nil {
6282		return nil, err
6283	}
6284	return ret, nil
6285	// {
6286	//   "description": "Updates a cluster within an instance.",
6287	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}",
6288	//   "httpMethod": "PUT",
6289	//   "id": "bigtableadmin.projects.instances.clusters.update",
6290	//   "parameterOrder": [
6291	//     "name"
6292	//   ],
6293	//   "parameters": {
6294	//     "name": {
6295	//       "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.",
6296	//       "location": "path",
6297	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$",
6298	//       "required": true,
6299	//       "type": "string"
6300	//     }
6301	//   },
6302	//   "path": "v2/{+name}",
6303	//   "request": {
6304	//     "$ref": "Cluster"
6305	//   },
6306	//   "response": {
6307	//     "$ref": "Operation"
6308	//   },
6309	//   "scopes": [
6310	//     "https://www.googleapis.com/auth/bigtable.admin",
6311	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
6312	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
6313	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6314	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
6315	//     "https://www.googleapis.com/auth/cloud-platform"
6316	//   ]
6317	// }
6318
6319}
6320
6321// method id "bigtableadmin.projects.instances.clusters.backups.getIamPolicy":
6322
6323type ProjectsInstancesClustersBackupsGetIamPolicyCall struct {
6324	s                   *Service
6325	resource            string
6326	getiampolicyrequest *GetIamPolicyRequest
6327	urlParams_          gensupport.URLParams
6328	ctx_                context.Context
6329	header_             http.Header
6330}
6331
6332// GetIamPolicy: Gets the access control policy for a Table or Backup
6333// resource.
6334// Returns an empty policy if the resource exists but does not have a
6335// policy
6336// set.
6337func (r *ProjectsInstancesClustersBackupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
6338	c := &ProjectsInstancesClustersBackupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6339	c.resource = resource
6340	c.getiampolicyrequest = getiampolicyrequest
6341	return c
6342}
6343
6344// Fields allows partial responses to be retrieved. See
6345// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6346// for more information.
6347func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
6348	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6349	return c
6350}
6351
6352// Context sets the context to be used in this call's Do method. Any
6353// pending HTTP request will be aborted if the provided context is
6354// canceled.
6355func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsGetIamPolicyCall {
6356	c.ctx_ = ctx
6357	return c
6358}
6359
6360// Header returns an http.Header that can be modified by the caller to
6361// add HTTP headers to the request.
6362func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Header() http.Header {
6363	if c.header_ == nil {
6364		c.header_ = make(http.Header)
6365	}
6366	return c.header_
6367}
6368
6369func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
6370	reqHeaders := make(http.Header)
6371	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6372	for k, v := range c.header_ {
6373		reqHeaders[k] = v
6374	}
6375	reqHeaders.Set("User-Agent", c.s.userAgent())
6376	var body io.Reader = nil
6377	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
6378	if err != nil {
6379		return nil, err
6380	}
6381	reqHeaders.Set("Content-Type", "application/json")
6382	c.urlParams_.Set("alt", alt)
6383	c.urlParams_.Set("prettyPrint", "false")
6384	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
6385	urls += "?" + c.urlParams_.Encode()
6386	req, err := http.NewRequest("POST", urls, body)
6387	if err != nil {
6388		return nil, err
6389	}
6390	req.Header = reqHeaders
6391	googleapi.Expand(req.URL, map[string]string{
6392		"resource": c.resource,
6393	})
6394	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6395}
6396
6397// Do executes the "bigtableadmin.projects.instances.clusters.backups.getIamPolicy" call.
6398// Exactly one of *Policy or error will be non-nil. Any non-2xx status
6399// code is an error. Response headers are in either
6400// *Policy.ServerResponse.Header or (if a response was returned at all)
6401// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6402// check whether the returned error was because http.StatusNotModified
6403// was returned.
6404func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
6405	gensupport.SetOptions(c.urlParams_, opts...)
6406	res, err := c.doRequest("json")
6407	if res != nil && res.StatusCode == http.StatusNotModified {
6408		if res.Body != nil {
6409			res.Body.Close()
6410		}
6411		return nil, &googleapi.Error{
6412			Code:   res.StatusCode,
6413			Header: res.Header,
6414		}
6415	}
6416	if err != nil {
6417		return nil, err
6418	}
6419	defer googleapi.CloseBody(res)
6420	if err := googleapi.CheckResponse(res); err != nil {
6421		return nil, err
6422	}
6423	ret := &Policy{
6424		ServerResponse: googleapi.ServerResponse{
6425			Header:         res.Header,
6426			HTTPStatusCode: res.StatusCode,
6427		},
6428	}
6429	target := &ret
6430	if err := gensupport.DecodeResponse(target, res); err != nil {
6431		return nil, err
6432	}
6433	return ret, nil
6434	// {
6435	//   "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.",
6436	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy",
6437	//   "httpMethod": "POST",
6438	//   "id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy",
6439	//   "parameterOrder": [
6440	//     "resource"
6441	//   ],
6442	//   "parameters": {
6443	//     "resource": {
6444	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
6445	//       "location": "path",
6446	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$",
6447	//       "required": true,
6448	//       "type": "string"
6449	//     }
6450	//   },
6451	//   "path": "v2/{+resource}:getIamPolicy",
6452	//   "request": {
6453	//     "$ref": "GetIamPolicyRequest"
6454	//   },
6455	//   "response": {
6456	//     "$ref": "Policy"
6457	//   },
6458	//   "scopes": [
6459	//     "https://www.googleapis.com/auth/bigtable.admin",
6460	//     "https://www.googleapis.com/auth/bigtable.admin.table",
6461	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6462	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
6463	//     "https://www.googleapis.com/auth/cloud-platform"
6464	//   ]
6465	// }
6466
6467}
6468
6469// method id "bigtableadmin.projects.instances.clusters.backups.setIamPolicy":
6470
6471type ProjectsInstancesClustersBackupsSetIamPolicyCall struct {
6472	s                   *Service
6473	resource            string
6474	setiampolicyrequest *SetIamPolicyRequest
6475	urlParams_          gensupport.URLParams
6476	ctx_                context.Context
6477	header_             http.Header
6478}
6479
6480// SetIamPolicy: Sets the access control policy on a Table or Backup
6481// resource.
6482// Replaces any existing policy.
6483func (r *ProjectsInstancesClustersBackupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
6484	c := &ProjectsInstancesClustersBackupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6485	c.resource = resource
6486	c.setiampolicyrequest = setiampolicyrequest
6487	return c
6488}
6489
6490// Fields allows partial responses to be retrieved. See
6491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6492// for more information.
6493func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
6494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6495	return c
6496}
6497
6498// Context sets the context to be used in this call's Do method. Any
6499// pending HTTP request will be aborted if the provided context is
6500// canceled.
6501func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsSetIamPolicyCall {
6502	c.ctx_ = ctx
6503	return c
6504}
6505
6506// Header returns an http.Header that can be modified by the caller to
6507// add HTTP headers to the request.
6508func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Header() http.Header {
6509	if c.header_ == nil {
6510		c.header_ = make(http.Header)
6511	}
6512	return c.header_
6513}
6514
6515func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
6516	reqHeaders := make(http.Header)
6517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6518	for k, v := range c.header_ {
6519		reqHeaders[k] = v
6520	}
6521	reqHeaders.Set("User-Agent", c.s.userAgent())
6522	var body io.Reader = nil
6523	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
6524	if err != nil {
6525		return nil, err
6526	}
6527	reqHeaders.Set("Content-Type", "application/json")
6528	c.urlParams_.Set("alt", alt)
6529	c.urlParams_.Set("prettyPrint", "false")
6530	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
6531	urls += "?" + c.urlParams_.Encode()
6532	req, err := http.NewRequest("POST", urls, body)
6533	if err != nil {
6534		return nil, err
6535	}
6536	req.Header = reqHeaders
6537	googleapi.Expand(req.URL, map[string]string{
6538		"resource": c.resource,
6539	})
6540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6541}
6542
6543// Do executes the "bigtableadmin.projects.instances.clusters.backups.setIamPolicy" call.
6544// Exactly one of *Policy or error will be non-nil. Any non-2xx status
6545// code is an error. Response headers are in either
6546// *Policy.ServerResponse.Header or (if a response was returned at all)
6547// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6548// check whether the returned error was because http.StatusNotModified
6549// was returned.
6550func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
6551	gensupport.SetOptions(c.urlParams_, opts...)
6552	res, err := c.doRequest("json")
6553	if res != nil && res.StatusCode == http.StatusNotModified {
6554		if res.Body != nil {
6555			res.Body.Close()
6556		}
6557		return nil, &googleapi.Error{
6558			Code:   res.StatusCode,
6559			Header: res.Header,
6560		}
6561	}
6562	if err != nil {
6563		return nil, err
6564	}
6565	defer googleapi.CloseBody(res)
6566	if err := googleapi.CheckResponse(res); err != nil {
6567		return nil, err
6568	}
6569	ret := &Policy{
6570		ServerResponse: googleapi.ServerResponse{
6571			Header:         res.Header,
6572			HTTPStatusCode: res.StatusCode,
6573		},
6574	}
6575	target := &ret
6576	if err := gensupport.DecodeResponse(target, res); err != nil {
6577		return nil, err
6578	}
6579	return ret, nil
6580	// {
6581	//   "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.",
6582	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy",
6583	//   "httpMethod": "POST",
6584	//   "id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy",
6585	//   "parameterOrder": [
6586	//     "resource"
6587	//   ],
6588	//   "parameters": {
6589	//     "resource": {
6590	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
6591	//       "location": "path",
6592	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$",
6593	//       "required": true,
6594	//       "type": "string"
6595	//     }
6596	//   },
6597	//   "path": "v2/{+resource}:setIamPolicy",
6598	//   "request": {
6599	//     "$ref": "SetIamPolicyRequest"
6600	//   },
6601	//   "response": {
6602	//     "$ref": "Policy"
6603	//   },
6604	//   "scopes": [
6605	//     "https://www.googleapis.com/auth/bigtable.admin",
6606	//     "https://www.googleapis.com/auth/bigtable.admin.table",
6607	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6608	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
6609	//     "https://www.googleapis.com/auth/cloud-platform"
6610	//   ]
6611	// }
6612
6613}
6614
6615// method id "bigtableadmin.projects.instances.clusters.backups.testIamPermissions":
6616
6617type ProjectsInstancesClustersBackupsTestIamPermissionsCall struct {
6618	s                         *Service
6619	resource                  string
6620	testiampermissionsrequest *TestIamPermissionsRequest
6621	urlParams_                gensupport.URLParams
6622	ctx_                      context.Context
6623	header_                   http.Header
6624}
6625
6626// TestIamPermissions: Returns permissions that the caller has on the
6627// specified table resource.
6628func (r *ProjectsInstancesClustersBackupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
6629	c := &ProjectsInstancesClustersBackupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6630	c.resource = resource
6631	c.testiampermissionsrequest = testiampermissionsrequest
6632	return c
6633}
6634
6635// Fields allows partial responses to be retrieved. See
6636// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6637// for more information.
6638func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
6639	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6640	return c
6641}
6642
6643// Context sets the context to be used in this call's Do method. Any
6644// pending HTTP request will be aborted if the provided context is
6645// canceled.
6646func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesClustersBackupsTestIamPermissionsCall {
6647	c.ctx_ = ctx
6648	return c
6649}
6650
6651// Header returns an http.Header that can be modified by the caller to
6652// add HTTP headers to the request.
6653func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Header() http.Header {
6654	if c.header_ == nil {
6655		c.header_ = make(http.Header)
6656	}
6657	return c.header_
6658}
6659
6660func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
6661	reqHeaders := make(http.Header)
6662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6663	for k, v := range c.header_ {
6664		reqHeaders[k] = v
6665	}
6666	reqHeaders.Set("User-Agent", c.s.userAgent())
6667	var body io.Reader = nil
6668	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
6669	if err != nil {
6670		return nil, err
6671	}
6672	reqHeaders.Set("Content-Type", "application/json")
6673	c.urlParams_.Set("alt", alt)
6674	c.urlParams_.Set("prettyPrint", "false")
6675	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
6676	urls += "?" + c.urlParams_.Encode()
6677	req, err := http.NewRequest("POST", urls, body)
6678	if err != nil {
6679		return nil, err
6680	}
6681	req.Header = reqHeaders
6682	googleapi.Expand(req.URL, map[string]string{
6683		"resource": c.resource,
6684	})
6685	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6686}
6687
6688// Do executes the "bigtableadmin.projects.instances.clusters.backups.testIamPermissions" call.
6689// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
6690// Any non-2xx status code is an error. Response headers are in either
6691// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
6692// was returned at all) in error.(*googleapi.Error).Header. Use
6693// googleapi.IsNotModified to check whether the returned error was
6694// because http.StatusNotModified was returned.
6695func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
6696	gensupport.SetOptions(c.urlParams_, opts...)
6697	res, err := c.doRequest("json")
6698	if res != nil && res.StatusCode == http.StatusNotModified {
6699		if res.Body != nil {
6700			res.Body.Close()
6701		}
6702		return nil, &googleapi.Error{
6703			Code:   res.StatusCode,
6704			Header: res.Header,
6705		}
6706	}
6707	if err != nil {
6708		return nil, err
6709	}
6710	defer googleapi.CloseBody(res)
6711	if err := googleapi.CheckResponse(res); err != nil {
6712		return nil, err
6713	}
6714	ret := &TestIamPermissionsResponse{
6715		ServerResponse: googleapi.ServerResponse{
6716			Header:         res.Header,
6717			HTTPStatusCode: res.StatusCode,
6718		},
6719	}
6720	target := &ret
6721	if err := gensupport.DecodeResponse(target, res); err != nil {
6722		return nil, err
6723	}
6724	return ret, nil
6725	// {
6726	//   "description": "Returns permissions that the caller has on the specified table resource.",
6727	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:testIamPermissions",
6728	//   "httpMethod": "POST",
6729	//   "id": "bigtableadmin.projects.instances.clusters.backups.testIamPermissions",
6730	//   "parameterOrder": [
6731	//     "resource"
6732	//   ],
6733	//   "parameters": {
6734	//     "resource": {
6735	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
6736	//       "location": "path",
6737	//       "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$",
6738	//       "required": true,
6739	//       "type": "string"
6740	//     }
6741	//   },
6742	//   "path": "v2/{+resource}:testIamPermissions",
6743	//   "request": {
6744	//     "$ref": "TestIamPermissionsRequest"
6745	//   },
6746	//   "response": {
6747	//     "$ref": "TestIamPermissionsResponse"
6748	//   },
6749	//   "scopes": [
6750	//     "https://www.googleapis.com/auth/bigtable.admin",
6751	//     "https://www.googleapis.com/auth/bigtable.admin.table",
6752	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6753	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
6754	//     "https://www.googleapis.com/auth/cloud-platform"
6755	//   ]
6756	// }
6757
6758}
6759
6760// method id "bigtableadmin.projects.instances.tables.checkConsistency":
6761
6762type ProjectsInstancesTablesCheckConsistencyCall struct {
6763	s                       *Service
6764	name                    string
6765	checkconsistencyrequest *CheckConsistencyRequest
6766	urlParams_              gensupport.URLParams
6767	ctx_                    context.Context
6768	header_                 http.Header
6769}
6770
6771// CheckConsistency: Checks replication consistency based on a
6772// consistency token, that is, if
6773// replication has caught up based on the conditions specified in the
6774// token
6775// and the check request.
6776func (r *ProjectsInstancesTablesService) CheckConsistency(name string, checkconsistencyrequest *CheckConsistencyRequest) *ProjectsInstancesTablesCheckConsistencyCall {
6777	c := &ProjectsInstancesTablesCheckConsistencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6778	c.name = name
6779	c.checkconsistencyrequest = checkconsistencyrequest
6780	return c
6781}
6782
6783// Fields allows partial responses to be retrieved. See
6784// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6785// for more information.
6786func (c *ProjectsInstancesTablesCheckConsistencyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesCheckConsistencyCall {
6787	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6788	return c
6789}
6790
6791// Context sets the context to be used in this call's Do method. Any
6792// pending HTTP request will be aborted if the provided context is
6793// canceled.
6794func (c *ProjectsInstancesTablesCheckConsistencyCall) Context(ctx context.Context) *ProjectsInstancesTablesCheckConsistencyCall {
6795	c.ctx_ = ctx
6796	return c
6797}
6798
6799// Header returns an http.Header that can be modified by the caller to
6800// add HTTP headers to the request.
6801func (c *ProjectsInstancesTablesCheckConsistencyCall) Header() http.Header {
6802	if c.header_ == nil {
6803		c.header_ = make(http.Header)
6804	}
6805	return c.header_
6806}
6807
6808func (c *ProjectsInstancesTablesCheckConsistencyCall) doRequest(alt string) (*http.Response, error) {
6809	reqHeaders := make(http.Header)
6810	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6811	for k, v := range c.header_ {
6812		reqHeaders[k] = v
6813	}
6814	reqHeaders.Set("User-Agent", c.s.userAgent())
6815	var body io.Reader = nil
6816	body, err := googleapi.WithoutDataWrapper.JSONReader(c.checkconsistencyrequest)
6817	if err != nil {
6818		return nil, err
6819	}
6820	reqHeaders.Set("Content-Type", "application/json")
6821	c.urlParams_.Set("alt", alt)
6822	c.urlParams_.Set("prettyPrint", "false")
6823	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:checkConsistency")
6824	urls += "?" + c.urlParams_.Encode()
6825	req, err := http.NewRequest("POST", urls, body)
6826	if err != nil {
6827		return nil, err
6828	}
6829	req.Header = reqHeaders
6830	googleapi.Expand(req.URL, map[string]string{
6831		"name": c.name,
6832	})
6833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6834}
6835
6836// Do executes the "bigtableadmin.projects.instances.tables.checkConsistency" call.
6837// Exactly one of *CheckConsistencyResponse or error will be non-nil.
6838// Any non-2xx status code is an error. Response headers are in either
6839// *CheckConsistencyResponse.ServerResponse.Header or (if a response was
6840// returned at all) in error.(*googleapi.Error).Header. Use
6841// googleapi.IsNotModified to check whether the returned error was
6842// because http.StatusNotModified was returned.
6843func (c *ProjectsInstancesTablesCheckConsistencyCall) Do(opts ...googleapi.CallOption) (*CheckConsistencyResponse, error) {
6844	gensupport.SetOptions(c.urlParams_, opts...)
6845	res, err := c.doRequest("json")
6846	if res != nil && res.StatusCode == http.StatusNotModified {
6847		if res.Body != nil {
6848			res.Body.Close()
6849		}
6850		return nil, &googleapi.Error{
6851			Code:   res.StatusCode,
6852			Header: res.Header,
6853		}
6854	}
6855	if err != nil {
6856		return nil, err
6857	}
6858	defer googleapi.CloseBody(res)
6859	if err := googleapi.CheckResponse(res); err != nil {
6860		return nil, err
6861	}
6862	ret := &CheckConsistencyResponse{
6863		ServerResponse: googleapi.ServerResponse{
6864			Header:         res.Header,
6865			HTTPStatusCode: res.StatusCode,
6866		},
6867	}
6868	target := &ret
6869	if err := gensupport.DecodeResponse(target, res); err != nil {
6870		return nil, err
6871	}
6872	return ret, nil
6873	// {
6874	//   "description": "Checks replication consistency based on a consistency token, that is, if\nreplication has caught up based on the conditions specified in the token\nand the check request.",
6875	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:checkConsistency",
6876	//   "httpMethod": "POST",
6877	//   "id": "bigtableadmin.projects.instances.tables.checkConsistency",
6878	//   "parameterOrder": [
6879	//     "name"
6880	//   ],
6881	//   "parameters": {
6882	//     "name": {
6883	//       "description": "Required. The unique name of the Table for which to check replication consistency.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
6884	//       "location": "path",
6885	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
6886	//       "required": true,
6887	//       "type": "string"
6888	//     }
6889	//   },
6890	//   "path": "v2/{+name}:checkConsistency",
6891	//   "request": {
6892	//     "$ref": "CheckConsistencyRequest"
6893	//   },
6894	//   "response": {
6895	//     "$ref": "CheckConsistencyResponse"
6896	//   },
6897	//   "scopes": [
6898	//     "https://www.googleapis.com/auth/bigtable.admin",
6899	//     "https://www.googleapis.com/auth/bigtable.admin.table",
6900	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
6901	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
6902	//     "https://www.googleapis.com/auth/cloud-platform"
6903	//   ]
6904	// }
6905
6906}
6907
6908// method id "bigtableadmin.projects.instances.tables.create":
6909
6910type ProjectsInstancesTablesCreateCall struct {
6911	s                  *Service
6912	parent             string
6913	createtablerequest *CreateTableRequest
6914	urlParams_         gensupport.URLParams
6915	ctx_               context.Context
6916	header_            http.Header
6917}
6918
6919// Create: Creates a new table in the specified instance.
6920// The table can be created with a full set of initial column
6921// families,
6922// specified in the request.
6923func (r *ProjectsInstancesTablesService) Create(parent string, createtablerequest *CreateTableRequest) *ProjectsInstancesTablesCreateCall {
6924	c := &ProjectsInstancesTablesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6925	c.parent = parent
6926	c.createtablerequest = createtablerequest
6927	return c
6928}
6929
6930// Fields allows partial responses to be retrieved. See
6931// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6932// for more information.
6933func (c *ProjectsInstancesTablesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesCreateCall {
6934	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6935	return c
6936}
6937
6938// Context sets the context to be used in this call's Do method. Any
6939// pending HTTP request will be aborted if the provided context is
6940// canceled.
6941func (c *ProjectsInstancesTablesCreateCall) Context(ctx context.Context) *ProjectsInstancesTablesCreateCall {
6942	c.ctx_ = ctx
6943	return c
6944}
6945
6946// Header returns an http.Header that can be modified by the caller to
6947// add HTTP headers to the request.
6948func (c *ProjectsInstancesTablesCreateCall) Header() http.Header {
6949	if c.header_ == nil {
6950		c.header_ = make(http.Header)
6951	}
6952	return c.header_
6953}
6954
6955func (c *ProjectsInstancesTablesCreateCall) doRequest(alt string) (*http.Response, error) {
6956	reqHeaders := make(http.Header)
6957	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
6958	for k, v := range c.header_ {
6959		reqHeaders[k] = v
6960	}
6961	reqHeaders.Set("User-Agent", c.s.userAgent())
6962	var body io.Reader = nil
6963	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createtablerequest)
6964	if err != nil {
6965		return nil, err
6966	}
6967	reqHeaders.Set("Content-Type", "application/json")
6968	c.urlParams_.Set("alt", alt)
6969	c.urlParams_.Set("prettyPrint", "false")
6970	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/tables")
6971	urls += "?" + c.urlParams_.Encode()
6972	req, err := http.NewRequest("POST", urls, body)
6973	if err != nil {
6974		return nil, err
6975	}
6976	req.Header = reqHeaders
6977	googleapi.Expand(req.URL, map[string]string{
6978		"parent": c.parent,
6979	})
6980	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6981}
6982
6983// Do executes the "bigtableadmin.projects.instances.tables.create" call.
6984// Exactly one of *Table or error will be non-nil. Any non-2xx status
6985// code is an error. Response headers are in either
6986// *Table.ServerResponse.Header or (if a response was returned at all)
6987// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6988// check whether the returned error was because http.StatusNotModified
6989// was returned.
6990func (c *ProjectsInstancesTablesCreateCall) Do(opts ...googleapi.CallOption) (*Table, error) {
6991	gensupport.SetOptions(c.urlParams_, opts...)
6992	res, err := c.doRequest("json")
6993	if res != nil && res.StatusCode == http.StatusNotModified {
6994		if res.Body != nil {
6995			res.Body.Close()
6996		}
6997		return nil, &googleapi.Error{
6998			Code:   res.StatusCode,
6999			Header: res.Header,
7000		}
7001	}
7002	if err != nil {
7003		return nil, err
7004	}
7005	defer googleapi.CloseBody(res)
7006	if err := googleapi.CheckResponse(res); err != nil {
7007		return nil, err
7008	}
7009	ret := &Table{
7010		ServerResponse: googleapi.ServerResponse{
7011			Header:         res.Header,
7012			HTTPStatusCode: res.StatusCode,
7013		},
7014	}
7015	target := &ret
7016	if err := gensupport.DecodeResponse(target, res); err != nil {
7017		return nil, err
7018	}
7019	return ret, nil
7020	// {
7021	//   "description": "Creates a new table in the specified instance.\nThe table can be created with a full set of initial column families,\nspecified in the request.",
7022	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables",
7023	//   "httpMethod": "POST",
7024	//   "id": "bigtableadmin.projects.instances.tables.create",
7025	//   "parameterOrder": [
7026	//     "parent"
7027	//   ],
7028	//   "parameters": {
7029	//     "parent": {
7030	//       "description": "Required. The unique name of the instance in which to create the table.\nValues are of the form `projects/{project}/instances/{instance}`.",
7031	//       "location": "path",
7032	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
7033	//       "required": true,
7034	//       "type": "string"
7035	//     }
7036	//   },
7037	//   "path": "v2/{+parent}/tables",
7038	//   "request": {
7039	//     "$ref": "CreateTableRequest"
7040	//   },
7041	//   "response": {
7042	//     "$ref": "Table"
7043	//   },
7044	//   "scopes": [
7045	//     "https://www.googleapis.com/auth/bigtable.admin",
7046	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7047	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7048	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7049	//     "https://www.googleapis.com/auth/cloud-platform"
7050	//   ]
7051	// }
7052
7053}
7054
7055// method id "bigtableadmin.projects.instances.tables.delete":
7056
7057type ProjectsInstancesTablesDeleteCall struct {
7058	s          *Service
7059	name       string
7060	urlParams_ gensupport.URLParams
7061	ctx_       context.Context
7062	header_    http.Header
7063}
7064
7065// Delete: Permanently deletes a specified table and all of its data.
7066func (r *ProjectsInstancesTablesService) Delete(name string) *ProjectsInstancesTablesDeleteCall {
7067	c := &ProjectsInstancesTablesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7068	c.name = name
7069	return c
7070}
7071
7072// Fields allows partial responses to be retrieved. See
7073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7074// for more information.
7075func (c *ProjectsInstancesTablesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesDeleteCall {
7076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7077	return c
7078}
7079
7080// Context sets the context to be used in this call's Do method. Any
7081// pending HTTP request will be aborted if the provided context is
7082// canceled.
7083func (c *ProjectsInstancesTablesDeleteCall) Context(ctx context.Context) *ProjectsInstancesTablesDeleteCall {
7084	c.ctx_ = ctx
7085	return c
7086}
7087
7088// Header returns an http.Header that can be modified by the caller to
7089// add HTTP headers to the request.
7090func (c *ProjectsInstancesTablesDeleteCall) Header() http.Header {
7091	if c.header_ == nil {
7092		c.header_ = make(http.Header)
7093	}
7094	return c.header_
7095}
7096
7097func (c *ProjectsInstancesTablesDeleteCall) doRequest(alt string) (*http.Response, error) {
7098	reqHeaders := make(http.Header)
7099	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7100	for k, v := range c.header_ {
7101		reqHeaders[k] = v
7102	}
7103	reqHeaders.Set("User-Agent", c.s.userAgent())
7104	var body io.Reader = nil
7105	c.urlParams_.Set("alt", alt)
7106	c.urlParams_.Set("prettyPrint", "false")
7107	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
7108	urls += "?" + c.urlParams_.Encode()
7109	req, err := http.NewRequest("DELETE", urls, body)
7110	if err != nil {
7111		return nil, err
7112	}
7113	req.Header = reqHeaders
7114	googleapi.Expand(req.URL, map[string]string{
7115		"name": c.name,
7116	})
7117	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7118}
7119
7120// Do executes the "bigtableadmin.projects.instances.tables.delete" call.
7121// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7122// code is an error. Response headers are in either
7123// *Empty.ServerResponse.Header or (if a response was returned at all)
7124// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7125// check whether the returned error was because http.StatusNotModified
7126// was returned.
7127func (c *ProjectsInstancesTablesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7128	gensupport.SetOptions(c.urlParams_, opts...)
7129	res, err := c.doRequest("json")
7130	if res != nil && res.StatusCode == http.StatusNotModified {
7131		if res.Body != nil {
7132			res.Body.Close()
7133		}
7134		return nil, &googleapi.Error{
7135			Code:   res.StatusCode,
7136			Header: res.Header,
7137		}
7138	}
7139	if err != nil {
7140		return nil, err
7141	}
7142	defer googleapi.CloseBody(res)
7143	if err := googleapi.CheckResponse(res); err != nil {
7144		return nil, err
7145	}
7146	ret := &Empty{
7147		ServerResponse: googleapi.ServerResponse{
7148			Header:         res.Header,
7149			HTTPStatusCode: res.StatusCode,
7150		},
7151	}
7152	target := &ret
7153	if err := gensupport.DecodeResponse(target, res); err != nil {
7154		return nil, err
7155	}
7156	return ret, nil
7157	// {
7158	//   "description": "Permanently deletes a specified table and all of its data.",
7159	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}",
7160	//   "httpMethod": "DELETE",
7161	//   "id": "bigtableadmin.projects.instances.tables.delete",
7162	//   "parameterOrder": [
7163	//     "name"
7164	//   ],
7165	//   "parameters": {
7166	//     "name": {
7167	//       "description": "Required. The unique name of the table to be deleted.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
7168	//       "location": "path",
7169	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
7170	//       "required": true,
7171	//       "type": "string"
7172	//     }
7173	//   },
7174	//   "path": "v2/{+name}",
7175	//   "response": {
7176	//     "$ref": "Empty"
7177	//   },
7178	//   "scopes": [
7179	//     "https://www.googleapis.com/auth/bigtable.admin",
7180	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7181	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7182	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7183	//     "https://www.googleapis.com/auth/cloud-platform"
7184	//   ]
7185	// }
7186
7187}
7188
7189// method id "bigtableadmin.projects.instances.tables.dropRowRange":
7190
7191type ProjectsInstancesTablesDropRowRangeCall struct {
7192	s                   *Service
7193	name                string
7194	droprowrangerequest *DropRowRangeRequest
7195	urlParams_          gensupport.URLParams
7196	ctx_                context.Context
7197	header_             http.Header
7198}
7199
7200// DropRowRange: Permanently drop/delete a row range from a specified
7201// table. The request can
7202// specify whether to delete all rows in a table, or only those that
7203// match a
7204// particular prefix.
7205func (r *ProjectsInstancesTablesService) DropRowRange(name string, droprowrangerequest *DropRowRangeRequest) *ProjectsInstancesTablesDropRowRangeCall {
7206	c := &ProjectsInstancesTablesDropRowRangeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7207	c.name = name
7208	c.droprowrangerequest = droprowrangerequest
7209	return c
7210}
7211
7212// Fields allows partial responses to be retrieved. See
7213// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7214// for more information.
7215func (c *ProjectsInstancesTablesDropRowRangeCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesDropRowRangeCall {
7216	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7217	return c
7218}
7219
7220// Context sets the context to be used in this call's Do method. Any
7221// pending HTTP request will be aborted if the provided context is
7222// canceled.
7223func (c *ProjectsInstancesTablesDropRowRangeCall) Context(ctx context.Context) *ProjectsInstancesTablesDropRowRangeCall {
7224	c.ctx_ = ctx
7225	return c
7226}
7227
7228// Header returns an http.Header that can be modified by the caller to
7229// add HTTP headers to the request.
7230func (c *ProjectsInstancesTablesDropRowRangeCall) Header() http.Header {
7231	if c.header_ == nil {
7232		c.header_ = make(http.Header)
7233	}
7234	return c.header_
7235}
7236
7237func (c *ProjectsInstancesTablesDropRowRangeCall) doRequest(alt string) (*http.Response, error) {
7238	reqHeaders := make(http.Header)
7239	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7240	for k, v := range c.header_ {
7241		reqHeaders[k] = v
7242	}
7243	reqHeaders.Set("User-Agent", c.s.userAgent())
7244	var body io.Reader = nil
7245	body, err := googleapi.WithoutDataWrapper.JSONReader(c.droprowrangerequest)
7246	if err != nil {
7247		return nil, err
7248	}
7249	reqHeaders.Set("Content-Type", "application/json")
7250	c.urlParams_.Set("alt", alt)
7251	c.urlParams_.Set("prettyPrint", "false")
7252	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:dropRowRange")
7253	urls += "?" + c.urlParams_.Encode()
7254	req, err := http.NewRequest("POST", urls, body)
7255	if err != nil {
7256		return nil, err
7257	}
7258	req.Header = reqHeaders
7259	googleapi.Expand(req.URL, map[string]string{
7260		"name": c.name,
7261	})
7262	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7263}
7264
7265// Do executes the "bigtableadmin.projects.instances.tables.dropRowRange" call.
7266// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7267// code is an error. Response headers are in either
7268// *Empty.ServerResponse.Header or (if a response was returned at all)
7269// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7270// check whether the returned error was because http.StatusNotModified
7271// was returned.
7272func (c *ProjectsInstancesTablesDropRowRangeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7273	gensupport.SetOptions(c.urlParams_, opts...)
7274	res, err := c.doRequest("json")
7275	if res != nil && res.StatusCode == http.StatusNotModified {
7276		if res.Body != nil {
7277			res.Body.Close()
7278		}
7279		return nil, &googleapi.Error{
7280			Code:   res.StatusCode,
7281			Header: res.Header,
7282		}
7283	}
7284	if err != nil {
7285		return nil, err
7286	}
7287	defer googleapi.CloseBody(res)
7288	if err := googleapi.CheckResponse(res); err != nil {
7289		return nil, err
7290	}
7291	ret := &Empty{
7292		ServerResponse: googleapi.ServerResponse{
7293			Header:         res.Header,
7294			HTTPStatusCode: res.StatusCode,
7295		},
7296	}
7297	target := &ret
7298	if err := gensupport.DecodeResponse(target, res); err != nil {
7299		return nil, err
7300	}
7301	return ret, nil
7302	// {
7303	//   "description": "Permanently drop/delete a row range from a specified table. The request can\nspecify whether to delete all rows in a table, or only those that match a\nparticular prefix.",
7304	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:dropRowRange",
7305	//   "httpMethod": "POST",
7306	//   "id": "bigtableadmin.projects.instances.tables.dropRowRange",
7307	//   "parameterOrder": [
7308	//     "name"
7309	//   ],
7310	//   "parameters": {
7311	//     "name": {
7312	//       "description": "Required. The unique name of the table on which to drop a range of rows.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
7313	//       "location": "path",
7314	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
7315	//       "required": true,
7316	//       "type": "string"
7317	//     }
7318	//   },
7319	//   "path": "v2/{+name}:dropRowRange",
7320	//   "request": {
7321	//     "$ref": "DropRowRangeRequest"
7322	//   },
7323	//   "response": {
7324	//     "$ref": "Empty"
7325	//   },
7326	//   "scopes": [
7327	//     "https://www.googleapis.com/auth/bigtable.admin",
7328	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7329	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7330	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7331	//     "https://www.googleapis.com/auth/cloud-platform"
7332	//   ]
7333	// }
7334
7335}
7336
7337// method id "bigtableadmin.projects.instances.tables.generateConsistencyToken":
7338
7339type ProjectsInstancesTablesGenerateConsistencyTokenCall struct {
7340	s                               *Service
7341	name                            string
7342	generateconsistencytokenrequest *GenerateConsistencyTokenRequest
7343	urlParams_                      gensupport.URLParams
7344	ctx_                            context.Context
7345	header_                         http.Header
7346}
7347
7348// GenerateConsistencyToken: Generates a consistency token for a Table,
7349// which can be used in
7350// CheckConsistency to check whether mutations to the table that
7351// finished
7352// before this call started have been replicated. The tokens will be
7353// available
7354// for 90 days.
7355func (r *ProjectsInstancesTablesService) GenerateConsistencyToken(name string, generateconsistencytokenrequest *GenerateConsistencyTokenRequest) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
7356	c := &ProjectsInstancesTablesGenerateConsistencyTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7357	c.name = name
7358	c.generateconsistencytokenrequest = generateconsistencytokenrequest
7359	return c
7360}
7361
7362// Fields allows partial responses to be retrieved. See
7363// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7364// for more information.
7365func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
7366	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7367	return c
7368}
7369
7370// Context sets the context to be used in this call's Do method. Any
7371// pending HTTP request will be aborted if the provided context is
7372// canceled.
7373func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Context(ctx context.Context) *ProjectsInstancesTablesGenerateConsistencyTokenCall {
7374	c.ctx_ = ctx
7375	return c
7376}
7377
7378// Header returns an http.Header that can be modified by the caller to
7379// add HTTP headers to the request.
7380func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Header() http.Header {
7381	if c.header_ == nil {
7382		c.header_ = make(http.Header)
7383	}
7384	return c.header_
7385}
7386
7387func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) doRequest(alt string) (*http.Response, error) {
7388	reqHeaders := make(http.Header)
7389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7390	for k, v := range c.header_ {
7391		reqHeaders[k] = v
7392	}
7393	reqHeaders.Set("User-Agent", c.s.userAgent())
7394	var body io.Reader = nil
7395	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateconsistencytokenrequest)
7396	if err != nil {
7397		return nil, err
7398	}
7399	reqHeaders.Set("Content-Type", "application/json")
7400	c.urlParams_.Set("alt", alt)
7401	c.urlParams_.Set("prettyPrint", "false")
7402	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:generateConsistencyToken")
7403	urls += "?" + c.urlParams_.Encode()
7404	req, err := http.NewRequest("POST", urls, body)
7405	if err != nil {
7406		return nil, err
7407	}
7408	req.Header = reqHeaders
7409	googleapi.Expand(req.URL, map[string]string{
7410		"name": c.name,
7411	})
7412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7413}
7414
7415// Do executes the "bigtableadmin.projects.instances.tables.generateConsistencyToken" call.
7416// Exactly one of *GenerateConsistencyTokenResponse or error will be
7417// non-nil. Any non-2xx status code is an error. Response headers are in
7418// either *GenerateConsistencyTokenResponse.ServerResponse.Header or (if
7419// a response was returned at all) in error.(*googleapi.Error).Header.
7420// Use googleapi.IsNotModified to check whether the returned error was
7421// because http.StatusNotModified was returned.
7422func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) Do(opts ...googleapi.CallOption) (*GenerateConsistencyTokenResponse, error) {
7423	gensupport.SetOptions(c.urlParams_, opts...)
7424	res, err := c.doRequest("json")
7425	if res != nil && res.StatusCode == http.StatusNotModified {
7426		if res.Body != nil {
7427			res.Body.Close()
7428		}
7429		return nil, &googleapi.Error{
7430			Code:   res.StatusCode,
7431			Header: res.Header,
7432		}
7433	}
7434	if err != nil {
7435		return nil, err
7436	}
7437	defer googleapi.CloseBody(res)
7438	if err := googleapi.CheckResponse(res); err != nil {
7439		return nil, err
7440	}
7441	ret := &GenerateConsistencyTokenResponse{
7442		ServerResponse: googleapi.ServerResponse{
7443			Header:         res.Header,
7444			HTTPStatusCode: res.StatusCode,
7445		},
7446	}
7447	target := &ret
7448	if err := gensupport.DecodeResponse(target, res); err != nil {
7449		return nil, err
7450	}
7451	return ret, nil
7452	// {
7453	//   "description": "Generates a consistency token for a Table, which can be used in\nCheckConsistency to check whether mutations to the table that finished\nbefore this call started have been replicated. The tokens will be available\nfor 90 days.",
7454	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:generateConsistencyToken",
7455	//   "httpMethod": "POST",
7456	//   "id": "bigtableadmin.projects.instances.tables.generateConsistencyToken",
7457	//   "parameterOrder": [
7458	//     "name"
7459	//   ],
7460	//   "parameters": {
7461	//     "name": {
7462	//       "description": "Required. The unique name of the Table for which to create a consistency token.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
7463	//       "location": "path",
7464	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
7465	//       "required": true,
7466	//       "type": "string"
7467	//     }
7468	//   },
7469	//   "path": "v2/{+name}:generateConsistencyToken",
7470	//   "request": {
7471	//     "$ref": "GenerateConsistencyTokenRequest"
7472	//   },
7473	//   "response": {
7474	//     "$ref": "GenerateConsistencyTokenResponse"
7475	//   },
7476	//   "scopes": [
7477	//     "https://www.googleapis.com/auth/bigtable.admin",
7478	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7479	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7480	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7481	//     "https://www.googleapis.com/auth/cloud-platform"
7482	//   ]
7483	// }
7484
7485}
7486
7487// method id "bigtableadmin.projects.instances.tables.get":
7488
7489type ProjectsInstancesTablesGetCall struct {
7490	s            *Service
7491	name         string
7492	urlParams_   gensupport.URLParams
7493	ifNoneMatch_ string
7494	ctx_         context.Context
7495	header_      http.Header
7496}
7497
7498// Get: Gets metadata information about the specified table.
7499func (r *ProjectsInstancesTablesService) Get(name string) *ProjectsInstancesTablesGetCall {
7500	c := &ProjectsInstancesTablesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7501	c.name = name
7502	return c
7503}
7504
7505// View sets the optional parameter "view": The view to be applied to
7506// the returned table's fields.
7507// Defaults to `SCHEMA_VIEW` if unspecified.
7508//
7509// Possible values:
7510//   "VIEW_UNSPECIFIED"
7511//   "NAME_ONLY"
7512//   "SCHEMA_VIEW"
7513//   "REPLICATION_VIEW"
7514//   "FULL"
7515func (c *ProjectsInstancesTablesGetCall) View(view string) *ProjectsInstancesTablesGetCall {
7516	c.urlParams_.Set("view", view)
7517	return c
7518}
7519
7520// Fields allows partial responses to be retrieved. See
7521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7522// for more information.
7523func (c *ProjectsInstancesTablesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGetCall {
7524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7525	return c
7526}
7527
7528// IfNoneMatch sets the optional parameter which makes the operation
7529// fail if the object's ETag matches the given value. This is useful for
7530// getting updates only after the object has changed since the last
7531// request. Use googleapi.IsNotModified to check whether the response
7532// error from Do is the result of In-None-Match.
7533func (c *ProjectsInstancesTablesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesGetCall {
7534	c.ifNoneMatch_ = entityTag
7535	return c
7536}
7537
7538// Context sets the context to be used in this call's Do method. Any
7539// pending HTTP request will be aborted if the provided context is
7540// canceled.
7541func (c *ProjectsInstancesTablesGetCall) Context(ctx context.Context) *ProjectsInstancesTablesGetCall {
7542	c.ctx_ = ctx
7543	return c
7544}
7545
7546// Header returns an http.Header that can be modified by the caller to
7547// add HTTP headers to the request.
7548func (c *ProjectsInstancesTablesGetCall) Header() http.Header {
7549	if c.header_ == nil {
7550		c.header_ = make(http.Header)
7551	}
7552	return c.header_
7553}
7554
7555func (c *ProjectsInstancesTablesGetCall) doRequest(alt string) (*http.Response, error) {
7556	reqHeaders := make(http.Header)
7557	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7558	for k, v := range c.header_ {
7559		reqHeaders[k] = v
7560	}
7561	reqHeaders.Set("User-Agent", c.s.userAgent())
7562	if c.ifNoneMatch_ != "" {
7563		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7564	}
7565	var body io.Reader = nil
7566	c.urlParams_.Set("alt", alt)
7567	c.urlParams_.Set("prettyPrint", "false")
7568	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
7569	urls += "?" + c.urlParams_.Encode()
7570	req, err := http.NewRequest("GET", urls, body)
7571	if err != nil {
7572		return nil, err
7573	}
7574	req.Header = reqHeaders
7575	googleapi.Expand(req.URL, map[string]string{
7576		"name": c.name,
7577	})
7578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7579}
7580
7581// Do executes the "bigtableadmin.projects.instances.tables.get" call.
7582// Exactly one of *Table or error will be non-nil. Any non-2xx status
7583// code is an error. Response headers are in either
7584// *Table.ServerResponse.Header or (if a response was returned at all)
7585// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7586// check whether the returned error was because http.StatusNotModified
7587// was returned.
7588func (c *ProjectsInstancesTablesGetCall) Do(opts ...googleapi.CallOption) (*Table, error) {
7589	gensupport.SetOptions(c.urlParams_, opts...)
7590	res, err := c.doRequest("json")
7591	if res != nil && res.StatusCode == http.StatusNotModified {
7592		if res.Body != nil {
7593			res.Body.Close()
7594		}
7595		return nil, &googleapi.Error{
7596			Code:   res.StatusCode,
7597			Header: res.Header,
7598		}
7599	}
7600	if err != nil {
7601		return nil, err
7602	}
7603	defer googleapi.CloseBody(res)
7604	if err := googleapi.CheckResponse(res); err != nil {
7605		return nil, err
7606	}
7607	ret := &Table{
7608		ServerResponse: googleapi.ServerResponse{
7609			Header:         res.Header,
7610			HTTPStatusCode: res.StatusCode,
7611		},
7612	}
7613	target := &ret
7614	if err := gensupport.DecodeResponse(target, res); err != nil {
7615		return nil, err
7616	}
7617	return ret, nil
7618	// {
7619	//   "description": "Gets metadata information about the specified table.",
7620	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}",
7621	//   "httpMethod": "GET",
7622	//   "id": "bigtableadmin.projects.instances.tables.get",
7623	//   "parameterOrder": [
7624	//     "name"
7625	//   ],
7626	//   "parameters": {
7627	//     "name": {
7628	//       "description": "Required. The unique name of the requested table.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
7629	//       "location": "path",
7630	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
7631	//       "required": true,
7632	//       "type": "string"
7633	//     },
7634	//     "view": {
7635	//       "description": "The view to be applied to the returned table's fields.\nDefaults to `SCHEMA_VIEW` if unspecified.",
7636	//       "enum": [
7637	//         "VIEW_UNSPECIFIED",
7638	//         "NAME_ONLY",
7639	//         "SCHEMA_VIEW",
7640	//         "REPLICATION_VIEW",
7641	//         "FULL"
7642	//       ],
7643	//       "location": "query",
7644	//       "type": "string"
7645	//     }
7646	//   },
7647	//   "path": "v2/{+name}",
7648	//   "response": {
7649	//     "$ref": "Table"
7650	//   },
7651	//   "scopes": [
7652	//     "https://www.googleapis.com/auth/bigtable.admin",
7653	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7654	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7655	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7656	//     "https://www.googleapis.com/auth/cloud-platform",
7657	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
7658	//   ]
7659	// }
7660
7661}
7662
7663// method id "bigtableadmin.projects.instances.tables.getIamPolicy":
7664
7665type ProjectsInstancesTablesGetIamPolicyCall struct {
7666	s                   *Service
7667	resource            string
7668	getiampolicyrequest *GetIamPolicyRequest
7669	urlParams_          gensupport.URLParams
7670	ctx_                context.Context
7671	header_             http.Header
7672}
7673
7674// GetIamPolicy: Gets the access control policy for a Table or Backup
7675// resource.
7676// Returns an empty policy if the resource exists but does not have a
7677// policy
7678// set.
7679func (r *ProjectsInstancesTablesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesTablesGetIamPolicyCall {
7680	c := &ProjectsInstancesTablesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7681	c.resource = resource
7682	c.getiampolicyrequest = getiampolicyrequest
7683	return c
7684}
7685
7686// Fields allows partial responses to be retrieved. See
7687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7688// for more information.
7689func (c *ProjectsInstancesTablesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesGetIamPolicyCall {
7690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7691	return c
7692}
7693
7694// Context sets the context to be used in this call's Do method. Any
7695// pending HTTP request will be aborted if the provided context is
7696// canceled.
7697func (c *ProjectsInstancesTablesGetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesGetIamPolicyCall {
7698	c.ctx_ = ctx
7699	return c
7700}
7701
7702// Header returns an http.Header that can be modified by the caller to
7703// add HTTP headers to the request.
7704func (c *ProjectsInstancesTablesGetIamPolicyCall) Header() http.Header {
7705	if c.header_ == nil {
7706		c.header_ = make(http.Header)
7707	}
7708	return c.header_
7709}
7710
7711func (c *ProjectsInstancesTablesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7712	reqHeaders := make(http.Header)
7713	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7714	for k, v := range c.header_ {
7715		reqHeaders[k] = v
7716	}
7717	reqHeaders.Set("User-Agent", c.s.userAgent())
7718	var body io.Reader = nil
7719	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
7720	if err != nil {
7721		return nil, err
7722	}
7723	reqHeaders.Set("Content-Type", "application/json")
7724	c.urlParams_.Set("alt", alt)
7725	c.urlParams_.Set("prettyPrint", "false")
7726	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:getIamPolicy")
7727	urls += "?" + c.urlParams_.Encode()
7728	req, err := http.NewRequest("POST", urls, body)
7729	if err != nil {
7730		return nil, err
7731	}
7732	req.Header = reqHeaders
7733	googleapi.Expand(req.URL, map[string]string{
7734		"resource": c.resource,
7735	})
7736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7737}
7738
7739// Do executes the "bigtableadmin.projects.instances.tables.getIamPolicy" call.
7740// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7741// code is an error. Response headers are in either
7742// *Policy.ServerResponse.Header or (if a response was returned at all)
7743// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7744// check whether the returned error was because http.StatusNotModified
7745// was returned.
7746func (c *ProjectsInstancesTablesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7747	gensupport.SetOptions(c.urlParams_, opts...)
7748	res, err := c.doRequest("json")
7749	if res != nil && res.StatusCode == http.StatusNotModified {
7750		if res.Body != nil {
7751			res.Body.Close()
7752		}
7753		return nil, &googleapi.Error{
7754			Code:   res.StatusCode,
7755			Header: res.Header,
7756		}
7757	}
7758	if err != nil {
7759		return nil, err
7760	}
7761	defer googleapi.CloseBody(res)
7762	if err := googleapi.CheckResponse(res); err != nil {
7763		return nil, err
7764	}
7765	ret := &Policy{
7766		ServerResponse: googleapi.ServerResponse{
7767			Header:         res.Header,
7768			HTTPStatusCode: res.StatusCode,
7769		},
7770	}
7771	target := &ret
7772	if err := gensupport.DecodeResponse(target, res); err != nil {
7773		return nil, err
7774	}
7775	return ret, nil
7776	// {
7777	//   "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.",
7778	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy",
7779	//   "httpMethod": "POST",
7780	//   "id": "bigtableadmin.projects.instances.tables.getIamPolicy",
7781	//   "parameterOrder": [
7782	//     "resource"
7783	//   ],
7784	//   "parameters": {
7785	//     "resource": {
7786	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
7787	//       "location": "path",
7788	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
7789	//       "required": true,
7790	//       "type": "string"
7791	//     }
7792	//   },
7793	//   "path": "v2/{+resource}:getIamPolicy",
7794	//   "request": {
7795	//     "$ref": "GetIamPolicyRequest"
7796	//   },
7797	//   "response": {
7798	//     "$ref": "Policy"
7799	//   },
7800	//   "scopes": [
7801	//     "https://www.googleapis.com/auth/bigtable.admin",
7802	//     "https://www.googleapis.com/auth/bigtable.admin.table",
7803	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
7804	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
7805	//     "https://www.googleapis.com/auth/cloud-platform"
7806	//   ]
7807	// }
7808
7809}
7810
7811// method id "bigtableadmin.projects.instances.tables.list":
7812
7813type ProjectsInstancesTablesListCall struct {
7814	s            *Service
7815	parent       string
7816	urlParams_   gensupport.URLParams
7817	ifNoneMatch_ string
7818	ctx_         context.Context
7819	header_      http.Header
7820}
7821
7822// List: Lists all tables served from a specified instance.
7823func (r *ProjectsInstancesTablesService) List(parent string) *ProjectsInstancesTablesListCall {
7824	c := &ProjectsInstancesTablesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7825	c.parent = parent
7826	return c
7827}
7828
7829// PageSize sets the optional parameter "pageSize": Maximum number of
7830// results per page.
7831//
7832// A page_size of zero lets the server choose the number of items to
7833// return.
7834// A page_size which is strictly positive will return at most that many
7835// items.
7836// A negative page_size will cause an error.
7837//
7838// Following the first request, subsequent paginated calls are not
7839// required
7840// to pass a page_size. If a page_size is set in subsequent calls, it
7841// must
7842// match the page_size given in the first request.
7843func (c *ProjectsInstancesTablesListCall) PageSize(pageSize int64) *ProjectsInstancesTablesListCall {
7844	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
7845	return c
7846}
7847
7848// PageToken sets the optional parameter "pageToken": The value of
7849// `next_page_token` returned by a previous call.
7850func (c *ProjectsInstancesTablesListCall) PageToken(pageToken string) *ProjectsInstancesTablesListCall {
7851	c.urlParams_.Set("pageToken", pageToken)
7852	return c
7853}
7854
7855// View sets the optional parameter "view": The view to be applied to
7856// the returned tables' fields.
7857// Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.
7858//
7859// Possible values:
7860//   "VIEW_UNSPECIFIED"
7861//   "NAME_ONLY"
7862//   "SCHEMA_VIEW"
7863//   "REPLICATION_VIEW"
7864//   "FULL"
7865func (c *ProjectsInstancesTablesListCall) View(view string) *ProjectsInstancesTablesListCall {
7866	c.urlParams_.Set("view", view)
7867	return c
7868}
7869
7870// Fields allows partial responses to be retrieved. See
7871// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7872// for more information.
7873func (c *ProjectsInstancesTablesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesListCall {
7874	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7875	return c
7876}
7877
7878// IfNoneMatch sets the optional parameter which makes the operation
7879// fail if the object's ETag matches the given value. This is useful for
7880// getting updates only after the object has changed since the last
7881// request. Use googleapi.IsNotModified to check whether the response
7882// error from Do is the result of In-None-Match.
7883func (c *ProjectsInstancesTablesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesTablesListCall {
7884	c.ifNoneMatch_ = entityTag
7885	return c
7886}
7887
7888// Context sets the context to be used in this call's Do method. Any
7889// pending HTTP request will be aborted if the provided context is
7890// canceled.
7891func (c *ProjectsInstancesTablesListCall) Context(ctx context.Context) *ProjectsInstancesTablesListCall {
7892	c.ctx_ = ctx
7893	return c
7894}
7895
7896// Header returns an http.Header that can be modified by the caller to
7897// add HTTP headers to the request.
7898func (c *ProjectsInstancesTablesListCall) Header() http.Header {
7899	if c.header_ == nil {
7900		c.header_ = make(http.Header)
7901	}
7902	return c.header_
7903}
7904
7905func (c *ProjectsInstancesTablesListCall) doRequest(alt string) (*http.Response, error) {
7906	reqHeaders := make(http.Header)
7907	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
7908	for k, v := range c.header_ {
7909		reqHeaders[k] = v
7910	}
7911	reqHeaders.Set("User-Agent", c.s.userAgent())
7912	if c.ifNoneMatch_ != "" {
7913		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7914	}
7915	var body io.Reader = nil
7916	c.urlParams_.Set("alt", alt)
7917	c.urlParams_.Set("prettyPrint", "false")
7918	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/tables")
7919	urls += "?" + c.urlParams_.Encode()
7920	req, err := http.NewRequest("GET", urls, body)
7921	if err != nil {
7922		return nil, err
7923	}
7924	req.Header = reqHeaders
7925	googleapi.Expand(req.URL, map[string]string{
7926		"parent": c.parent,
7927	})
7928	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7929}
7930
7931// Do executes the "bigtableadmin.projects.instances.tables.list" call.
7932// Exactly one of *ListTablesResponse or error will be non-nil. Any
7933// non-2xx status code is an error. Response headers are in either
7934// *ListTablesResponse.ServerResponse.Header or (if a response was
7935// returned at all) in error.(*googleapi.Error).Header. Use
7936// googleapi.IsNotModified to check whether the returned error was
7937// because http.StatusNotModified was returned.
7938func (c *ProjectsInstancesTablesListCall) Do(opts ...googleapi.CallOption) (*ListTablesResponse, error) {
7939	gensupport.SetOptions(c.urlParams_, opts...)
7940	res, err := c.doRequest("json")
7941	if res != nil && res.StatusCode == http.StatusNotModified {
7942		if res.Body != nil {
7943			res.Body.Close()
7944		}
7945		return nil, &googleapi.Error{
7946			Code:   res.StatusCode,
7947			Header: res.Header,
7948		}
7949	}
7950	if err != nil {
7951		return nil, err
7952	}
7953	defer googleapi.CloseBody(res)
7954	if err := googleapi.CheckResponse(res); err != nil {
7955		return nil, err
7956	}
7957	ret := &ListTablesResponse{
7958		ServerResponse: googleapi.ServerResponse{
7959			Header:         res.Header,
7960			HTTPStatusCode: res.StatusCode,
7961		},
7962	}
7963	target := &ret
7964	if err := gensupport.DecodeResponse(target, res); err != nil {
7965		return nil, err
7966	}
7967	return ret, nil
7968	// {
7969	//   "description": "Lists all tables served from a specified instance.",
7970	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables",
7971	//   "httpMethod": "GET",
7972	//   "id": "bigtableadmin.projects.instances.tables.list",
7973	//   "parameterOrder": [
7974	//     "parent"
7975	//   ],
7976	//   "parameters": {
7977	//     "pageSize": {
7978	//       "description": "Maximum number of results per page.\n\nA page_size of zero lets the server choose the number of items to return.\nA page_size which is strictly positive will return at most that many items.\nA negative page_size will cause an error.\n\nFollowing the first request, subsequent paginated calls are not required\nto pass a page_size. If a page_size is set in subsequent calls, it must\nmatch the page_size given in the first request.",
7979	//       "format": "int32",
7980	//       "location": "query",
7981	//       "type": "integer"
7982	//     },
7983	//     "pageToken": {
7984	//       "description": "The value of `next_page_token` returned by a previous call.",
7985	//       "location": "query",
7986	//       "type": "string"
7987	//     },
7988	//     "parent": {
7989	//       "description": "Required. The unique name of the instance for which tables should be listed.\nValues are of the form `projects/{project}/instances/{instance}`.",
7990	//       "location": "path",
7991	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
7992	//       "required": true,
7993	//       "type": "string"
7994	//     },
7995	//     "view": {
7996	//       "description": "The view to be applied to the returned tables' fields.\nOnly NAME_ONLY view (default) and REPLICATION_VIEW are supported.",
7997	//       "enum": [
7998	//         "VIEW_UNSPECIFIED",
7999	//         "NAME_ONLY",
8000	//         "SCHEMA_VIEW",
8001	//         "REPLICATION_VIEW",
8002	//         "FULL"
8003	//       ],
8004	//       "location": "query",
8005	//       "type": "string"
8006	//     }
8007	//   },
8008	//   "path": "v2/{+parent}/tables",
8009	//   "response": {
8010	//     "$ref": "ListTablesResponse"
8011	//   },
8012	//   "scopes": [
8013	//     "https://www.googleapis.com/auth/bigtable.admin",
8014	//     "https://www.googleapis.com/auth/bigtable.admin.table",
8015	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8016	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
8017	//     "https://www.googleapis.com/auth/cloud-platform",
8018	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8019	//   ]
8020	// }
8021
8022}
8023
8024// Pages invokes f for each page of results.
8025// A non-nil error returned from f will halt the iteration.
8026// The provided context supersedes any context provided to the Context method.
8027func (c *ProjectsInstancesTablesListCall) Pages(ctx context.Context, f func(*ListTablesResponse) error) error {
8028	c.ctx_ = ctx
8029	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8030	for {
8031		x, err := c.Do()
8032		if err != nil {
8033			return err
8034		}
8035		if err := f(x); err != nil {
8036			return err
8037		}
8038		if x.NextPageToken == "" {
8039			return nil
8040		}
8041		c.PageToken(x.NextPageToken)
8042	}
8043}
8044
8045// method id "bigtableadmin.projects.instances.tables.modifyColumnFamilies":
8046
8047type ProjectsInstancesTablesModifyColumnFamiliesCall struct {
8048	s                           *Service
8049	name                        string
8050	modifycolumnfamiliesrequest *ModifyColumnFamiliesRequest
8051	urlParams_                  gensupport.URLParams
8052	ctx_                        context.Context
8053	header_                     http.Header
8054}
8055
8056// ModifyColumnFamilies: Performs a series of column family
8057// modifications on the specified table.
8058// Either all or none of the modifications will occur before this
8059// method
8060// returns, but data requests received prior to that point may see a
8061// table
8062// where only some modifications have taken effect.
8063func (r *ProjectsInstancesTablesService) ModifyColumnFamilies(name string, modifycolumnfamiliesrequest *ModifyColumnFamiliesRequest) *ProjectsInstancesTablesModifyColumnFamiliesCall {
8064	c := &ProjectsInstancesTablesModifyColumnFamiliesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8065	c.name = name
8066	c.modifycolumnfamiliesrequest = modifycolumnfamiliesrequest
8067	return c
8068}
8069
8070// Fields allows partial responses to be retrieved. See
8071// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8072// for more information.
8073func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesModifyColumnFamiliesCall {
8074	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8075	return c
8076}
8077
8078// Context sets the context to be used in this call's Do method. Any
8079// pending HTTP request will be aborted if the provided context is
8080// canceled.
8081func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Context(ctx context.Context) *ProjectsInstancesTablesModifyColumnFamiliesCall {
8082	c.ctx_ = ctx
8083	return c
8084}
8085
8086// Header returns an http.Header that can be modified by the caller to
8087// add HTTP headers to the request.
8088func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Header() http.Header {
8089	if c.header_ == nil {
8090		c.header_ = make(http.Header)
8091	}
8092	return c.header_
8093}
8094
8095func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) doRequest(alt string) (*http.Response, error) {
8096	reqHeaders := make(http.Header)
8097	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
8098	for k, v := range c.header_ {
8099		reqHeaders[k] = v
8100	}
8101	reqHeaders.Set("User-Agent", c.s.userAgent())
8102	var body io.Reader = nil
8103	body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifycolumnfamiliesrequest)
8104	if err != nil {
8105		return nil, err
8106	}
8107	reqHeaders.Set("Content-Type", "application/json")
8108	c.urlParams_.Set("alt", alt)
8109	c.urlParams_.Set("prettyPrint", "false")
8110	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:modifyColumnFamilies")
8111	urls += "?" + c.urlParams_.Encode()
8112	req, err := http.NewRequest("POST", urls, body)
8113	if err != nil {
8114		return nil, err
8115	}
8116	req.Header = reqHeaders
8117	googleapi.Expand(req.URL, map[string]string{
8118		"name": c.name,
8119	})
8120	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8121}
8122
8123// Do executes the "bigtableadmin.projects.instances.tables.modifyColumnFamilies" call.
8124// Exactly one of *Table or error will be non-nil. Any non-2xx status
8125// code is an error. Response headers are in either
8126// *Table.ServerResponse.Header or (if a response was returned at all)
8127// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8128// check whether the returned error was because http.StatusNotModified
8129// was returned.
8130func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) Do(opts ...googleapi.CallOption) (*Table, error) {
8131	gensupport.SetOptions(c.urlParams_, opts...)
8132	res, err := c.doRequest("json")
8133	if res != nil && res.StatusCode == http.StatusNotModified {
8134		if res.Body != nil {
8135			res.Body.Close()
8136		}
8137		return nil, &googleapi.Error{
8138			Code:   res.StatusCode,
8139			Header: res.Header,
8140		}
8141	}
8142	if err != nil {
8143		return nil, err
8144	}
8145	defer googleapi.CloseBody(res)
8146	if err := googleapi.CheckResponse(res); err != nil {
8147		return nil, err
8148	}
8149	ret := &Table{
8150		ServerResponse: googleapi.ServerResponse{
8151			Header:         res.Header,
8152			HTTPStatusCode: res.StatusCode,
8153		},
8154	}
8155	target := &ret
8156	if err := gensupport.DecodeResponse(target, res); err != nil {
8157		return nil, err
8158	}
8159	return ret, nil
8160	// {
8161	//   "description": "Performs a series of column family modifications on the specified table.\nEither all or none of the modifications will occur before this method\nreturns, but data requests received prior to that point may see a table\nwhere only some modifications have taken effect.",
8162	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:modifyColumnFamilies",
8163	//   "httpMethod": "POST",
8164	//   "id": "bigtableadmin.projects.instances.tables.modifyColumnFamilies",
8165	//   "parameterOrder": [
8166	//     "name"
8167	//   ],
8168	//   "parameters": {
8169	//     "name": {
8170	//       "description": "Required. The unique name of the table whose families should be modified.\nValues are of the form\n`projects/{project}/instances/{instance}/tables/{table}`.",
8171	//       "location": "path",
8172	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
8173	//       "required": true,
8174	//       "type": "string"
8175	//     }
8176	//   },
8177	//   "path": "v2/{+name}:modifyColumnFamilies",
8178	//   "request": {
8179	//     "$ref": "ModifyColumnFamiliesRequest"
8180	//   },
8181	//   "response": {
8182	//     "$ref": "Table"
8183	//   },
8184	//   "scopes": [
8185	//     "https://www.googleapis.com/auth/bigtable.admin",
8186	//     "https://www.googleapis.com/auth/bigtable.admin.table",
8187	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8188	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
8189	//     "https://www.googleapis.com/auth/cloud-platform"
8190	//   ]
8191	// }
8192
8193}
8194
8195// method id "bigtableadmin.projects.instances.tables.setIamPolicy":
8196
8197type ProjectsInstancesTablesSetIamPolicyCall struct {
8198	s                   *Service
8199	resource            string
8200	setiampolicyrequest *SetIamPolicyRequest
8201	urlParams_          gensupport.URLParams
8202	ctx_                context.Context
8203	header_             http.Header
8204}
8205
8206// SetIamPolicy: Sets the access control policy on a Table or Backup
8207// resource.
8208// Replaces any existing policy.
8209func (r *ProjectsInstancesTablesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesTablesSetIamPolicyCall {
8210	c := &ProjectsInstancesTablesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8211	c.resource = resource
8212	c.setiampolicyrequest = setiampolicyrequest
8213	return c
8214}
8215
8216// Fields allows partial responses to be retrieved. See
8217// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8218// for more information.
8219func (c *ProjectsInstancesTablesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesSetIamPolicyCall {
8220	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8221	return c
8222}
8223
8224// Context sets the context to be used in this call's Do method. Any
8225// pending HTTP request will be aborted if the provided context is
8226// canceled.
8227func (c *ProjectsInstancesTablesSetIamPolicyCall) Context(ctx context.Context) *ProjectsInstancesTablesSetIamPolicyCall {
8228	c.ctx_ = ctx
8229	return c
8230}
8231
8232// Header returns an http.Header that can be modified by the caller to
8233// add HTTP headers to the request.
8234func (c *ProjectsInstancesTablesSetIamPolicyCall) Header() http.Header {
8235	if c.header_ == nil {
8236		c.header_ = make(http.Header)
8237	}
8238	return c.header_
8239}
8240
8241func (c *ProjectsInstancesTablesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
8242	reqHeaders := make(http.Header)
8243	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
8244	for k, v := range c.header_ {
8245		reqHeaders[k] = v
8246	}
8247	reqHeaders.Set("User-Agent", c.s.userAgent())
8248	var body io.Reader = nil
8249	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
8250	if err != nil {
8251		return nil, err
8252	}
8253	reqHeaders.Set("Content-Type", "application/json")
8254	c.urlParams_.Set("alt", alt)
8255	c.urlParams_.Set("prettyPrint", "false")
8256	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:setIamPolicy")
8257	urls += "?" + c.urlParams_.Encode()
8258	req, err := http.NewRequest("POST", urls, body)
8259	if err != nil {
8260		return nil, err
8261	}
8262	req.Header = reqHeaders
8263	googleapi.Expand(req.URL, map[string]string{
8264		"resource": c.resource,
8265	})
8266	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8267}
8268
8269// Do executes the "bigtableadmin.projects.instances.tables.setIamPolicy" call.
8270// Exactly one of *Policy or error will be non-nil. Any non-2xx status
8271// code is an error. Response headers are in either
8272// *Policy.ServerResponse.Header or (if a response was returned at all)
8273// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8274// check whether the returned error was because http.StatusNotModified
8275// was returned.
8276func (c *ProjectsInstancesTablesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
8277	gensupport.SetOptions(c.urlParams_, opts...)
8278	res, err := c.doRequest("json")
8279	if res != nil && res.StatusCode == http.StatusNotModified {
8280		if res.Body != nil {
8281			res.Body.Close()
8282		}
8283		return nil, &googleapi.Error{
8284			Code:   res.StatusCode,
8285			Header: res.Header,
8286		}
8287	}
8288	if err != nil {
8289		return nil, err
8290	}
8291	defer googleapi.CloseBody(res)
8292	if err := googleapi.CheckResponse(res); err != nil {
8293		return nil, err
8294	}
8295	ret := &Policy{
8296		ServerResponse: googleapi.ServerResponse{
8297			Header:         res.Header,
8298			HTTPStatusCode: res.StatusCode,
8299		},
8300	}
8301	target := &ret
8302	if err := gensupport.DecodeResponse(target, res); err != nil {
8303		return nil, err
8304	}
8305	return ret, nil
8306	// {
8307	//   "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.",
8308	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy",
8309	//   "httpMethod": "POST",
8310	//   "id": "bigtableadmin.projects.instances.tables.setIamPolicy",
8311	//   "parameterOrder": [
8312	//     "resource"
8313	//   ],
8314	//   "parameters": {
8315	//     "resource": {
8316	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
8317	//       "location": "path",
8318	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
8319	//       "required": true,
8320	//       "type": "string"
8321	//     }
8322	//   },
8323	//   "path": "v2/{+resource}:setIamPolicy",
8324	//   "request": {
8325	//     "$ref": "SetIamPolicyRequest"
8326	//   },
8327	//   "response": {
8328	//     "$ref": "Policy"
8329	//   },
8330	//   "scopes": [
8331	//     "https://www.googleapis.com/auth/bigtable.admin",
8332	//     "https://www.googleapis.com/auth/bigtable.admin.table",
8333	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8334	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
8335	//     "https://www.googleapis.com/auth/cloud-platform"
8336	//   ]
8337	// }
8338
8339}
8340
8341// method id "bigtableadmin.projects.instances.tables.testIamPermissions":
8342
8343type ProjectsInstancesTablesTestIamPermissionsCall struct {
8344	s                         *Service
8345	resource                  string
8346	testiampermissionsrequest *TestIamPermissionsRequest
8347	urlParams_                gensupport.URLParams
8348	ctx_                      context.Context
8349	header_                   http.Header
8350}
8351
8352// TestIamPermissions: Returns permissions that the caller has on the
8353// specified table resource.
8354func (r *ProjectsInstancesTablesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTablesTestIamPermissionsCall {
8355	c := &ProjectsInstancesTablesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8356	c.resource = resource
8357	c.testiampermissionsrequest = testiampermissionsrequest
8358	return c
8359}
8360
8361// Fields allows partial responses to be retrieved. See
8362// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8363// for more information.
8364func (c *ProjectsInstancesTablesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsInstancesTablesTestIamPermissionsCall {
8365	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8366	return c
8367}
8368
8369// Context sets the context to be used in this call's Do method. Any
8370// pending HTTP request will be aborted if the provided context is
8371// canceled.
8372func (c *ProjectsInstancesTablesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsInstancesTablesTestIamPermissionsCall {
8373	c.ctx_ = ctx
8374	return c
8375}
8376
8377// Header returns an http.Header that can be modified by the caller to
8378// add HTTP headers to the request.
8379func (c *ProjectsInstancesTablesTestIamPermissionsCall) Header() http.Header {
8380	if c.header_ == nil {
8381		c.header_ = make(http.Header)
8382	}
8383	return c.header_
8384}
8385
8386func (c *ProjectsInstancesTablesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
8387	reqHeaders := make(http.Header)
8388	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
8389	for k, v := range c.header_ {
8390		reqHeaders[k] = v
8391	}
8392	reqHeaders.Set("User-Agent", c.s.userAgent())
8393	var body io.Reader = nil
8394	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
8395	if err != nil {
8396		return nil, err
8397	}
8398	reqHeaders.Set("Content-Type", "application/json")
8399	c.urlParams_.Set("alt", alt)
8400	c.urlParams_.Set("prettyPrint", "false")
8401	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+resource}:testIamPermissions")
8402	urls += "?" + c.urlParams_.Encode()
8403	req, err := http.NewRequest("POST", urls, body)
8404	if err != nil {
8405		return nil, err
8406	}
8407	req.Header = reqHeaders
8408	googleapi.Expand(req.URL, map[string]string{
8409		"resource": c.resource,
8410	})
8411	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8412}
8413
8414// Do executes the "bigtableadmin.projects.instances.tables.testIamPermissions" call.
8415// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
8416// Any non-2xx status code is an error. Response headers are in either
8417// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
8418// was returned at all) in error.(*googleapi.Error).Header. Use
8419// googleapi.IsNotModified to check whether the returned error was
8420// because http.StatusNotModified was returned.
8421func (c *ProjectsInstancesTablesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
8422	gensupport.SetOptions(c.urlParams_, opts...)
8423	res, err := c.doRequest("json")
8424	if res != nil && res.StatusCode == http.StatusNotModified {
8425		if res.Body != nil {
8426			res.Body.Close()
8427		}
8428		return nil, &googleapi.Error{
8429			Code:   res.StatusCode,
8430			Header: res.Header,
8431		}
8432	}
8433	if err != nil {
8434		return nil, err
8435	}
8436	defer googleapi.CloseBody(res)
8437	if err := googleapi.CheckResponse(res); err != nil {
8438		return nil, err
8439	}
8440	ret := &TestIamPermissionsResponse{
8441		ServerResponse: googleapi.ServerResponse{
8442			Header:         res.Header,
8443			HTTPStatusCode: res.StatusCode,
8444		},
8445	}
8446	target := &ret
8447	if err := gensupport.DecodeResponse(target, res); err != nil {
8448		return nil, err
8449	}
8450	return ret, nil
8451	// {
8452	//   "description": "Returns permissions that the caller has on the specified table resource.",
8453	//   "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:testIamPermissions",
8454	//   "httpMethod": "POST",
8455	//   "id": "bigtableadmin.projects.instances.tables.testIamPermissions",
8456	//   "parameterOrder": [
8457	//     "resource"
8458	//   ],
8459	//   "parameters": {
8460	//     "resource": {
8461	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
8462	//       "location": "path",
8463	//       "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$",
8464	//       "required": true,
8465	//       "type": "string"
8466	//     }
8467	//   },
8468	//   "path": "v2/{+resource}:testIamPermissions",
8469	//   "request": {
8470	//     "$ref": "TestIamPermissionsRequest"
8471	//   },
8472	//   "response": {
8473	//     "$ref": "TestIamPermissionsResponse"
8474	//   },
8475	//   "scopes": [
8476	//     "https://www.googleapis.com/auth/bigtable.admin",
8477	//     "https://www.googleapis.com/auth/bigtable.admin.table",
8478	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8479	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.table",
8480	//     "https://www.googleapis.com/auth/cloud-platform"
8481	//   ]
8482	// }
8483
8484}
8485
8486// method id "bigtableadmin.projects.locations.get":
8487
8488type ProjectsLocationsGetCall struct {
8489	s            *Service
8490	name         string
8491	urlParams_   gensupport.URLParams
8492	ifNoneMatch_ string
8493	ctx_         context.Context
8494	header_      http.Header
8495}
8496
8497// Get: Gets information about a location.
8498func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
8499	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8500	c.name = name
8501	return c
8502}
8503
8504// Fields allows partial responses to be retrieved. See
8505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8506// for more information.
8507func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
8508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8509	return c
8510}
8511
8512// IfNoneMatch sets the optional parameter which makes the operation
8513// fail if the object's ETag matches the given value. This is useful for
8514// getting updates only after the object has changed since the last
8515// request. Use googleapi.IsNotModified to check whether the response
8516// error from Do is the result of In-None-Match.
8517func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
8518	c.ifNoneMatch_ = entityTag
8519	return c
8520}
8521
8522// Context sets the context to be used in this call's Do method. Any
8523// pending HTTP request will be aborted if the provided context is
8524// canceled.
8525func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
8526	c.ctx_ = ctx
8527	return c
8528}
8529
8530// Header returns an http.Header that can be modified by the caller to
8531// add HTTP headers to the request.
8532func (c *ProjectsLocationsGetCall) Header() http.Header {
8533	if c.header_ == nil {
8534		c.header_ = make(http.Header)
8535	}
8536	return c.header_
8537}
8538
8539func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
8540	reqHeaders := make(http.Header)
8541	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
8542	for k, v := range c.header_ {
8543		reqHeaders[k] = v
8544	}
8545	reqHeaders.Set("User-Agent", c.s.userAgent())
8546	if c.ifNoneMatch_ != "" {
8547		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8548	}
8549	var body io.Reader = nil
8550	c.urlParams_.Set("alt", alt)
8551	c.urlParams_.Set("prettyPrint", "false")
8552	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
8553	urls += "?" + c.urlParams_.Encode()
8554	req, err := http.NewRequest("GET", urls, body)
8555	if err != nil {
8556		return nil, err
8557	}
8558	req.Header = reqHeaders
8559	googleapi.Expand(req.URL, map[string]string{
8560		"name": c.name,
8561	})
8562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8563}
8564
8565// Do executes the "bigtableadmin.projects.locations.get" call.
8566// Exactly one of *Location or error will be non-nil. Any non-2xx status
8567// code is an error. Response headers are in either
8568// *Location.ServerResponse.Header or (if a response was returned at
8569// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8570// to check whether the returned error was because
8571// http.StatusNotModified was returned.
8572func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
8573	gensupport.SetOptions(c.urlParams_, opts...)
8574	res, err := c.doRequest("json")
8575	if res != nil && res.StatusCode == http.StatusNotModified {
8576		if res.Body != nil {
8577			res.Body.Close()
8578		}
8579		return nil, &googleapi.Error{
8580			Code:   res.StatusCode,
8581			Header: res.Header,
8582		}
8583	}
8584	if err != nil {
8585		return nil, err
8586	}
8587	defer googleapi.CloseBody(res)
8588	if err := googleapi.CheckResponse(res); err != nil {
8589		return nil, err
8590	}
8591	ret := &Location{
8592		ServerResponse: googleapi.ServerResponse{
8593			Header:         res.Header,
8594			HTTPStatusCode: res.StatusCode,
8595		},
8596	}
8597	target := &ret
8598	if err := gensupport.DecodeResponse(target, res); err != nil {
8599		return nil, err
8600	}
8601	return ret, nil
8602	// {
8603	//   "description": "Gets information about a location.",
8604	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}",
8605	//   "httpMethod": "GET",
8606	//   "id": "bigtableadmin.projects.locations.get",
8607	//   "parameterOrder": [
8608	//     "name"
8609	//   ],
8610	//   "parameters": {
8611	//     "name": {
8612	//       "description": "Resource name for the location.",
8613	//       "location": "path",
8614	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8615	//       "required": true,
8616	//       "type": "string"
8617	//     }
8618	//   },
8619	//   "path": "v2/{+name}",
8620	//   "response": {
8621	//     "$ref": "Location"
8622	//   },
8623	//   "scopes": [
8624	//     "https://www.googleapis.com/auth/bigtable.admin",
8625	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
8626	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
8627	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8628	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
8629	//     "https://www.googleapis.com/auth/cloud-platform",
8630	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8631	//   ]
8632	// }
8633
8634}
8635
8636// method id "bigtableadmin.projects.locations.list":
8637
8638type ProjectsLocationsListCall struct {
8639	s            *Service
8640	name         string
8641	urlParams_   gensupport.URLParams
8642	ifNoneMatch_ string
8643	ctx_         context.Context
8644	header_      http.Header
8645}
8646
8647// List: Lists information about the supported locations for this
8648// service.
8649func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
8650	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8651	c.name = name
8652	return c
8653}
8654
8655// Filter sets the optional parameter "filter": The standard list
8656// filter.
8657func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
8658	c.urlParams_.Set("filter", filter)
8659	return c
8660}
8661
8662// PageSize sets the optional parameter "pageSize": The standard list
8663// page size.
8664func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
8665	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
8666	return c
8667}
8668
8669// PageToken sets the optional parameter "pageToken": The standard list
8670// page token.
8671func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
8672	c.urlParams_.Set("pageToken", pageToken)
8673	return c
8674}
8675
8676// Fields allows partial responses to be retrieved. See
8677// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8678// for more information.
8679func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
8680	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8681	return c
8682}
8683
8684// IfNoneMatch sets the optional parameter which makes the operation
8685// fail if the object's ETag matches the given value. This is useful for
8686// getting updates only after the object has changed since the last
8687// request. Use googleapi.IsNotModified to check whether the response
8688// error from Do is the result of In-None-Match.
8689func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
8690	c.ifNoneMatch_ = entityTag
8691	return c
8692}
8693
8694// Context sets the context to be used in this call's Do method. Any
8695// pending HTTP request will be aborted if the provided context is
8696// canceled.
8697func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
8698	c.ctx_ = ctx
8699	return c
8700}
8701
8702// Header returns an http.Header that can be modified by the caller to
8703// add HTTP headers to the request.
8704func (c *ProjectsLocationsListCall) Header() http.Header {
8705	if c.header_ == nil {
8706		c.header_ = make(http.Header)
8707	}
8708	return c.header_
8709}
8710
8711func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
8712	reqHeaders := make(http.Header)
8713	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503")
8714	for k, v := range c.header_ {
8715		reqHeaders[k] = v
8716	}
8717	reqHeaders.Set("User-Agent", c.s.userAgent())
8718	if c.ifNoneMatch_ != "" {
8719		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8720	}
8721	var body io.Reader = nil
8722	c.urlParams_.Set("alt", alt)
8723	c.urlParams_.Set("prettyPrint", "false")
8724	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}/locations")
8725	urls += "?" + c.urlParams_.Encode()
8726	req, err := http.NewRequest("GET", urls, body)
8727	if err != nil {
8728		return nil, err
8729	}
8730	req.Header = reqHeaders
8731	googleapi.Expand(req.URL, map[string]string{
8732		"name": c.name,
8733	})
8734	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8735}
8736
8737// Do executes the "bigtableadmin.projects.locations.list" call.
8738// Exactly one of *ListLocationsResponse or error will be non-nil. Any
8739// non-2xx status code is an error. Response headers are in either
8740// *ListLocationsResponse.ServerResponse.Header or (if a response was
8741// returned at all) in error.(*googleapi.Error).Header. Use
8742// googleapi.IsNotModified to check whether the returned error was
8743// because http.StatusNotModified was returned.
8744func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
8745	gensupport.SetOptions(c.urlParams_, opts...)
8746	res, err := c.doRequest("json")
8747	if res != nil && res.StatusCode == http.StatusNotModified {
8748		if res.Body != nil {
8749			res.Body.Close()
8750		}
8751		return nil, &googleapi.Error{
8752			Code:   res.StatusCode,
8753			Header: res.Header,
8754		}
8755	}
8756	if err != nil {
8757		return nil, err
8758	}
8759	defer googleapi.CloseBody(res)
8760	if err := googleapi.CheckResponse(res); err != nil {
8761		return nil, err
8762	}
8763	ret := &ListLocationsResponse{
8764		ServerResponse: googleapi.ServerResponse{
8765			Header:         res.Header,
8766			HTTPStatusCode: res.StatusCode,
8767		},
8768	}
8769	target := &ret
8770	if err := gensupport.DecodeResponse(target, res); err != nil {
8771		return nil, err
8772	}
8773	return ret, nil
8774	// {
8775	//   "description": "Lists information about the supported locations for this service.",
8776	//   "flatPath": "v2/projects/{projectsId}/locations",
8777	//   "httpMethod": "GET",
8778	//   "id": "bigtableadmin.projects.locations.list",
8779	//   "parameterOrder": [
8780	//     "name"
8781	//   ],
8782	//   "parameters": {
8783	//     "filter": {
8784	//       "description": "The standard list filter.",
8785	//       "location": "query",
8786	//       "type": "string"
8787	//     },
8788	//     "name": {
8789	//       "description": "The resource that owns the locations collection, if applicable.",
8790	//       "location": "path",
8791	//       "pattern": "^projects/[^/]+$",
8792	//       "required": true,
8793	//       "type": "string"
8794	//     },
8795	//     "pageSize": {
8796	//       "description": "The standard list page size.",
8797	//       "format": "int32",
8798	//       "location": "query",
8799	//       "type": "integer"
8800	//     },
8801	//     "pageToken": {
8802	//       "description": "The standard list page token.",
8803	//       "location": "query",
8804	//       "type": "string"
8805	//     }
8806	//   },
8807	//   "path": "v2/{+name}/locations",
8808	//   "response": {
8809	//     "$ref": "ListLocationsResponse"
8810	//   },
8811	//   "scopes": [
8812	//     "https://www.googleapis.com/auth/bigtable.admin",
8813	//     "https://www.googleapis.com/auth/bigtable.admin.cluster",
8814	//     "https://www.googleapis.com/auth/bigtable.admin.instance",
8815	//     "https://www.googleapis.com/auth/cloud-bigtable.admin",
8816	//     "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
8817	//     "https://www.googleapis.com/auth/cloud-platform",
8818	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
8819	//   ]
8820	// }
8821
8822}
8823
8824// Pages invokes f for each page of results.
8825// A non-nil error returned from f will halt the iteration.
8826// The provided context supersedes any context provided to the Context method.
8827func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
8828	c.ctx_ = ctx
8829	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8830	for {
8831		x, err := c.Do()
8832		if err != nil {
8833			return err
8834		}
8835		if err := f(x); err != nil {
8836			return err
8837		}
8838		if x.NextPageToken == "" {
8839			return nil
8840		}
8841		c.PageToken(x.NextPageToken)
8842	}
8843}
8844