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 datacatalog provides access to the Google Cloud Data Catalog API.
8//
9// For product documentation, see: https://cloud.google.com/data-catalog/docs/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/datacatalog/v1beta1"
16//   ...
17//   ctx := context.Background()
18//   datacatalogService, err := datacatalog.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// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   datacatalogService, err := datacatalog.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   datacatalogService, err := datacatalog.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package datacatalog // import "google.golang.org/api/datacatalog/v1beta1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "datacatalog:v1beta1"
75const apiName = "datacatalog"
76const apiVersion = "v1beta1"
77const basePath = "https://datacatalog.googleapis.com/"
78const mtlsBasePath = "https://datacatalog.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// View and manage your data across Google Cloud Platform services
83	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/cloud-platform",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Catalog = NewCatalogService(s)
120	s.Entries = NewEntriesService(s)
121	s.Projects = NewProjectsService(s)
122	return s, nil
123}
124
125type Service struct {
126	client    *http.Client
127	BasePath  string // API endpoint base URL
128	UserAgent string // optional additional User-Agent fragment
129
130	Catalog *CatalogService
131
132	Entries *EntriesService
133
134	Projects *ProjectsService
135}
136
137func (s *Service) userAgent() string {
138	if s.UserAgent == "" {
139		return googleapi.UserAgent
140	}
141	return googleapi.UserAgent + " " + s.UserAgent
142}
143
144func NewCatalogService(s *Service) *CatalogService {
145	rs := &CatalogService{s: s}
146	return rs
147}
148
149type CatalogService struct {
150	s *Service
151}
152
153func NewEntriesService(s *Service) *EntriesService {
154	rs := &EntriesService{s: s}
155	return rs
156}
157
158type EntriesService struct {
159	s *Service
160}
161
162func NewProjectsService(s *Service) *ProjectsService {
163	rs := &ProjectsService{s: s}
164	rs.Locations = NewProjectsLocationsService(s)
165	return rs
166}
167
168type ProjectsService struct {
169	s *Service
170
171	Locations *ProjectsLocationsService
172}
173
174func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
175	rs := &ProjectsLocationsService{s: s}
176	rs.EntryGroups = NewProjectsLocationsEntryGroupsService(s)
177	rs.TagTemplates = NewProjectsLocationsTagTemplatesService(s)
178	rs.Taxonomies = NewProjectsLocationsTaxonomiesService(s)
179	return rs
180}
181
182type ProjectsLocationsService struct {
183	s *Service
184
185	EntryGroups *ProjectsLocationsEntryGroupsService
186
187	TagTemplates *ProjectsLocationsTagTemplatesService
188
189	Taxonomies *ProjectsLocationsTaxonomiesService
190}
191
192func NewProjectsLocationsEntryGroupsService(s *Service) *ProjectsLocationsEntryGroupsService {
193	rs := &ProjectsLocationsEntryGroupsService{s: s}
194	rs.Entries = NewProjectsLocationsEntryGroupsEntriesService(s)
195	rs.Tags = NewProjectsLocationsEntryGroupsTagsService(s)
196	return rs
197}
198
199type ProjectsLocationsEntryGroupsService struct {
200	s *Service
201
202	Entries *ProjectsLocationsEntryGroupsEntriesService
203
204	Tags *ProjectsLocationsEntryGroupsTagsService
205}
206
207func NewProjectsLocationsEntryGroupsEntriesService(s *Service) *ProjectsLocationsEntryGroupsEntriesService {
208	rs := &ProjectsLocationsEntryGroupsEntriesService{s: s}
209	rs.Tags = NewProjectsLocationsEntryGroupsEntriesTagsService(s)
210	return rs
211}
212
213type ProjectsLocationsEntryGroupsEntriesService struct {
214	s *Service
215
216	Tags *ProjectsLocationsEntryGroupsEntriesTagsService
217}
218
219func NewProjectsLocationsEntryGroupsEntriesTagsService(s *Service) *ProjectsLocationsEntryGroupsEntriesTagsService {
220	rs := &ProjectsLocationsEntryGroupsEntriesTagsService{s: s}
221	return rs
222}
223
224type ProjectsLocationsEntryGroupsEntriesTagsService struct {
225	s *Service
226}
227
228func NewProjectsLocationsEntryGroupsTagsService(s *Service) *ProjectsLocationsEntryGroupsTagsService {
229	rs := &ProjectsLocationsEntryGroupsTagsService{s: s}
230	return rs
231}
232
233type ProjectsLocationsEntryGroupsTagsService struct {
234	s *Service
235}
236
237func NewProjectsLocationsTagTemplatesService(s *Service) *ProjectsLocationsTagTemplatesService {
238	rs := &ProjectsLocationsTagTemplatesService{s: s}
239	rs.Fields = NewProjectsLocationsTagTemplatesFieldsService(s)
240	return rs
241}
242
243type ProjectsLocationsTagTemplatesService struct {
244	s *Service
245
246	Fields *ProjectsLocationsTagTemplatesFieldsService
247}
248
249func NewProjectsLocationsTagTemplatesFieldsService(s *Service) *ProjectsLocationsTagTemplatesFieldsService {
250	rs := &ProjectsLocationsTagTemplatesFieldsService{s: s}
251	rs.EnumValues = NewProjectsLocationsTagTemplatesFieldsEnumValuesService(s)
252	return rs
253}
254
255type ProjectsLocationsTagTemplatesFieldsService struct {
256	s *Service
257
258	EnumValues *ProjectsLocationsTagTemplatesFieldsEnumValuesService
259}
260
261func NewProjectsLocationsTagTemplatesFieldsEnumValuesService(s *Service) *ProjectsLocationsTagTemplatesFieldsEnumValuesService {
262	rs := &ProjectsLocationsTagTemplatesFieldsEnumValuesService{s: s}
263	return rs
264}
265
266type ProjectsLocationsTagTemplatesFieldsEnumValuesService struct {
267	s *Service
268}
269
270func NewProjectsLocationsTaxonomiesService(s *Service) *ProjectsLocationsTaxonomiesService {
271	rs := &ProjectsLocationsTaxonomiesService{s: s}
272	rs.PolicyTags = NewProjectsLocationsTaxonomiesPolicyTagsService(s)
273	return rs
274}
275
276type ProjectsLocationsTaxonomiesService struct {
277	s *Service
278
279	PolicyTags *ProjectsLocationsTaxonomiesPolicyTagsService
280}
281
282func NewProjectsLocationsTaxonomiesPolicyTagsService(s *Service) *ProjectsLocationsTaxonomiesPolicyTagsService {
283	rs := &ProjectsLocationsTaxonomiesPolicyTagsService{s: s}
284	return rs
285}
286
287type ProjectsLocationsTaxonomiesPolicyTagsService struct {
288	s *Service
289}
290
291// Binding: Associates `members` with a `role`.
292type Binding struct {
293	// Condition: The condition that is associated with this binding.
294	//
295	// If the condition evaluates to `true`, then this binding applies to
296	// the
297	// current request.
298	//
299	// If the condition evaluates to `false`, then this binding does not
300	// apply to
301	// the current request. However, a different role binding might grant
302	// the same
303	// role to one or more of the members in this binding.
304	//
305	// To learn which resources support conditions in their IAM policies,
306	// see
307	// the
308	// [IAM
309	// documentation](https://cloud.google.com/iam/help/conditions/r
310	// esource-policies).
311	Condition *Expr `json:"condition,omitempty"`
312
313	// Members: Specifies the identities requesting access for a Cloud
314	// Platform resource.
315	// `members` can have the following values:
316	//
317	// * `allUsers`: A special identifier that represents anyone who is
318	//    on the internet; with or without a Google account.
319	//
320	// * `allAuthenticatedUsers`: A special identifier that represents
321	// anyone
322	//    who is authenticated with a Google account or a service
323	// account.
324	//
325	// * `user:{emailid}`: An email address that represents a specific
326	// Google
327	//    account. For example, `alice@example.com` .
328	//
329	//
330	// * `serviceAccount:{emailid}`: An email address that represents a
331	// service
332	//    account. For example,
333	// `my-other-app@appspot.gserviceaccount.com`.
334	//
335	// * `group:{emailid}`: An email address that represents a Google
336	// group.
337	//    For example, `admins@example.com`.
338	//
339	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
340	// unique
341	//    identifier) representing a user that has been recently deleted.
342	// For
343	//    example, `alice@example.com?uid=123456789012345678901`. If the
344	// user is
345	//    recovered, this value reverts to `user:{emailid}` and the
346	// recovered user
347	//    retains the role in the binding.
348	//
349	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
350	// (plus
351	//    unique identifier) representing a service account that has been
352	// recently
353	//    deleted. For example,
354	//
355	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
356	//
357	//    If the service account is undeleted, this value reverts to
358	//    `serviceAccount:{emailid}` and the undeleted service account
359	// retains the
360	//    role in the binding.
361	//
362	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
363	// unique
364	//    identifier) representing a Google group that has been recently
365	//    deleted. For example,
366	// `admins@example.com?uid=123456789012345678901`. If
367	//    the group is recovered, this value reverts to `group:{emailid}`
368	// and the
369	//    recovered group retains the role in the binding.
370	//
371	//
372	// * `domain:{domain}`: The G Suite domain (primary) that represents all
373	// the
374	//    users of that domain. For example, `google.com` or
375	// `example.com`.
376	//
377	//
378	Members []string `json:"members,omitempty"`
379
380	// Role: Role that is assigned to `members`.
381	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
382	Role string `json:"role,omitempty"`
383
384	// ForceSendFields is a list of field names (e.g. "Condition") to
385	// unconditionally include in API requests. By default, fields with
386	// empty values are omitted from API requests. However, any non-pointer,
387	// non-interface field appearing in ForceSendFields will be sent to the
388	// server regardless of whether the field is empty or not. This may be
389	// used to include empty fields in Patch requests.
390	ForceSendFields []string `json:"-"`
391
392	// NullFields is a list of field names (e.g. "Condition") to include in
393	// API requests with the JSON null value. By default, fields with empty
394	// values are omitted from API requests. However, any field with an
395	// empty value appearing in NullFields will be sent to the server as
396	// null. It is an error if a field in this list has a non-empty value.
397	// This may be used to include null fields in Patch requests.
398	NullFields []string `json:"-"`
399}
400
401func (s *Binding) MarshalJSON() ([]byte, error) {
402	type NoMethod Binding
403	raw := NoMethod(*s)
404	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
405}
406
407// Empty: A generic empty message that you can re-use to avoid defining
408// duplicated
409// empty messages in your APIs. A typical example is to use it as the
410// request
411// or the response type of an API method. For instance:
412//
413//     service Foo {
414//       rpc Bar(google.protobuf.Empty) returns
415// (google.protobuf.Empty);
416//     }
417//
418// The JSON representation for `Empty` is empty JSON object `{}`.
419type Empty struct {
420	// ServerResponse contains the HTTP response code and headers from the
421	// server.
422	googleapi.ServerResponse `json:"-"`
423}
424
425// Expr: Represents a textual expression in the Common Expression
426// Language (CEL)
427// syntax. CEL is a C-like expression language. The syntax and semantics
428// of CEL
429// are documented at https://github.com/google/cel-spec.
430//
431// Example (Comparison):
432//
433//     title: "Summary size limit"
434//     description: "Determines if a summary is less than 100 chars"
435//     expression: "document.summary.size() < 100"
436//
437// Example (Equality):
438//
439//     title: "Requestor is owner"
440//     description: "Determines if requestor is the document owner"
441//     expression: "document.owner ==
442// request.auth.claims.email"
443//
444// Example (Logic):
445//
446//     title: "Public documents"
447//     description: "Determine whether the document should be publicly
448// visible"
449//     expression: "document.type != 'private' && document.type !=
450// 'internal'"
451//
452// Example (Data Manipulation):
453//
454//     title: "Notification string"
455//     description: "Create a notification string with a timestamp."
456//     expression: "'New message received at ' +
457// string(document.create_time)"
458//
459// The exact variables and functions that may be referenced within an
460// expression
461// are determined by the service that evaluates it. See the
462// service
463// documentation for additional information.
464type Expr struct {
465	// Description: Optional. Description of the expression. This is a
466	// longer text which
467	// describes the expression, e.g. when hovered over it in a UI.
468	Description string `json:"description,omitempty"`
469
470	// Expression: Textual representation of an expression in Common
471	// Expression Language
472	// syntax.
473	Expression string `json:"expression,omitempty"`
474
475	// Location: Optional. String indicating the location of the expression
476	// for error
477	// reporting, e.g. a file name and a position in the file.
478	Location string `json:"location,omitempty"`
479
480	// Title: Optional. Title for the expression, i.e. a short string
481	// describing
482	// its purpose. This can be used e.g. in UIs which allow to enter
483	// the
484	// expression.
485	Title string `json:"title,omitempty"`
486
487	// ForceSendFields is a list of field names (e.g. "Description") to
488	// unconditionally include in API requests. By default, fields with
489	// empty values are omitted from API requests. However, any non-pointer,
490	// non-interface field appearing in ForceSendFields will be sent to the
491	// server regardless of whether the field is empty or not. This may be
492	// used to include empty fields in Patch requests.
493	ForceSendFields []string `json:"-"`
494
495	// NullFields is a list of field names (e.g. "Description") to include
496	// in API requests with the JSON null value. By default, fields with
497	// empty values are omitted from API requests. However, any field with
498	// an empty value appearing in NullFields will be sent to the server as
499	// null. It is an error if a field in this list has a non-empty value.
500	// This may be used to include null fields in Patch requests.
501	NullFields []string `json:"-"`
502}
503
504func (s *Expr) MarshalJSON() ([]byte, error) {
505	type NoMethod Expr
506	raw := NoMethod(*s)
507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
508}
509
510// GetIamPolicyRequest: Request message for `GetIamPolicy` method.
511type GetIamPolicyRequest struct {
512	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
513	// to
514	// `GetIamPolicy`.
515	Options *GetPolicyOptions `json:"options,omitempty"`
516
517	// ForceSendFields is a list of field names (e.g. "Options") to
518	// unconditionally include in API requests. By default, fields with
519	// empty values are omitted from API requests. However, any non-pointer,
520	// non-interface field appearing in ForceSendFields will be sent to the
521	// server regardless of whether the field is empty or not. This may be
522	// used to include empty fields in Patch requests.
523	ForceSendFields []string `json:"-"`
524
525	// NullFields is a list of field names (e.g. "Options") to include in
526	// API requests with the JSON null value. By default, fields with empty
527	// values are omitted from API requests. However, any field with an
528	// empty value appearing in NullFields will be sent to the server as
529	// null. It is an error if a field in this list has a non-empty value.
530	// This may be used to include null fields in Patch requests.
531	NullFields []string `json:"-"`
532}
533
534func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
535	type NoMethod GetIamPolicyRequest
536	raw := NoMethod(*s)
537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
538}
539
540// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
541type GetPolicyOptions struct {
542	// RequestedPolicyVersion: Optional. The policy format version to be
543	// returned.
544	//
545	// Valid values are 0, 1, and 3. Requests specifying an invalid value
546	// will be
547	// rejected.
548	//
549	// Requests for policies with any conditional bindings must specify
550	// version 3.
551	// Policies without any conditional bindings may specify any valid value
552	// or
553	// leave the field unset.
554	//
555	// To learn which resources support conditions in their IAM policies,
556	// see
557	// the
558	// [IAM
559	// documentation](https://cloud.google.com/iam/help/conditions/r
560	// esource-policies).
561	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
562
563	// ForceSendFields is a list of field names (e.g.
564	// "RequestedPolicyVersion") to unconditionally include in API requests.
565	// By default, fields with empty values are omitted from API requests.
566	// However, any non-pointer, non-interface field appearing in
567	// ForceSendFields will be sent to the server regardless of whether the
568	// field is empty or not. This may be used to include empty fields in
569	// Patch requests.
570	ForceSendFields []string `json:"-"`
571
572	// NullFields is a list of field names (e.g. "RequestedPolicyVersion")
573	// to include in API requests with the JSON null value. By default,
574	// fields with empty values are omitted from API requests. However, any
575	// field with an empty value appearing in NullFields will be sent to the
576	// server as null. It is an error if a field in this list has a
577	// non-empty value. This may be used to include null fields in Patch
578	// requests.
579	NullFields []string `json:"-"`
580}
581
582func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
583	type NoMethod GetPolicyOptions
584	raw := NoMethod(*s)
585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
586}
587
588// GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec: Spec for a
589// group of BigQuery tables with name pattern
590// `[prefix]YYYYMMDD`.
591// Context:
592// https://cloud.google.com/bigquery/docs/pa
593// rtitioned-tables#partitioning_versus_sharding
594type GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec struct {
595	// Dataset: Output only. The Data Catalog resource name of the dataset
596	// entry the current table
597	// belongs to, for
598	// example,
599	// `projects/{project_id}/locations/{location}/entrygroups/{entr
600	// y_group_id}/entries/{entry_id}`.
601	Dataset string `json:"dataset,omitempty"`
602
603	// ShardCount: Output only. Total number of shards.
604	ShardCount int64 `json:"shardCount,omitempty,string"`
605
606	// TablePrefix: Output only. The table name prefix of the shards. The
607	// name of any given shard is
608	// `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`,
609	// the
610	// `table_prefix` is `MyTable`.
611	TablePrefix string `json:"tablePrefix,omitempty"`
612
613	// ForceSendFields is a list of field names (e.g. "Dataset") to
614	// unconditionally include in API requests. By default, fields with
615	// empty values are omitted from API requests. However, any non-pointer,
616	// non-interface field appearing in ForceSendFields will be sent to the
617	// server regardless of whether the field is empty or not. This may be
618	// used to include empty fields in Patch requests.
619	ForceSendFields []string `json:"-"`
620
621	// NullFields is a list of field names (e.g. "Dataset") to include in
622	// API requests with the JSON null value. By default, fields with empty
623	// values are omitted from API requests. However, any field with an
624	// empty value appearing in NullFields will be sent to the server as
625	// null. It is an error if a field in this list has a non-empty value.
626	// This may be used to include null fields in Patch requests.
627	NullFields []string `json:"-"`
628}
629
630func (s *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec) MarshalJSON() ([]byte, error) {
631	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec
632	raw := NoMethod(*s)
633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
634}
635
636// GoogleCloudDatacatalogV1beta1BigQueryTableSpec: Describes a BigQuery
637// table.
638type GoogleCloudDatacatalogV1beta1BigQueryTableSpec struct {
639	// TableSourceType: Output only. The table source type.
640	//
641	// Possible values:
642	//   "TABLE_SOURCE_TYPE_UNSPECIFIED" - Default unknown type.
643	//   "BIGQUERY_VIEW" - Table view.
644	//   "BIGQUERY_TABLE" - BigQuery native table.
645	//   "BIGQUERY_MATERIALIZED_VIEW" - BigQuery materialized view.
646	TableSourceType string `json:"tableSourceType,omitempty"`
647
648	// TableSpec: Spec of a BigQuery table. This field should only be
649	// populated if
650	// `table_source_type` is `BIGQUERY_TABLE`.
651	TableSpec *GoogleCloudDatacatalogV1beta1TableSpec `json:"tableSpec,omitempty"`
652
653	// ViewSpec: Table view specification. This field should only be
654	// populated if
655	// `table_source_type` is `BIGQUERY_VIEW`.
656	ViewSpec *GoogleCloudDatacatalogV1beta1ViewSpec `json:"viewSpec,omitempty"`
657
658	// ForceSendFields is a list of field names (e.g. "TableSourceType") to
659	// unconditionally include in API requests. By default, fields with
660	// empty values are omitted from API requests. However, any non-pointer,
661	// non-interface field appearing in ForceSendFields will be sent to the
662	// server regardless of whether the field is empty or not. This may be
663	// used to include empty fields in Patch requests.
664	ForceSendFields []string `json:"-"`
665
666	// NullFields is a list of field names (e.g. "TableSourceType") to
667	// include in API requests with the JSON null value. By default, fields
668	// with empty values are omitted from API requests. However, any field
669	// with an empty value appearing in NullFields will be sent to the
670	// server as null. It is an error if a field in this list has a
671	// non-empty value. This may be used to include null fields in Patch
672	// requests.
673	NullFields []string `json:"-"`
674}
675
676func (s *GoogleCloudDatacatalogV1beta1BigQueryTableSpec) MarshalJSON() ([]byte, error) {
677	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryTableSpec
678	raw := NoMethod(*s)
679	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
680}
681
682// GoogleCloudDatacatalogV1beta1ColumnSchema: Representation of a column
683// within a schema. Columns could be nested inside
684// other columns.
685type GoogleCloudDatacatalogV1beta1ColumnSchema struct {
686	// Column: Required. Name of the column.
687	Column string `json:"column,omitempty"`
688
689	// Description: Optional. Description of the column. Default value is an
690	// empty string.
691	Description string `json:"description,omitempty"`
692
693	// Mode: Optional. A column's mode indicates whether the values in this
694	// column are required,
695	// nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are
696	// supported.
697	// Default mode is `NULLABLE`.
698	Mode string `json:"mode,omitempty"`
699
700	// Subcolumns: Optional. Schema of sub-columns. A column can have zero
701	// or more sub-columns.
702	Subcolumns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"subcolumns,omitempty"`
703
704	// Type: Required. Type of the column.
705	Type string `json:"type,omitempty"`
706
707	// ForceSendFields is a list of field names (e.g. "Column") to
708	// unconditionally include in API requests. By default, fields with
709	// empty values are omitted from API requests. However, any non-pointer,
710	// non-interface field appearing in ForceSendFields will be sent to the
711	// server regardless of whether the field is empty or not. This may be
712	// used to include empty fields in Patch requests.
713	ForceSendFields []string `json:"-"`
714
715	// NullFields is a list of field names (e.g. "Column") to include in API
716	// requests with the JSON null value. By default, fields with empty
717	// values are omitted from API requests. However, any field with an
718	// empty value appearing in NullFields will be sent to the server as
719	// null. It is an error if a field in this list has a non-empty value.
720	// This may be used to include null fields in Patch requests.
721	NullFields []string `json:"-"`
722}
723
724func (s *GoogleCloudDatacatalogV1beta1ColumnSchema) MarshalJSON() ([]byte, error) {
725	type NoMethod GoogleCloudDatacatalogV1beta1ColumnSchema
726	raw := NoMethod(*s)
727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
728}
729
730// GoogleCloudDatacatalogV1beta1Entry: Entry Metadata.
731// A Data Catalog Entry resource represents another resource in
732// Google
733// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic),
734// or
735// outside of Google Cloud Platform. Clients can use the
736// `linked_resource` field
737// in the Entry resource to refer to the original resource ID of the
738// source
739// system.
740//
741// An Entry resource contains resource details, such as its schema. An
742// Entry can
743// also be used to attach flexible metadata, such as a
744// Tag.
745type GoogleCloudDatacatalogV1beta1Entry struct {
746	// BigqueryDateShardedSpec: Specification for a group of BigQuery tables
747	// with name pattern
748	// `[prefix]YYYYMMDD`.
749	// Context:
750	// https://cloud.google.com/bigquery/docs/partitioned-tables#par
751	// titioning_versus_sharding.
752	BigqueryDateShardedSpec *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec `json:"bigqueryDateShardedSpec,omitempty"`
753
754	// BigqueryTableSpec: Specification that applies to a BigQuery table.
755	// This is only valid on
756	// entries of type `TABLE`.
757	BigqueryTableSpec *GoogleCloudDatacatalogV1beta1BigQueryTableSpec `json:"bigqueryTableSpec,omitempty"`
758
759	// Description: Entry description, which can consist of several
760	// sentences or paragraphs
761	// that describe entry contents. Default value is an empty string.
762	Description string `json:"description,omitempty"`
763
764	// DisplayName: Display information such as title and description. A
765	// short name to identify
766	// the entry, for example, "Analytics Data - Jan 2011". Default value is
767	// an
768	// empty string.
769	DisplayName string `json:"displayName,omitempty"`
770
771	// GcsFilesetSpec: Specification that applies to a Cloud Storage
772	// fileset. This is only valid
773	// on entries of type FILESET.
774	GcsFilesetSpec *GoogleCloudDatacatalogV1beta1GcsFilesetSpec `json:"gcsFilesetSpec,omitempty"`
775
776	// IntegratedSystem: Output only. This field indicates the entry's
777	// source system that Data Catalog
778	// integrates with, such as BigQuery or Pub/Sub.
779	//
780	// Possible values:
781	//   "INTEGRATED_SYSTEM_UNSPECIFIED" - Default unknown system.
782	//   "BIGQUERY" - BigQuery.
783	//   "CLOUD_PUBSUB" - Cloud Pub/Sub.
784	IntegratedSystem string `json:"integratedSystem,omitempty"`
785
786	// LinkedResource: The resource this metadata entry refers to.
787	//
788	// For Google Cloud Platform resources, `linked_resource` is the [full
789	// name
790	// of
791	// the
792	// resource](https://cloud.google.com/apis/design/resource_names#f
793	// ull_resource_name).
794	// For example, the `linked_resource` for a table resource from BigQuery
795	// is:
796	//
797	// *
798	// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
799	// /tableId
800	//
801	// Output only when Entry is of type in the EntryType enum. For entries
802	// with
803	// user_specified_type, this field is optional and defaults to an
804	// empty
805	// string.
806	LinkedResource string `json:"linkedResource,omitempty"`
807
808	// Name: The Data Catalog resource name of the entry in URL format.
809	// Example:
810	//
811	// *
812	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
813	// }/entries/{entry_id}
814	//
815	// Note that this Entry and its child resources may not actually be
816	// stored in
817	// the location in this name.
818	Name string `json:"name,omitempty"`
819
820	// Schema: Schema of the entry. An entry might not have any schema
821	// attached to it.
822	Schema *GoogleCloudDatacatalogV1beta1Schema `json:"schema,omitempty"`
823
824	// SourceSystemTimestamps: Output only. Timestamps about the underlying
825	// resource, not about this Data Catalog
826	// entry. Output only when Entry is of type in the EntryType enum. For
827	// entries
828	// with user_specified_type, this field is optional and defaults to an
829	// empty
830	// timestamp.
831	SourceSystemTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"sourceSystemTimestamps,omitempty"`
832
833	// Type: The type of the entry.
834	// Only used for Entries with types in the EntryType enum.
835	//
836	// Possible values:
837	//   "ENTRY_TYPE_UNSPECIFIED" - Default unknown type.
838	//   "TABLE" - Output only. The type of entry that has a GoogleSQL
839	// schema, including
840	// logical views.
841	//   "MODEL" - Output only. The type of
842	// models.
843	// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
844	//   "DATA_STREAM" - Output only. An entry type which is used for
845	// streaming entries. Example:
846	// Pub/Sub topic.
847	//   "FILESET" - An entry type which is a set of files or objects.
848	// Example:
849	// Cloud Storage fileset.
850	Type string `json:"type,omitempty"`
851
852	// UserSpecifiedSystem: This field indicates the entry's source system
853	// that Data Catalog does not
854	// integrate with. `user_specified_system` strings must begin with a
855	// letter
856	// or underscore and can only contain letters, numbers, and underscores;
857	// are
858	// case insensitive; must be at least 1 character and at most 64
859	// characters
860	// long.
861	UserSpecifiedSystem string `json:"userSpecifiedSystem,omitempty"`
862
863	// UserSpecifiedType: Entry type if it does not fit any of the
864	// input-allowed values listed in
865	// `EntryType` enum above. When creating an entry, users should check
866	// the
867	// enum values first, if nothing matches the entry to be created,
868	// then
869	// provide a custom value, for example
870	// "my_special_type".
871	// `user_specified_type` strings must begin with a letter or underscore
872	// and
873	// can only contain letters, numbers, and underscores; are case
874	// insensitive;
875	// must be at least 1 character and at most 64 characters
876	// long.
877	//
878	// Currently, only FILESET enum value is allowed. All other entries
879	// created
880	// through Data Catalog must use `user_specified_type`.
881	UserSpecifiedType string `json:"userSpecifiedType,omitempty"`
882
883	// ServerResponse contains the HTTP response code and headers from the
884	// server.
885	googleapi.ServerResponse `json:"-"`
886
887	// ForceSendFields is a list of field names (e.g.
888	// "BigqueryDateShardedSpec") to unconditionally include in API
889	// requests. By default, fields with empty values are omitted from API
890	// requests. However, any non-pointer, non-interface field appearing in
891	// ForceSendFields will be sent to the server regardless of whether the
892	// field is empty or not. This may be used to include empty fields in
893	// Patch requests.
894	ForceSendFields []string `json:"-"`
895
896	// NullFields is a list of field names (e.g. "BigqueryDateShardedSpec")
897	// to include in API requests with the JSON null value. By default,
898	// fields with empty values are omitted from API requests. However, any
899	// field with an empty value appearing in NullFields will be sent to the
900	// server as null. It is an error if a field in this list has a
901	// non-empty value. This may be used to include null fields in Patch
902	// requests.
903	NullFields []string `json:"-"`
904}
905
906func (s *GoogleCloudDatacatalogV1beta1Entry) MarshalJSON() ([]byte, error) {
907	type NoMethod GoogleCloudDatacatalogV1beta1Entry
908	raw := NoMethod(*s)
909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
910}
911
912// GoogleCloudDatacatalogV1beta1EntryGroup: EntryGroup Metadata.
913// An EntryGroup resource represents a logical grouping of zero or
914// more
915// Data Catalog Entry resources.
916type GoogleCloudDatacatalogV1beta1EntryGroup struct {
917	// DataCatalogTimestamps: Output only. Timestamps about this EntryGroup.
918	// Default value is empty timestamps.
919	DataCatalogTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"dataCatalogTimestamps,omitempty"`
920
921	// Description: Entry group description, which can consist of several
922	// sentences or
923	// paragraphs that describe entry group contents. Default value is an
924	// empty
925	// string.
926	Description string `json:"description,omitempty"`
927
928	// DisplayName: A short name to identify the entry group, for
929	// example,
930	// "analytics data - jan 2011". Default value is an empty string.
931	DisplayName string `json:"displayName,omitempty"`
932
933	// Name: The resource name of the entry group in URL format. Example:
934	//
935	// *
936	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
937	// }
938	//
939	// Note that this EntryGroup and its child resources may not actually
940	// be
941	// stored in the location in this name.
942	Name string `json:"name,omitempty"`
943
944	// ServerResponse contains the HTTP response code and headers from the
945	// server.
946	googleapi.ServerResponse `json:"-"`
947
948	// ForceSendFields is a list of field names (e.g.
949	// "DataCatalogTimestamps") to unconditionally include in API requests.
950	// By default, fields with empty values are omitted from API requests.
951	// However, any non-pointer, non-interface field appearing in
952	// ForceSendFields will be sent to the server regardless of whether the
953	// field is empty or not. This may be used to include empty fields in
954	// Patch requests.
955	ForceSendFields []string `json:"-"`
956
957	// NullFields is a list of field names (e.g. "DataCatalogTimestamps") to
958	// include in API requests with the JSON null value. By default, fields
959	// with empty values are omitted from API requests. However, any field
960	// with an empty value appearing in NullFields will be sent to the
961	// server as null. It is an error if a field in this list has a
962	// non-empty value. This may be used to include null fields in Patch
963	// requests.
964	NullFields []string `json:"-"`
965}
966
967func (s *GoogleCloudDatacatalogV1beta1EntryGroup) MarshalJSON() ([]byte, error) {
968	type NoMethod GoogleCloudDatacatalogV1beta1EntryGroup
969	raw := NoMethod(*s)
970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
971}
972
973// GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse: Response
974// message for
975// ExportTaxonomies.
976type GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse struct {
977	// Taxonomies: List of taxonomies and policy tags in a tree structure.
978	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
979
980	// ServerResponse contains the HTTP response code and headers from the
981	// server.
982	googleapi.ServerResponse `json:"-"`
983
984	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
985	// unconditionally include in API requests. By default, fields with
986	// empty values are omitted from API requests. However, any non-pointer,
987	// non-interface field appearing in ForceSendFields will be sent to the
988	// server regardless of whether the field is empty or not. This may be
989	// used to include empty fields in Patch requests.
990	ForceSendFields []string `json:"-"`
991
992	// NullFields is a list of field names (e.g. "Taxonomies") to include in
993	// API requests with the JSON null value. By default, fields with empty
994	// values are omitted from API requests. However, any field with an
995	// empty value appearing in NullFields will be sent to the server as
996	// null. It is an error if a field in this list has a non-empty value.
997	// This may be used to include null fields in Patch requests.
998	NullFields []string `json:"-"`
999}
1000
1001func (s *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1002	type NoMethod GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
1003	raw := NoMethod(*s)
1004	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1005}
1006
1007type GoogleCloudDatacatalogV1beta1FieldType struct {
1008	// EnumType: Represents an enum type.
1009	EnumType *GoogleCloudDatacatalogV1beta1FieldTypeEnumType `json:"enumType,omitempty"`
1010
1011	// PrimitiveType: Represents primitive types - string, bool etc.
1012	//
1013	// Possible values:
1014	//   "PRIMITIVE_TYPE_UNSPECIFIED" - This is the default invalid value
1015	// for a type.
1016	//   "DOUBLE" - A double precision number.
1017	//   "STRING" - An UTF-8 string.
1018	//   "BOOL" - A boolean value.
1019	//   "TIMESTAMP" - A timestamp.
1020	PrimitiveType string `json:"primitiveType,omitempty"`
1021
1022	// ForceSendFields is a list of field names (e.g. "EnumType") to
1023	// unconditionally include in API requests. By default, fields with
1024	// empty values are omitted from API requests. However, any non-pointer,
1025	// non-interface field appearing in ForceSendFields will be sent to the
1026	// server regardless of whether the field is empty or not. This may be
1027	// used to include empty fields in Patch requests.
1028	ForceSendFields []string `json:"-"`
1029
1030	// NullFields is a list of field names (e.g. "EnumType") to include in
1031	// API requests with the JSON null value. By default, fields with empty
1032	// values are omitted from API requests. However, any field with an
1033	// empty value appearing in NullFields will be sent to the server as
1034	// null. It is an error if a field in this list has a non-empty value.
1035	// This may be used to include null fields in Patch requests.
1036	NullFields []string `json:"-"`
1037}
1038
1039func (s *GoogleCloudDatacatalogV1beta1FieldType) MarshalJSON() ([]byte, error) {
1040	type NoMethod GoogleCloudDatacatalogV1beta1FieldType
1041	raw := NoMethod(*s)
1042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1043}
1044
1045type GoogleCloudDatacatalogV1beta1FieldTypeEnumType struct {
1046	// AllowedValues: The set of allowed values for this enum. This set must
1047	// not be empty, the
1048	// display names of the values in this set must not be empty and the
1049	// display
1050	// names of the values must be case-insensitively unique within this
1051	// set.
1052	// The order of items in this list is preserved. This field can be used
1053	// to
1054	// create, remove and reorder enum values. In order to rename enum value
1055	// use
1056	// RenameTagTemplateFieldEnumValue method. Can have up to 500
1057	// allowed
1058	// values.
1059	AllowedValues []*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue `json:"allowedValues,omitempty"`
1060
1061	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
1062	// unconditionally include in API requests. By default, fields with
1063	// empty values are omitted from API requests. However, any non-pointer,
1064	// non-interface field appearing in ForceSendFields will be sent to the
1065	// server regardless of whether the field is empty or not. This may be
1066	// used to include empty fields in Patch requests.
1067	ForceSendFields []string `json:"-"`
1068
1069	// NullFields is a list of field names (e.g. "AllowedValues") to include
1070	// in API requests with the JSON null value. By default, fields with
1071	// empty values are omitted from API requests. However, any field with
1072	// an empty value appearing in NullFields will be sent to the server as
1073	// null. It is an error if a field in this list has a non-empty value.
1074	// This may be used to include null fields in Patch requests.
1075	NullFields []string `json:"-"`
1076}
1077
1078func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumType) MarshalJSON() ([]byte, error) {
1079	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumType
1080	raw := NoMethod(*s)
1081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1082}
1083
1084type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue struct {
1085	// DisplayName: Required. The display name of the enum value. Must not
1086	// be an empty string.
1087	DisplayName string `json:"displayName,omitempty"`
1088
1089	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1090	// unconditionally include in API requests. By default, fields with
1091	// empty values are omitted from API requests. However, any non-pointer,
1092	// non-interface field appearing in ForceSendFields will be sent to the
1093	// server regardless of whether the field is empty or not. This may be
1094	// used to include empty fields in Patch requests.
1095	ForceSendFields []string `json:"-"`
1096
1097	// NullFields is a list of field names (e.g. "DisplayName") to include
1098	// in API requests with the JSON null value. By default, fields with
1099	// empty values are omitted from API requests. However, any field with
1100	// an empty value appearing in NullFields will be sent to the server as
1101	// null. It is an error if a field in this list has a non-empty value.
1102	// This may be used to include null fields in Patch requests.
1103	NullFields []string `json:"-"`
1104}
1105
1106func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue) MarshalJSON() ([]byte, error) {
1107	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue
1108	raw := NoMethod(*s)
1109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1110}
1111
1112// GoogleCloudDatacatalogV1beta1GcsFileSpec: Specifications of a single
1113// file in Cloud Storage.
1114type GoogleCloudDatacatalogV1beta1GcsFileSpec struct {
1115	// FilePath: Required. The full file path. Example:
1116	// `gs://bucket_name/a/b.txt`.
1117	FilePath string `json:"filePath,omitempty"`
1118
1119	// GcsTimestamps: Output only. Timestamps about the Cloud Storage file.
1120	GcsTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"gcsTimestamps,omitempty"`
1121
1122	// SizeBytes: Output only. The size of the file, in bytes.
1123	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
1124
1125	// ForceSendFields is a list of field names (e.g. "FilePath") to
1126	// unconditionally include in API requests. By default, fields with
1127	// empty values are omitted from API requests. However, any non-pointer,
1128	// non-interface field appearing in ForceSendFields will be sent to the
1129	// server regardless of whether the field is empty or not. This may be
1130	// used to include empty fields in Patch requests.
1131	ForceSendFields []string `json:"-"`
1132
1133	// NullFields is a list of field names (e.g. "FilePath") to include in
1134	// API requests with the JSON null value. By default, fields with empty
1135	// values are omitted from API requests. However, any field with an
1136	// empty value appearing in NullFields will be sent to the server as
1137	// null. It is an error if a field in this list has a non-empty value.
1138	// This may be used to include null fields in Patch requests.
1139	NullFields []string `json:"-"`
1140}
1141
1142func (s *GoogleCloudDatacatalogV1beta1GcsFileSpec) MarshalJSON() ([]byte, error) {
1143	type NoMethod GoogleCloudDatacatalogV1beta1GcsFileSpec
1144	raw := NoMethod(*s)
1145	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1146}
1147
1148// GoogleCloudDatacatalogV1beta1GcsFilesetSpec: Describes a Cloud
1149// Storage fileset entry.
1150type GoogleCloudDatacatalogV1beta1GcsFilesetSpec struct {
1151	// FilePatterns: Required. Patterns to identify a set of files in Google
1152	// Cloud Storage.
1153	// See [Cloud
1154	// Storage
1155	// documentation](https://cloud.google.com/storage/docs/gsutil/ad
1156	// dlhelp/WildcardNames)
1157	// for more information. Note that bucket wildcards are currently
1158	// not
1159	// supported.
1160	//
1161	// Examples of valid file_patterns:
1162	//
1163	//  * `gs://bucket_name/dir/*`: matches all files within
1164	// `bucket_name/dir`
1165	//                              directory.
1166	//  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
1167	//                               spanning all subdirectories.
1168	//  * `gs://bucket_name/file*`: matches files prefixed by `file` in
1169	//                              `bucket_name`
1170	//  * `gs://bucket_name/??.txt`: matches files with two characters
1171	// followed by
1172	//                               `.txt` in `bucket_name`
1173	//  * `gs://bucket_name/[aeiou].txt`: matches files that contain a
1174	// single
1175	//                                    vowel character followed by `.txt`
1176	// in
1177	//                                    `bucket_name`
1178	//  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`,
1179	// ...
1180	//                                  or `m` followed by `.txt` in
1181	// `bucket_name`
1182	//  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that
1183	// match
1184	//                              `a/*/b` pattern, such as `a/c/b`,
1185	// `a/d/b`
1186	//  * `gs://another_bucket/a.txt`: matches
1187	// `gs://another_bucket/a.txt`
1188	//
1189	// You can combine wildcards to provide more powerful matches, for
1190	// example:
1191	//
1192	//  * `gs://bucket_name/[a-m]??.j*g`
1193	FilePatterns []string `json:"filePatterns,omitempty"`
1194
1195	// SampleGcsFileSpecs: Output only. Sample files contained in this
1196	// fileset, not all files contained in this
1197	// fileset are represented here.
1198	SampleGcsFileSpecs []*GoogleCloudDatacatalogV1beta1GcsFileSpec `json:"sampleGcsFileSpecs,omitempty"`
1199
1200	// ForceSendFields is a list of field names (e.g. "FilePatterns") to
1201	// unconditionally include in API requests. By default, fields with
1202	// empty values are omitted from API requests. However, any non-pointer,
1203	// non-interface field appearing in ForceSendFields will be sent to the
1204	// server regardless of whether the field is empty or not. This may be
1205	// used to include empty fields in Patch requests.
1206	ForceSendFields []string `json:"-"`
1207
1208	// NullFields is a list of field names (e.g. "FilePatterns") to include
1209	// in API requests with the JSON null value. By default, fields with
1210	// empty values are omitted from API requests. However, any field with
1211	// an empty value appearing in NullFields will be sent to the server as
1212	// null. It is an error if a field in this list has a non-empty value.
1213	// This may be used to include null fields in Patch requests.
1214	NullFields []string `json:"-"`
1215}
1216
1217func (s *GoogleCloudDatacatalogV1beta1GcsFilesetSpec) MarshalJSON() ([]byte, error) {
1218	type NoMethod GoogleCloudDatacatalogV1beta1GcsFilesetSpec
1219	raw := NoMethod(*s)
1220	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1221}
1222
1223// GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest: Request message
1224// for
1225// ImportTaxonomies.
1226type GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest struct {
1227	// InlineSource: Inline source used for taxonomies to be imported.
1228	InlineSource *GoogleCloudDatacatalogV1beta1InlineSource `json:"inlineSource,omitempty"`
1229
1230	// ForceSendFields is a list of field names (e.g. "InlineSource") to
1231	// unconditionally include in API requests. By default, fields with
1232	// empty values are omitted from API requests. However, any non-pointer,
1233	// non-interface field appearing in ForceSendFields will be sent to the
1234	// server regardless of whether the field is empty or not. This may be
1235	// used to include empty fields in Patch requests.
1236	ForceSendFields []string `json:"-"`
1237
1238	// NullFields is a list of field names (e.g. "InlineSource") to include
1239	// in API requests with the JSON null value. By default, fields with
1240	// empty values are omitted from API requests. However, any field with
1241	// an empty value appearing in NullFields will be sent to the server as
1242	// null. It is an error if a field in this list has a non-empty value.
1243	// This may be used to include null fields in Patch requests.
1244	NullFields []string `json:"-"`
1245}
1246
1247func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) MarshalJSON() ([]byte, error) {
1248	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
1249	raw := NoMethod(*s)
1250	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1251}
1252
1253// GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse: Response
1254// message for
1255// ImportTaxonomies.
1256type GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse struct {
1257	// Taxonomies: Taxonomies that were imported.
1258	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1259
1260	// ServerResponse contains the HTTP response code and headers from the
1261	// server.
1262	googleapi.ServerResponse `json:"-"`
1263
1264	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1265	// unconditionally include in API requests. By default, fields with
1266	// empty values are omitted from API requests. However, any non-pointer,
1267	// non-interface field appearing in ForceSendFields will be sent to the
1268	// server regardless of whether the field is empty or not. This may be
1269	// used to include empty fields in Patch requests.
1270	ForceSendFields []string `json:"-"`
1271
1272	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1273	// API requests with the JSON null value. By default, fields with empty
1274	// values are omitted from API requests. However, any field with an
1275	// empty value appearing in NullFields will be sent to the server as
1276	// null. It is an error if a field in this list has a non-empty value.
1277	// This may be used to include null fields in Patch requests.
1278	NullFields []string `json:"-"`
1279}
1280
1281func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1282	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
1283	raw := NoMethod(*s)
1284	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1285}
1286
1287// GoogleCloudDatacatalogV1beta1InlineSource: Inline source used for
1288// taxonomies import.
1289type GoogleCloudDatacatalogV1beta1InlineSource struct {
1290	// Taxonomies: Required. Taxonomies to be imported.
1291	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
1292
1293	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1294	// unconditionally include in API requests. By default, fields with
1295	// empty values are omitted from API requests. However, any non-pointer,
1296	// non-interface field appearing in ForceSendFields will be sent to the
1297	// server regardless of whether the field is empty or not. This may be
1298	// used to include empty fields in Patch requests.
1299	ForceSendFields []string `json:"-"`
1300
1301	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1302	// API requests with the JSON null value. By default, fields with empty
1303	// values are omitted from API requests. However, any field with an
1304	// empty value appearing in NullFields will be sent to the server as
1305	// null. It is an error if a field in this list has a non-empty value.
1306	// This may be used to include null fields in Patch requests.
1307	NullFields []string `json:"-"`
1308}
1309
1310func (s *GoogleCloudDatacatalogV1beta1InlineSource) MarshalJSON() ([]byte, error) {
1311	type NoMethod GoogleCloudDatacatalogV1beta1InlineSource
1312	raw := NoMethod(*s)
1313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1314}
1315
1316// GoogleCloudDatacatalogV1beta1ListEntriesResponse: Response message
1317// for
1318// ListEntries.
1319type GoogleCloudDatacatalogV1beta1ListEntriesResponse struct {
1320	// Entries: Entry details.
1321	Entries []*GoogleCloudDatacatalogV1beta1Entry `json:"entries,omitempty"`
1322
1323	// NextPageToken: Token to retrieve the next page of results. It is set
1324	// to empty if no items
1325	// remain in results.
1326	NextPageToken string `json:"nextPageToken,omitempty"`
1327
1328	// ServerResponse contains the HTTP response code and headers from the
1329	// server.
1330	googleapi.ServerResponse `json:"-"`
1331
1332	// ForceSendFields is a list of field names (e.g. "Entries") to
1333	// unconditionally include in API requests. By default, fields with
1334	// empty values are omitted from API requests. However, any non-pointer,
1335	// non-interface field appearing in ForceSendFields will be sent to the
1336	// server regardless of whether the field is empty or not. This may be
1337	// used to include empty fields in Patch requests.
1338	ForceSendFields []string `json:"-"`
1339
1340	// NullFields is a list of field names (e.g. "Entries") to include in
1341	// API requests with the JSON null value. By default, fields with empty
1342	// values are omitted from API requests. However, any field with an
1343	// empty value appearing in NullFields will be sent to the server as
1344	// null. It is an error if a field in this list has a non-empty value.
1345	// This may be used to include null fields in Patch requests.
1346	NullFields []string `json:"-"`
1347}
1348
1349func (s *GoogleCloudDatacatalogV1beta1ListEntriesResponse) MarshalJSON() ([]byte, error) {
1350	type NoMethod GoogleCloudDatacatalogV1beta1ListEntriesResponse
1351	raw := NoMethod(*s)
1352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1353}
1354
1355// GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse: Response
1356// message for
1357// ListEntryGroups.
1358type GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse struct {
1359	// EntryGroups: EntryGroup details.
1360	EntryGroups []*GoogleCloudDatacatalogV1beta1EntryGroup `json:"entryGroups,omitempty"`
1361
1362	// NextPageToken: Token to retrieve the next page of results. It is set
1363	// to empty if no items
1364	// remain in results.
1365	NextPageToken string `json:"nextPageToken,omitempty"`
1366
1367	// ServerResponse contains the HTTP response code and headers from the
1368	// server.
1369	googleapi.ServerResponse `json:"-"`
1370
1371	// ForceSendFields is a list of field names (e.g. "EntryGroups") to
1372	// unconditionally include in API requests. By default, fields with
1373	// empty values are omitted from API requests. However, any non-pointer,
1374	// non-interface field appearing in ForceSendFields will be sent to the
1375	// server regardless of whether the field is empty or not. This may be
1376	// used to include empty fields in Patch requests.
1377	ForceSendFields []string `json:"-"`
1378
1379	// NullFields is a list of field names (e.g. "EntryGroups") to include
1380	// in API requests with the JSON null value. By default, fields with
1381	// empty values are omitted from API requests. However, any field with
1382	// an empty value appearing in NullFields will be sent to the server as
1383	// null. It is an error if a field in this list has a non-empty value.
1384	// This may be used to include null fields in Patch requests.
1385	NullFields []string `json:"-"`
1386}
1387
1388func (s *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) MarshalJSON() ([]byte, error) {
1389	type NoMethod GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
1390	raw := NoMethod(*s)
1391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1392}
1393
1394// GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse: Response message
1395// for
1396// ListPolicyTags.
1397type GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse struct {
1398	// NextPageToken: Token used to retrieve the next page of results, or
1399	// empty if there are no
1400	// more results in the list.
1401	NextPageToken string `json:"nextPageToken,omitempty"`
1402
1403	// PolicyTags: The policy tags that are in the requested taxonomy.
1404	PolicyTags []*GoogleCloudDatacatalogV1beta1PolicyTag `json:"policyTags,omitempty"`
1405
1406	// ServerResponse contains the HTTP response code and headers from the
1407	// server.
1408	googleapi.ServerResponse `json:"-"`
1409
1410	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1411	// unconditionally include in API requests. By default, fields with
1412	// empty values are omitted from API requests. However, any non-pointer,
1413	// non-interface field appearing in ForceSendFields will be sent to the
1414	// server regardless of whether the field is empty or not. This may be
1415	// used to include empty fields in Patch requests.
1416	ForceSendFields []string `json:"-"`
1417
1418	// NullFields is a list of field names (e.g. "NextPageToken") to include
1419	// in API requests with the JSON null value. By default, fields with
1420	// empty values are omitted from API requests. However, any field with
1421	// an empty value appearing in NullFields will be sent to the server as
1422	// null. It is an error if a field in this list has a non-empty value.
1423	// This may be used to include null fields in Patch requests.
1424	NullFields []string `json:"-"`
1425}
1426
1427func (s *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) MarshalJSON() ([]byte, error) {
1428	type NoMethod GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
1429	raw := NoMethod(*s)
1430	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1431}
1432
1433// GoogleCloudDatacatalogV1beta1ListTagsResponse: Response message
1434// for
1435// ListTags.
1436type GoogleCloudDatacatalogV1beta1ListTagsResponse struct {
1437	// NextPageToken: Token to retrieve the next page of results. It is set
1438	// to empty if no items
1439	// remain in results.
1440	NextPageToken string `json:"nextPageToken,omitempty"`
1441
1442	// Tags: Tag details.
1443	Tags []*GoogleCloudDatacatalogV1beta1Tag `json:"tags,omitempty"`
1444
1445	// ServerResponse contains the HTTP response code and headers from the
1446	// server.
1447	googleapi.ServerResponse `json:"-"`
1448
1449	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1450	// unconditionally include in API requests. By default, fields with
1451	// empty values are omitted from API requests. However, any non-pointer,
1452	// non-interface field appearing in ForceSendFields will be sent to the
1453	// server regardless of whether the field is empty or not. This may be
1454	// used to include empty fields in Patch requests.
1455	ForceSendFields []string `json:"-"`
1456
1457	// NullFields is a list of field names (e.g. "NextPageToken") to include
1458	// in API requests with the JSON null value. By default, fields with
1459	// empty values are omitted from API requests. However, any field with
1460	// an empty value appearing in NullFields will be sent to the server as
1461	// null. It is an error if a field in this list has a non-empty value.
1462	// This may be used to include null fields in Patch requests.
1463	NullFields []string `json:"-"`
1464}
1465
1466func (s *GoogleCloudDatacatalogV1beta1ListTagsResponse) MarshalJSON() ([]byte, error) {
1467	type NoMethod GoogleCloudDatacatalogV1beta1ListTagsResponse
1468	raw := NoMethod(*s)
1469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1470}
1471
1472// GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse: Response message
1473// for
1474// ListTaxonomies.
1475type GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse struct {
1476	// NextPageToken: Token used to retrieve the next page of results, or
1477	// empty if there are no
1478	// more results in the list.
1479	NextPageToken string `json:"nextPageToken,omitempty"`
1480
1481	// Taxonomies: Taxonomies that the project contains.
1482	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1483
1484	// ServerResponse contains the HTTP response code and headers from the
1485	// server.
1486	googleapi.ServerResponse `json:"-"`
1487
1488	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1489	// unconditionally include in API requests. By default, fields with
1490	// empty values are omitted from API requests. However, any non-pointer,
1491	// non-interface field appearing in ForceSendFields will be sent to the
1492	// server regardless of whether the field is empty or not. This may be
1493	// used to include empty fields in Patch requests.
1494	ForceSendFields []string `json:"-"`
1495
1496	// NullFields is a list of field names (e.g. "NextPageToken") to include
1497	// in API requests with the JSON null value. By default, fields with
1498	// empty values are omitted from API requests. However, any field with
1499	// an empty value appearing in NullFields will be sent to the server as
1500	// null. It is an error if a field in this list has a non-empty value.
1501	// This may be used to include null fields in Patch requests.
1502	NullFields []string `json:"-"`
1503}
1504
1505func (s *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1506	type NoMethod GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
1507	raw := NoMethod(*s)
1508	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1509}
1510
1511// GoogleCloudDatacatalogV1beta1PolicyTag: Denotes one policy tag in a
1512// taxonomy (e.g. ssn). Policy Tags can be defined
1513// in a hierarchy. For example, consider the following
1514// hierarchy:
1515// Geolocation -&gt; (LatLong, City, ZipCode). PolicyTag
1516// "Geolocation"
1517// contains three child policy tags: "LatLong", "City", and "ZipCode".
1518type GoogleCloudDatacatalogV1beta1PolicyTag struct {
1519	// ChildPolicyTags: Output only. Resource names of child policy tags of
1520	// this policy tag.
1521	ChildPolicyTags []string `json:"childPolicyTags,omitempty"`
1522
1523	// Description: Description of this policy tag. It must: contain only
1524	// unicode characters,
1525	// tabs, newlines, carriage returns and page breaks; and be at most 2000
1526	// bytes
1527	// long when encoded in UTF-8. If not set, defaults to an empty
1528	// description.
1529	// If not set, defaults to an empty description.
1530	Description string `json:"description,omitempty"`
1531
1532	// DisplayName: Required. User defined name of this policy tag. It must:
1533	// be unique within the parent
1534	// taxonomy; contain only unicode letters, numbers, underscores, dashes
1535	// and
1536	// spaces; not start or end with spaces; and be at most 200 bytes long
1537	// when
1538	// encoded in UTF-8.
1539	DisplayName string `json:"displayName,omitempty"`
1540
1541	// Name: Output only. Resource name of this policy tag, whose format
1542	// is:
1543	// "projects/{project_number}/locations/{location_id}/taxonomies/{tax
1544	// onomy_id}/policyTags/{id}".
1545	Name string `json:"name,omitempty"`
1546
1547	// ParentPolicyTag: Resource name of this policy tag's parent policy tag
1548	// (e.g. for the
1549	// "LatLong" policy tag in the example above, this field contains
1550	// the
1551	// resource name of the "Geolocation" policy tag). If empty, it means
1552	// this
1553	// policy tag is a top level policy tag (e.g. this field is empty for
1554	// the
1555	// "Geolocation" policy tag in the example above). If not set, defaults
1556	// to an
1557	// empty string.
1558	ParentPolicyTag string `json:"parentPolicyTag,omitempty"`
1559
1560	// ServerResponse contains the HTTP response code and headers from the
1561	// server.
1562	googleapi.ServerResponse `json:"-"`
1563
1564	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
1565	// unconditionally include in API requests. By default, fields with
1566	// empty values are omitted from API requests. However, any non-pointer,
1567	// non-interface field appearing in ForceSendFields will be sent to the
1568	// server regardless of whether the field is empty or not. This may be
1569	// used to include empty fields in Patch requests.
1570	ForceSendFields []string `json:"-"`
1571
1572	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
1573	// include in API requests with the JSON null value. By default, fields
1574	// with empty values are omitted from API requests. However, any field
1575	// with an empty value appearing in NullFields will be sent to the
1576	// server as null. It is an error if a field in this list has a
1577	// non-empty value. This may be used to include null fields in Patch
1578	// requests.
1579	NullFields []string `json:"-"`
1580}
1581
1582func (s *GoogleCloudDatacatalogV1beta1PolicyTag) MarshalJSON() ([]byte, error) {
1583	type NoMethod GoogleCloudDatacatalogV1beta1PolicyTag
1584	raw := NoMethod(*s)
1585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1586}
1587
1588// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest:
1589// Request message for
1590// RenameTagTemplateFieldEnumValue.
1591type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest struct {
1592	// NewEnumValueDisplayName: Required. The new display name of the enum
1593	// value. For example, `my_new_enum_value`.
1594	NewEnumValueDisplayName string `json:"newEnumValueDisplayName,omitempty"`
1595
1596	// ForceSendFields is a list of field names (e.g.
1597	// "NewEnumValueDisplayName") to unconditionally include in API
1598	// requests. By default, fields with empty values are omitted from API
1599	// requests. However, any non-pointer, non-interface field appearing in
1600	// ForceSendFields will be sent to the server regardless of whether the
1601	// field is empty or not. This may be used to include empty fields in
1602	// Patch requests.
1603	ForceSendFields []string `json:"-"`
1604
1605	// NullFields is a list of field names (e.g. "NewEnumValueDisplayName")
1606	// to include in API requests with the JSON null value. By default,
1607	// fields with empty values are omitted from API requests. However, any
1608	// field with an empty value appearing in NullFields will be sent to the
1609	// server as null. It is an error if a field in this list has a
1610	// non-empty value. This may be used to include null fields in Patch
1611	// requests.
1612	NullFields []string `json:"-"`
1613}
1614
1615func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) MarshalJSON() ([]byte, error) {
1616	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
1617	raw := NoMethod(*s)
1618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1619}
1620
1621// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest: Request
1622// message for
1623// RenameTagTemplateField.
1624type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest struct {
1625	// NewTagTemplateFieldId: Required. The new ID of this tag template
1626	// field. For example, `my_new_field`.
1627	NewTagTemplateFieldId string `json:"newTagTemplateFieldId,omitempty"`
1628
1629	// ForceSendFields is a list of field names (e.g.
1630	// "NewTagTemplateFieldId") to unconditionally include in API requests.
1631	// By default, fields with empty values are omitted from API requests.
1632	// However, any non-pointer, non-interface field appearing in
1633	// ForceSendFields will be sent to the server regardless of whether the
1634	// field is empty or not. This may be used to include empty fields in
1635	// Patch requests.
1636	ForceSendFields []string `json:"-"`
1637
1638	// NullFields is a list of field names (e.g. "NewTagTemplateFieldId") to
1639	// include in API requests with the JSON null value. By default, fields
1640	// with empty values are omitted from API requests. However, any field
1641	// with an empty value appearing in NullFields will be sent to the
1642	// server as null. It is an error if a field in this list has a
1643	// non-empty value. This may be used to include null fields in Patch
1644	// requests.
1645	NullFields []string `json:"-"`
1646}
1647
1648func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) MarshalJSON() ([]byte, error) {
1649	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
1650	raw := NoMethod(*s)
1651	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1652}
1653
1654// GoogleCloudDatacatalogV1beta1Schema: Represents a schema (e.g.
1655// BigQuery, GoogleSQL, Avro schema).
1656type GoogleCloudDatacatalogV1beta1Schema struct {
1657	// Columns: Required. Schema of columns. A maximum of 10,000 columns and
1658	// sub-columns can be
1659	// specified.
1660	Columns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"columns,omitempty"`
1661
1662	// ForceSendFields is a list of field names (e.g. "Columns") to
1663	// unconditionally include in API requests. By default, fields with
1664	// empty values are omitted from API requests. However, any non-pointer,
1665	// non-interface field appearing in ForceSendFields will be sent to the
1666	// server regardless of whether the field is empty or not. This may be
1667	// used to include empty fields in Patch requests.
1668	ForceSendFields []string `json:"-"`
1669
1670	// NullFields is a list of field names (e.g. "Columns") to include in
1671	// API requests with the JSON null value. By default, fields with empty
1672	// values are omitted from API requests. However, any field with an
1673	// empty value appearing in NullFields will be sent to the server as
1674	// null. It is an error if a field in this list has a non-empty value.
1675	// This may be used to include null fields in Patch requests.
1676	NullFields []string `json:"-"`
1677}
1678
1679func (s *GoogleCloudDatacatalogV1beta1Schema) MarshalJSON() ([]byte, error) {
1680	type NoMethod GoogleCloudDatacatalogV1beta1Schema
1681	raw := NoMethod(*s)
1682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1683}
1684
1685// GoogleCloudDatacatalogV1beta1SearchCatalogRequest: Request message
1686// for
1687// SearchCatalog.
1688type GoogleCloudDatacatalogV1beta1SearchCatalogRequest struct {
1689	// OrderBy: Specifies the ordering of results, currently supported
1690	// case-sensitive
1691	// choices are:
1692	//
1693	//   * `relevance`, only supports descending
1694	//   * `last_modified_timestamp [asc|desc]`, defaults to descending if
1695	// not
1696	//     specified
1697	//
1698	// If not specified, defaults to `relevance` descending.
1699	OrderBy string `json:"orderBy,omitempty"`
1700
1701	// PageSize: Number of results in the search page. If <=0 then defaults
1702	// to 10. Max limit
1703	// for page_size is 1000. Throws an invalid argument for page_size >
1704	// 1000.
1705	PageSize int64 `json:"pageSize,omitempty"`
1706
1707	// PageToken: Optional. Pagination token returned in an
1708	// earlier
1709	// SearchCatalogResponse.next_page_token, which
1710	// indicates that this is a continuation of a
1711	// prior
1712	// SearchCatalogRequest
1713	// call, and that the system should return the next page of data. If
1714	// empty,
1715	// the first page is returned.
1716	PageToken string `json:"pageToken,omitempty"`
1717
1718	// Query: Required. The query string in search query syntax. The query
1719	// must be non-empty.
1720	//
1721	// Query strings can be simple as "x" or more qualified as:
1722	//
1723	// * name:x
1724	// * column:x
1725	// * description:y
1726	//
1727	// Note: Query tokens need to have a minimum of 3 characters for
1728	// substring
1729	// matching to work correctly. See [Data Catalog
1730	// Search
1731	// Syntax](https://cloud.google.com/data-catalog/docs/how-to/searc
1732	// h-reference)
1733	// for more information.
1734	Query string `json:"query,omitempty"`
1735
1736	// Scope: Required. The scope of this search request. A `scope` that has
1737	// empty
1738	// `include_org_ids`, `include_project_ids` AND
1739	// false
1740	// `include_gcp_public_datasets` is considered invalid. Data Catalog
1741	// will
1742	// return an error in such a case.
1743	Scope *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope `json:"scope,omitempty"`
1744
1745	// ForceSendFields is a list of field names (e.g. "OrderBy") to
1746	// unconditionally include in API requests. By default, fields with
1747	// empty values are omitted from API requests. However, any non-pointer,
1748	// non-interface field appearing in ForceSendFields will be sent to the
1749	// server regardless of whether the field is empty or not. This may be
1750	// used to include empty fields in Patch requests.
1751	ForceSendFields []string `json:"-"`
1752
1753	// NullFields is a list of field names (e.g. "OrderBy") to include in
1754	// API requests with the JSON null value. By default, fields with empty
1755	// values are omitted from API requests. However, any field with an
1756	// empty value appearing in NullFields will be sent to the server as
1757	// null. It is an error if a field in this list has a non-empty value.
1758	// This may be used to include null fields in Patch requests.
1759	NullFields []string `json:"-"`
1760}
1761
1762func (s *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) MarshalJSON() ([]byte, error) {
1763	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequest
1764	raw := NoMethod(*s)
1765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1766}
1767
1768// GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope: The criteria
1769// that select the subspace used for query matching.
1770type GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope struct {
1771	// IncludeGcpPublicDatasets: If `true`, include Google Cloud Platform
1772	// (GCP) public datasets in the
1773	// search results. Info on GCP public datasets is available
1774	// at
1775	// https://cloud.google.com/public-datasets/. By default, GCP
1776	// public
1777	// datasets are excluded.
1778	IncludeGcpPublicDatasets bool `json:"includeGcpPublicDatasets,omitempty"`
1779
1780	// IncludeOrgIds: The list of organization IDs to search within. To find
1781	// your organization
1782	// ID, follow instructions
1783	// in
1784	// https://cloud.google.com/resource-manager/docs/creating-managing-or
1785	// ganization.
1786	IncludeOrgIds []string `json:"includeOrgIds,omitempty"`
1787
1788	// IncludeProjectIds: The list of project IDs to search within. To learn
1789	// more about the
1790	// distinction between project names/IDs/numbers, go
1791	// to
1792	// https://cloud.google.com/docs/overview/#projects.
1793	IncludeProjectIds []string `json:"includeProjectIds,omitempty"`
1794
1795	// RestrictedLocations: Optional. The list of locations to search
1796	// within.
1797	// 1. If empty, search will be performed in all locations;
1798	// 2. If any of the locations are NOT in the valid locations list,
1799	// error
1800	// will be returned;
1801	// 3. Otherwise, search only the given locations for matching
1802	// results.
1803	// Typical usage is to leave this field empty. When a location
1804	// is
1805	// unreachable as returned in the `SearchCatalogResponse.unreachable`
1806	// field,
1807	// users can repeat the search request with this parameter set to
1808	// get
1809	// additional information on the error.
1810	//
1811	// Valid locations:
1812	//  * asia-east1
1813	//  * asia-east2
1814	//  * asia-northeast1
1815	//  * asia-northeast2
1816	//  * asia-northeast3
1817	//  * asia-south1
1818	//  * asia-southeast1
1819	//  * australia-southeast1
1820	//  * eu
1821	//  * europe-north1
1822	//  * europe-west1
1823	//  * europe-west2
1824	//  * europe-west3
1825	//  * europe-west4
1826	//  * europe-west6
1827	//  * global
1828	//  * northamerica-northeast1
1829	//  * southamerica-east1
1830	//  * us
1831	//  * us-central1
1832	//  * us-east1
1833	//  * us-east4
1834	//  * us-west1
1835	//  * us-west2
1836	RestrictedLocations []string `json:"restrictedLocations,omitempty"`
1837
1838	// ForceSendFields is a list of field names (e.g.
1839	// "IncludeGcpPublicDatasets") to unconditionally include in API
1840	// requests. By default, fields with empty values are omitted from API
1841	// requests. However, any non-pointer, non-interface field appearing in
1842	// ForceSendFields will be sent to the server regardless of whether the
1843	// field is empty or not. This may be used to include empty fields in
1844	// Patch requests.
1845	ForceSendFields []string `json:"-"`
1846
1847	// NullFields is a list of field names (e.g. "IncludeGcpPublicDatasets")
1848	// to include in API requests with the JSON null value. By default,
1849	// fields with empty values are omitted from API requests. However, any
1850	// field with an empty value appearing in NullFields will be sent to the
1851	// server as null. It is an error if a field in this list has a
1852	// non-empty value. This may be used to include null fields in Patch
1853	// requests.
1854	NullFields []string `json:"-"`
1855}
1856
1857func (s *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope) MarshalJSON() ([]byte, error) {
1858	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope
1859	raw := NoMethod(*s)
1860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1861}
1862
1863// GoogleCloudDatacatalogV1beta1SearchCatalogResponse: Response message
1864// for
1865// SearchCatalog.
1866type GoogleCloudDatacatalogV1beta1SearchCatalogResponse struct {
1867	// NextPageToken: The token that can be used to retrieve the next page
1868	// of results.
1869	NextPageToken string `json:"nextPageToken,omitempty"`
1870
1871	// Results: Search results.
1872	Results []*GoogleCloudDatacatalogV1beta1SearchCatalogResult `json:"results,omitempty"`
1873
1874	// Unreachable: Unreachable locations. Search result does not include
1875	// data from those
1876	// locations. Users can get additional information on the error by
1877	// repeating
1878	// the search request with a more restrictive parameter -- setting the
1879	// value
1880	// for `SearchDataCatalogRequest.scope.include_locations`.
1881	Unreachable []string `json:"unreachable,omitempty"`
1882
1883	// ServerResponse contains the HTTP response code and headers from the
1884	// server.
1885	googleapi.ServerResponse `json:"-"`
1886
1887	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1888	// unconditionally include in API requests. By default, fields with
1889	// empty values are omitted from API requests. However, any non-pointer,
1890	// non-interface field appearing in ForceSendFields will be sent to the
1891	// server regardless of whether the field is empty or not. This may be
1892	// used to include empty fields in Patch requests.
1893	ForceSendFields []string `json:"-"`
1894
1895	// NullFields is a list of field names (e.g. "NextPageToken") to include
1896	// in API requests with the JSON null value. By default, fields with
1897	// empty values are omitted from API requests. However, any field with
1898	// an empty value appearing in NullFields will be sent to the server as
1899	// null. It is an error if a field in this list has a non-empty value.
1900	// This may be used to include null fields in Patch requests.
1901	NullFields []string `json:"-"`
1902}
1903
1904func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResponse) MarshalJSON() ([]byte, error) {
1905	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResponse
1906	raw := NoMethod(*s)
1907	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1908}
1909
1910// GoogleCloudDatacatalogV1beta1SearchCatalogResult: A result that
1911// appears in the response of a search request. Each result
1912// captures details of one entry that matches the search.
1913type GoogleCloudDatacatalogV1beta1SearchCatalogResult struct {
1914	// LinkedResource: The full name of the cloud resource the entry belongs
1915	// to.
1916	// See:
1917	// https://cloud.google.com/apis/design/resource_names#full_resource
1918	// _name.
1919	// Example:
1920	//
1921	//  *
1922	// `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/table
1923	// s/tableId`
1924	LinkedResource string `json:"linkedResource,omitempty"`
1925
1926	// RelativeResourceName: The relative resource name of the resource in
1927	// URL format.
1928	// Examples:
1929	//
1930	//  *
1931	// `projects/{project_id}/locations/{location_id}/entryGroups/{entry_grou
1932	// p_id}/entries/{entry_id}`
1933	//  * `projects/{project_id}/tagTemplates/{tag_template_id}`
1934	RelativeResourceName string `json:"relativeResourceName,omitempty"`
1935
1936	// SearchResultSubtype: Sub-type of the search result. This is a
1937	// dot-delimited description of the
1938	// resource's full type, and is the same as the value callers would
1939	// provide in
1940	// the "type" search facet.  Examples: `entry.table`,
1941	// `entry.dataStream`,
1942	// `tagTemplate`.
1943	SearchResultSubtype string `json:"searchResultSubtype,omitempty"`
1944
1945	// SearchResultType: Type of the search result. This field can be used
1946	// to determine which Get
1947	// method to call to fetch the full resource.
1948	//
1949	// Possible values:
1950	//   "SEARCH_RESULT_TYPE_UNSPECIFIED" - Default unknown type.
1951	//   "ENTRY" - An Entry.
1952	//   "TAG_TEMPLATE" - A TagTemplate.
1953	//   "ENTRY_GROUP" - An EntryGroup.
1954	SearchResultType string `json:"searchResultType,omitempty"`
1955
1956	// ForceSendFields is a list of field names (e.g. "LinkedResource") to
1957	// unconditionally include in API requests. By default, fields with
1958	// empty values are omitted from API requests. However, any non-pointer,
1959	// non-interface field appearing in ForceSendFields will be sent to the
1960	// server regardless of whether the field is empty or not. This may be
1961	// used to include empty fields in Patch requests.
1962	ForceSendFields []string `json:"-"`
1963
1964	// NullFields is a list of field names (e.g. "LinkedResource") to
1965	// include in API requests with the JSON null value. By default, fields
1966	// with empty values are omitted from API requests. However, any field
1967	// with an empty value appearing in NullFields will be sent to the
1968	// server as null. It is an error if a field in this list has a
1969	// non-empty value. This may be used to include null fields in Patch
1970	// requests.
1971	NullFields []string `json:"-"`
1972}
1973
1974func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResult) MarshalJSON() ([]byte, error) {
1975	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResult
1976	raw := NoMethod(*s)
1977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1978}
1979
1980// GoogleCloudDatacatalogV1beta1SerializedPolicyTag: Message
1981// representing one policy tag when exported as a nested proto.
1982type GoogleCloudDatacatalogV1beta1SerializedPolicyTag struct {
1983	// ChildPolicyTags: Children of the policy tag if any.
1984	ChildPolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"childPolicyTags,omitempty"`
1985
1986	// Description: Description of the serialized policy tag. The length of
1987	// the
1988	// description is limited to 2000 bytes when encoded in UTF-8. If not
1989	// set,
1990	// defaults to an empty description.
1991	Description string `json:"description,omitempty"`
1992
1993	// DisplayName: Required. Display name of the policy tag. Max 200 bytes
1994	// when encoded in UTF-8.
1995	DisplayName string `json:"displayName,omitempty"`
1996
1997	// PolicyTag: Resource name of the policy tag.
1998	//
1999	// This field will be ignored when calling ImportTaxonomies.
2000	PolicyTag string `json:"policyTag,omitempty"`
2001
2002	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
2003	// unconditionally include in API requests. By default, fields with
2004	// empty values are omitted from API requests. However, any non-pointer,
2005	// non-interface field appearing in ForceSendFields will be sent to the
2006	// server regardless of whether the field is empty or not. This may be
2007	// used to include empty fields in Patch requests.
2008	ForceSendFields []string `json:"-"`
2009
2010	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
2011	// include in API requests with the JSON null value. By default, fields
2012	// with empty values are omitted from API requests. However, any field
2013	// with an empty value appearing in NullFields will be sent to the
2014	// server as null. It is an error if a field in this list has a
2015	// non-empty value. This may be used to include null fields in Patch
2016	// requests.
2017	NullFields []string `json:"-"`
2018}
2019
2020func (s *GoogleCloudDatacatalogV1beta1SerializedPolicyTag) MarshalJSON() ([]byte, error) {
2021	type NoMethod GoogleCloudDatacatalogV1beta1SerializedPolicyTag
2022	raw := NoMethod(*s)
2023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2024}
2025
2026// GoogleCloudDatacatalogV1beta1SerializedTaxonomy: Message capturing a
2027// taxonomy and its policy tag hierarchy as a nested proto.
2028// Used for taxonomy import/export and mutation.
2029type GoogleCloudDatacatalogV1beta1SerializedTaxonomy struct {
2030	// Description: Description of the serialized taxonomy. The length of
2031	// the
2032	// description is limited to 2000 bytes when encoded in UTF-8. If not
2033	// set,
2034	// defaults to an empty description.
2035	Description string `json:"description,omitempty"`
2036
2037	// DisplayName: Required. Display name of the taxonomy. Max 200 bytes
2038	// when encoded in UTF-8.
2039	DisplayName string `json:"displayName,omitempty"`
2040
2041	// PolicyTags: Top level policy tags associated with the taxonomy if
2042	// any.
2043	PolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"policyTags,omitempty"`
2044
2045	// ForceSendFields is a list of field names (e.g. "Description") to
2046	// unconditionally include in API requests. By default, fields with
2047	// empty values are omitted from API requests. However, any non-pointer,
2048	// non-interface field appearing in ForceSendFields will be sent to the
2049	// server regardless of whether the field is empty or not. This may be
2050	// used to include empty fields in Patch requests.
2051	ForceSendFields []string `json:"-"`
2052
2053	// NullFields is a list of field names (e.g. "Description") to include
2054	// in API requests with the JSON null value. By default, fields with
2055	// empty values are omitted from API requests. However, any field with
2056	// an empty value appearing in NullFields will be sent to the server as
2057	// null. It is an error if a field in this list has a non-empty value.
2058	// This may be used to include null fields in Patch requests.
2059	NullFields []string `json:"-"`
2060}
2061
2062func (s *GoogleCloudDatacatalogV1beta1SerializedTaxonomy) MarshalJSON() ([]byte, error) {
2063	type NoMethod GoogleCloudDatacatalogV1beta1SerializedTaxonomy
2064	raw := NoMethod(*s)
2065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2066}
2067
2068// GoogleCloudDatacatalogV1beta1SystemTimestamps: Timestamps about this
2069// resource according to a particular system.
2070type GoogleCloudDatacatalogV1beta1SystemTimestamps struct {
2071	// CreateTime: The creation time of the resource within the given
2072	// system.
2073	CreateTime string `json:"createTime,omitempty"`
2074
2075	// ExpireTime: Output only. The expiration time of the resource within
2076	// the given system.
2077	// Currently only apllicable to BigQuery resources.
2078	ExpireTime string `json:"expireTime,omitempty"`
2079
2080	// UpdateTime: The last-modified time of the resource within the given
2081	// system.
2082	UpdateTime string `json:"updateTime,omitempty"`
2083
2084	// ForceSendFields is a list of field names (e.g. "CreateTime") to
2085	// unconditionally include in API requests. By default, fields with
2086	// empty values are omitted from API requests. However, any non-pointer,
2087	// non-interface field appearing in ForceSendFields will be sent to the
2088	// server regardless of whether the field is empty or not. This may be
2089	// used to include empty fields in Patch requests.
2090	ForceSendFields []string `json:"-"`
2091
2092	// NullFields is a list of field names (e.g. "CreateTime") to include in
2093	// API requests with the JSON null value. By default, fields with empty
2094	// values are omitted from API requests. However, any field with an
2095	// empty value appearing in NullFields will be sent to the server as
2096	// null. It is an error if a field in this list has a non-empty value.
2097	// This may be used to include null fields in Patch requests.
2098	NullFields []string `json:"-"`
2099}
2100
2101func (s *GoogleCloudDatacatalogV1beta1SystemTimestamps) MarshalJSON() ([]byte, error) {
2102	type NoMethod GoogleCloudDatacatalogV1beta1SystemTimestamps
2103	raw := NoMethod(*s)
2104	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2105}
2106
2107// GoogleCloudDatacatalogV1beta1TableSpec: Normal BigQuery table spec.
2108type GoogleCloudDatacatalogV1beta1TableSpec struct {
2109	// GroupedEntry: Output only. If the table is a dated shard, i.e., with
2110	// name pattern `[prefix]YYYYMMDD`,
2111	// `grouped_entry` is the Data Catalog resource name of the date
2112	// sharded
2113	// grouped entry, for
2114	// example,
2115	// `projects/{project_id}/locations/{location}/entrygroups/{entr
2116	// y_group_id}/entries/{entry_id}`.
2117	// Otherwise, `grouped_entry` is empty.
2118	GroupedEntry string `json:"groupedEntry,omitempty"`
2119
2120	// ForceSendFields is a list of field names (e.g. "GroupedEntry") to
2121	// unconditionally include in API requests. By default, fields with
2122	// empty values are omitted from API requests. However, any non-pointer,
2123	// non-interface field appearing in ForceSendFields will be sent to the
2124	// server regardless of whether the field is empty or not. This may be
2125	// used to include empty fields in Patch requests.
2126	ForceSendFields []string `json:"-"`
2127
2128	// NullFields is a list of field names (e.g. "GroupedEntry") to include
2129	// in API requests with the JSON null value. By default, fields with
2130	// empty values are omitted from API requests. However, any field with
2131	// an empty value appearing in NullFields will be sent to the server as
2132	// null. It is an error if a field in this list has a non-empty value.
2133	// This may be used to include null fields in Patch requests.
2134	NullFields []string `json:"-"`
2135}
2136
2137func (s *GoogleCloudDatacatalogV1beta1TableSpec) MarshalJSON() ([]byte, error) {
2138	type NoMethod GoogleCloudDatacatalogV1beta1TableSpec
2139	raw := NoMethod(*s)
2140	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2141}
2142
2143// GoogleCloudDatacatalogV1beta1Tag: Tags are used to attach custom
2144// metadata to Data Catalog resources. Tags
2145// conform to the specifications within their tag template.
2146//
2147// See [Data
2148// Catalog
2149// IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for
2150// information
2151// on the permissions needed to create or view tags.
2152type GoogleCloudDatacatalogV1beta1Tag struct {
2153	// Column: Resources like Entry can have schemas associated with them.
2154	// This scope
2155	// allows users to attach tags to an individual column based on that
2156	// schema.
2157	//
2158	// For attaching a tag to a nested column, use `.` to separate the
2159	// column
2160	// names. Example:
2161	//
2162	// * `outer_column.inner_column`
2163	Column string `json:"column,omitempty"`
2164
2165	// Fields: Required. This maps the ID of a tag field to the value of and
2166	// additional information
2167	// about that field. Valid field IDs are defined by the tag's template.
2168	// A tag
2169	// must have at least 1 field and at most 500 fields.
2170	Fields map[string]GoogleCloudDatacatalogV1beta1TagField `json:"fields,omitempty"`
2171
2172	// Name: The resource name of the tag in URL format. Example:
2173	//
2174	// *
2175	// projects/{project_id}/locations/{location}/entrygroups/{entry_group_id
2176	// }/entries/{entry_id}/tags/{tag_id}
2177	//
2178	// where `tag_id` is a system-generated identifier.
2179	// Note that this Tag may not actually be stored in the location in this
2180	// name.
2181	Name string `json:"name,omitempty"`
2182
2183	// Template: Required. The resource name of the tag template that this
2184	// tag uses. Example:
2185	//
2186	// *
2187	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
2188	// id}
2189	//
2190	// This field cannot be modified after creation.
2191	Template string `json:"template,omitempty"`
2192
2193	// TemplateDisplayName: Output only. The display name of the tag
2194	// template.
2195	TemplateDisplayName string `json:"templateDisplayName,omitempty"`
2196
2197	// ServerResponse contains the HTTP response code and headers from the
2198	// server.
2199	googleapi.ServerResponse `json:"-"`
2200
2201	// ForceSendFields is a list of field names (e.g. "Column") to
2202	// unconditionally include in API requests. By default, fields with
2203	// empty values are omitted from API requests. However, any non-pointer,
2204	// non-interface field appearing in ForceSendFields will be sent to the
2205	// server regardless of whether the field is empty or not. This may be
2206	// used to include empty fields in Patch requests.
2207	ForceSendFields []string `json:"-"`
2208
2209	// NullFields is a list of field names (e.g. "Column") to include in API
2210	// requests with the JSON null value. By default, fields with empty
2211	// values are omitted from API requests. However, any field with an
2212	// empty value appearing in NullFields will be sent to the server as
2213	// null. It is an error if a field in this list has a non-empty value.
2214	// This may be used to include null fields in Patch requests.
2215	NullFields []string `json:"-"`
2216}
2217
2218func (s *GoogleCloudDatacatalogV1beta1Tag) MarshalJSON() ([]byte, error) {
2219	type NoMethod GoogleCloudDatacatalogV1beta1Tag
2220	raw := NoMethod(*s)
2221	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2222}
2223
2224// GoogleCloudDatacatalogV1beta1TagField: Contains the value and
2225// supporting information for a field within
2226// a Tag.
2227type GoogleCloudDatacatalogV1beta1TagField struct {
2228	// BoolValue: Holds the value for a tag field with boolean type.
2229	BoolValue bool `json:"boolValue,omitempty"`
2230
2231	// DisplayName: Output only. The display name of this field.
2232	DisplayName string `json:"displayName,omitempty"`
2233
2234	// DoubleValue: Holds the value for a tag field with double type.
2235	DoubleValue float64 `json:"doubleValue,omitempty"`
2236
2237	// EnumValue: Holds the value for a tag field with enum type. This value
2238	// must be
2239	// one of the allowed values in the definition of this enum.
2240	EnumValue *GoogleCloudDatacatalogV1beta1TagFieldEnumValue `json:"enumValue,omitempty"`
2241
2242	// Order: Output only. The order of this field with respect to other
2243	// fields in this tag. It can be
2244	// set in Tag. For
2245	// example, a higher value can indicate a more important field. The
2246	// value can
2247	// be negative. Multiple fields can have the same order, and field
2248	// orders
2249	// within a tag do not have to be sequential.
2250	Order int64 `json:"order,omitempty"`
2251
2252	// StringValue: Holds the value for a tag field with string type.
2253	StringValue string `json:"stringValue,omitempty"`
2254
2255	// TimestampValue: Holds the value for a tag field with timestamp type.
2256	TimestampValue string `json:"timestampValue,omitempty"`
2257
2258	// ForceSendFields is a list of field names (e.g. "BoolValue") to
2259	// unconditionally include in API requests. By default, fields with
2260	// empty values are omitted from API requests. However, any non-pointer,
2261	// non-interface field appearing in ForceSendFields will be sent to the
2262	// server regardless of whether the field is empty or not. This may be
2263	// used to include empty fields in Patch requests.
2264	ForceSendFields []string `json:"-"`
2265
2266	// NullFields is a list of field names (e.g. "BoolValue") to include in
2267	// API requests with the JSON null value. By default, fields with empty
2268	// values are omitted from API requests. However, any field with an
2269	// empty value appearing in NullFields will be sent to the server as
2270	// null. It is an error if a field in this list has a non-empty value.
2271	// This may be used to include null fields in Patch requests.
2272	NullFields []string `json:"-"`
2273}
2274
2275func (s *GoogleCloudDatacatalogV1beta1TagField) MarshalJSON() ([]byte, error) {
2276	type NoMethod GoogleCloudDatacatalogV1beta1TagField
2277	raw := NoMethod(*s)
2278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2279}
2280
2281func (s *GoogleCloudDatacatalogV1beta1TagField) UnmarshalJSON(data []byte) error {
2282	type NoMethod GoogleCloudDatacatalogV1beta1TagField
2283	var s1 struct {
2284		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
2285		*NoMethod
2286	}
2287	s1.NoMethod = (*NoMethod)(s)
2288	if err := json.Unmarshal(data, &s1); err != nil {
2289		return err
2290	}
2291	s.DoubleValue = float64(s1.DoubleValue)
2292	return nil
2293}
2294
2295// GoogleCloudDatacatalogV1beta1TagFieldEnumValue: Holds an enum value.
2296type GoogleCloudDatacatalogV1beta1TagFieldEnumValue struct {
2297	// DisplayName: The display name of the enum value.
2298	DisplayName string `json:"displayName,omitempty"`
2299
2300	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2301	// unconditionally include in API requests. By default, fields with
2302	// empty values are omitted from API requests. However, any non-pointer,
2303	// non-interface field appearing in ForceSendFields will be sent to the
2304	// server regardless of whether the field is empty or not. This may be
2305	// used to include empty fields in Patch requests.
2306	ForceSendFields []string `json:"-"`
2307
2308	// NullFields is a list of field names (e.g. "DisplayName") to include
2309	// in API requests with the JSON null value. By default, fields with
2310	// empty values are omitted from API requests. However, any field with
2311	// an empty value appearing in NullFields will be sent to the server as
2312	// null. It is an error if a field in this list has a non-empty value.
2313	// This may be used to include null fields in Patch requests.
2314	NullFields []string `json:"-"`
2315}
2316
2317func (s *GoogleCloudDatacatalogV1beta1TagFieldEnumValue) MarshalJSON() ([]byte, error) {
2318	type NoMethod GoogleCloudDatacatalogV1beta1TagFieldEnumValue
2319	raw := NoMethod(*s)
2320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2321}
2322
2323// GoogleCloudDatacatalogV1beta1TagTemplate: A tag template defines a
2324// tag, which can have one or more typed fields.
2325// The template is used to create and attach the tag to GCP
2326// resources.
2327// [Tag
2328// template
2329// roles](https://cloud.google.com/iam/docs/understanding-roles#
2330// data-catalog-roles)
2331// provide permissions to create, edit, and use the template. See, for
2332// example,
2333// the
2334// [TagTemplate
2335// User](https://cloud.google.com/data-catalog/docs/how-to/t
2336// emplate-user) role,
2337// which includes permission to use the tag template to tag resources.
2338type GoogleCloudDatacatalogV1beta1TagTemplate struct {
2339	// DisplayName: The display name for this template. Defaults to an empty
2340	// string.
2341	DisplayName string `json:"displayName,omitempty"`
2342
2343	// Fields: Required. Map of tag template field IDs to the settings for
2344	// the field.
2345	// This map is an exhaustive list of the allowed fields. This map must
2346	// contain
2347	// at least one field and at most 500 fields.
2348	//
2349	// The keys to this map are tag template field IDs. Field IDs can
2350	// contain
2351	// letters (both uppercase and lowercase), numbers (0-9) and underscores
2352	// (_).
2353	// Field IDs must be at least 1 character long and at most
2354	// 64 characters long. Field IDs must start with a letter or underscore.
2355	Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateField `json:"fields,omitempty"`
2356
2357	// Name: The resource name of the tag template in URL format.
2358	// Example:
2359	//
2360	// *
2361	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
2362	// id}
2363	//
2364	// Note that this TagTemplate and its child resources may not actually
2365	// be
2366	// stored in the location in this name.
2367	Name string `json:"name,omitempty"`
2368
2369	// ServerResponse contains the HTTP response code and headers from the
2370	// server.
2371	googleapi.ServerResponse `json:"-"`
2372
2373	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2374	// unconditionally include in API requests. By default, fields with
2375	// empty values are omitted from API requests. However, any non-pointer,
2376	// non-interface field appearing in ForceSendFields will be sent to the
2377	// server regardless of whether the field is empty or not. This may be
2378	// used to include empty fields in Patch requests.
2379	ForceSendFields []string `json:"-"`
2380
2381	// NullFields is a list of field names (e.g. "DisplayName") to include
2382	// in API requests with the JSON null value. By default, fields with
2383	// empty values are omitted from API requests. However, any field with
2384	// an empty value appearing in NullFields will be sent to the server as
2385	// null. It is an error if a field in this list has a non-empty value.
2386	// This may be used to include null fields in Patch requests.
2387	NullFields []string `json:"-"`
2388}
2389
2390func (s *GoogleCloudDatacatalogV1beta1TagTemplate) MarshalJSON() ([]byte, error) {
2391	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplate
2392	raw := NoMethod(*s)
2393	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2394}
2395
2396// GoogleCloudDatacatalogV1beta1TagTemplateField: The template for an
2397// individual field within a tag template.
2398type GoogleCloudDatacatalogV1beta1TagTemplateField struct {
2399	// DisplayName: The display name for this field. Defaults to an empty
2400	// string.
2401	DisplayName string `json:"displayName,omitempty"`
2402
2403	// IsRequired: Whether this is a required field. Defaults to false.
2404	IsRequired bool `json:"isRequired,omitempty"`
2405
2406	// Name: Output only. The resource name of the tag template field in URL
2407	// format. Example:
2408	//
2409	// *
2410	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template}
2411	// /fields/{field}
2412	//
2413	// Note that this TagTemplateField may not actually be stored in the
2414	// location
2415	// in this name.
2416	Name string `json:"name,omitempty"`
2417
2418	// Order: The order of this field with respect to other fields in this
2419	// tag
2420	// template.  A higher value indicates a more important field. The value
2421	// can
2422	// be negative. Multiple fields can have the same order, and field
2423	// orders
2424	// within a tag do not have to be sequential.
2425	Order int64 `json:"order,omitempty"`
2426
2427	// Type: Required. The type of value this tag field can contain.
2428	Type *GoogleCloudDatacatalogV1beta1FieldType `json:"type,omitempty"`
2429
2430	// ServerResponse contains the HTTP response code and headers from the
2431	// server.
2432	googleapi.ServerResponse `json:"-"`
2433
2434	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2435	// unconditionally include in API requests. By default, fields with
2436	// empty values are omitted from API requests. However, any non-pointer,
2437	// non-interface field appearing in ForceSendFields will be sent to the
2438	// server regardless of whether the field is empty or not. This may be
2439	// used to include empty fields in Patch requests.
2440	ForceSendFields []string `json:"-"`
2441
2442	// NullFields is a list of field names (e.g. "DisplayName") to include
2443	// in API requests with the JSON null value. By default, fields with
2444	// empty values are omitted from API requests. However, any field with
2445	// an empty value appearing in NullFields will be sent to the server as
2446	// null. It is an error if a field in this list has a non-empty value.
2447	// This may be used to include null fields in Patch requests.
2448	NullFields []string `json:"-"`
2449}
2450
2451func (s *GoogleCloudDatacatalogV1beta1TagTemplateField) MarshalJSON() ([]byte, error) {
2452	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplateField
2453	raw := NoMethod(*s)
2454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2455}
2456
2457// GoogleCloudDatacatalogV1beta1Taxonomy: A taxonomy is a collection of
2458// policy tags that classify data along a common
2459// axis. For instance a data *sensitivity* taxonomy could contain policy
2460// tags
2461// denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy
2462// could
2463// contain policy tags to distinguish user data, employee data, partner
2464// data,
2465// public data.
2466type GoogleCloudDatacatalogV1beta1Taxonomy struct {
2467	// ActivatedPolicyTypes: Optional. A list of policy types that are
2468	// activated for this taxonomy. If not set,
2469	// defaults to an empty list.
2470	//
2471	// Possible values:
2472	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
2473	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
2474	// which enables access control on
2475	// tagged resources.
2476	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
2477
2478	// Description: Optional. Description of this taxonomy. It must: contain
2479	// only unicode characters,
2480	// tabs, newlines, carriage returns and page breaks; and be at most 2000
2481	// bytes
2482	// long when encoded in UTF-8. If not set, defaults to an empty
2483	// description.
2484	Description string `json:"description,omitempty"`
2485
2486	// DisplayName: Required. User defined name of this taxonomy. It must:
2487	// contain only unicode letters,
2488	// numbers, underscores, dashes and spaces; not start or end with
2489	// spaces; and
2490	// be at most 200 bytes long when encoded in UTF-8.
2491	DisplayName string `json:"displayName,omitempty"`
2492
2493	// Name: Output only. Resource name of this taxonomy, whose format
2494	// is:
2495	// "projects/{project_number}/locations/{location_id}/taxonomies/{id}
2496	// ".
2497	Name string `json:"name,omitempty"`
2498
2499	// ServerResponse contains the HTTP response code and headers from the
2500	// server.
2501	googleapi.ServerResponse `json:"-"`
2502
2503	// ForceSendFields is a list of field names (e.g.
2504	// "ActivatedPolicyTypes") to unconditionally include in API requests.
2505	// By default, fields with empty values are omitted from API requests.
2506	// However, any non-pointer, non-interface field appearing in
2507	// ForceSendFields will be sent to the server regardless of whether the
2508	// field is empty or not. This may be used to include empty fields in
2509	// Patch requests.
2510	ForceSendFields []string `json:"-"`
2511
2512	// NullFields is a list of field names (e.g. "ActivatedPolicyTypes") to
2513	// include in API requests with the JSON null value. By default, fields
2514	// with empty values are omitted from API requests. However, any field
2515	// with an empty value appearing in NullFields will be sent to the
2516	// server as null. It is an error if a field in this list has a
2517	// non-empty value. This may be used to include null fields in Patch
2518	// requests.
2519	NullFields []string `json:"-"`
2520}
2521
2522func (s *GoogleCloudDatacatalogV1beta1Taxonomy) MarshalJSON() ([]byte, error) {
2523	type NoMethod GoogleCloudDatacatalogV1beta1Taxonomy
2524	raw := NoMethod(*s)
2525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2526}
2527
2528// GoogleCloudDatacatalogV1beta1ViewSpec: Table view specification.
2529type GoogleCloudDatacatalogV1beta1ViewSpec struct {
2530	// ViewQuery: Output only. The query that defines the table view.
2531	ViewQuery string `json:"viewQuery,omitempty"`
2532
2533	// ForceSendFields is a list of field names (e.g. "ViewQuery") to
2534	// unconditionally include in API requests. By default, fields with
2535	// empty values are omitted from API requests. However, any non-pointer,
2536	// non-interface field appearing in ForceSendFields will be sent to the
2537	// server regardless of whether the field is empty or not. This may be
2538	// used to include empty fields in Patch requests.
2539	ForceSendFields []string `json:"-"`
2540
2541	// NullFields is a list of field names (e.g. "ViewQuery") to include in
2542	// API requests with the JSON null value. By default, fields with empty
2543	// values are omitted from API requests. However, any field with an
2544	// empty value appearing in NullFields will be sent to the server as
2545	// null. It is an error if a field in this list has a non-empty value.
2546	// This may be used to include null fields in Patch requests.
2547	NullFields []string `json:"-"`
2548}
2549
2550func (s *GoogleCloudDatacatalogV1beta1ViewSpec) MarshalJSON() ([]byte, error) {
2551	type NoMethod GoogleCloudDatacatalogV1beta1ViewSpec
2552	raw := NoMethod(*s)
2553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2554}
2555
2556// Policy: An Identity and Access Management (IAM) policy, which
2557// specifies access
2558// controls for Google Cloud resources.
2559//
2560//
2561// A `Policy` is a collection of `bindings`. A `binding` binds one or
2562// more
2563// `members` to a single `role`. Members can be user accounts, service
2564// accounts,
2565// Google groups, and domains (such as G Suite). A `role` is a named
2566// list of
2567// permissions; each `role` can be an IAM predefined role or a
2568// user-created
2569// custom role.
2570//
2571// For some types of Google Cloud resources, a `binding` can also
2572// specify a
2573// `condition`, which is a logical expression that allows access to a
2574// resource
2575// only if the expression evaluates to `true`. A condition can add
2576// constraints
2577// based on attributes of the request, the resource, or both. To learn
2578// which
2579// resources support conditions in their IAM policies, see the
2580// [IAM
2581// documentation](https://cloud.google.com/iam/help/conditions/resource-p
2582// olicies).
2583//
2584// **JSON example:**
2585//
2586//     {
2587//       "bindings": [
2588//         {
2589//           "role": "roles/resourcemanager.organizationAdmin",
2590//           "members": [
2591//             "user:mike@example.com",
2592//             "group:admins@example.com",
2593//             "domain:google.com",
2594//
2595// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
2596//           ]
2597//         },
2598//         {
2599//           "role": "roles/resourcemanager.organizationViewer",
2600//           "members": [
2601//             "user:eve@example.com"
2602//           ],
2603//           "condition": {
2604//             "title": "expirable access",
2605//             "description": "Does not grant access after Sep 2020",
2606//             "expression": "request.time <
2607// timestamp('2020-10-01T00:00:00.000Z')",
2608//           }
2609//         }
2610//       ],
2611//       "etag": "BwWWja0YfJA=",
2612//       "version": 3
2613//     }
2614//
2615// **YAML example:**
2616//
2617//     bindings:
2618//     - members:
2619//       - user:mike@example.com
2620//       - group:admins@example.com
2621//       - domain:google.com
2622//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
2623//       role: roles/resourcemanager.organizationAdmin
2624//     - members:
2625//       - user:eve@example.com
2626//       role: roles/resourcemanager.organizationViewer
2627//       condition:
2628//         title: expirable access
2629//         description: Does not grant access after Sep 2020
2630//         expression: request.time <
2631// timestamp('2020-10-01T00:00:00.000Z')
2632//     - etag: BwWWja0YfJA=
2633//     - version: 3
2634//
2635// For a description of IAM and its features, see the
2636// [IAM documentation](https://cloud.google.com/iam/docs/).
2637type Policy struct {
2638	// Bindings: Associates a list of `members` to a `role`. Optionally, may
2639	// specify a
2640	// `condition` that determines how and when the `bindings` are applied.
2641	// Each
2642	// of the `bindings` must contain at least one member.
2643	Bindings []*Binding `json:"bindings,omitempty"`
2644
2645	// Etag: `etag` is used for optimistic concurrency control as a way to
2646	// help
2647	// prevent simultaneous updates of a policy from overwriting each
2648	// other.
2649	// It is strongly suggested that systems make use of the `etag` in
2650	// the
2651	// read-modify-write cycle to perform policy updates in order to avoid
2652	// race
2653	// conditions: An `etag` is returned in the response to `getIamPolicy`,
2654	// and
2655	// systems are expected to put that etag in the request to
2656	// `setIamPolicy` to
2657	// ensure that their change will be applied to the same version of the
2658	// policy.
2659	//
2660	// **Important:** If you use IAM Conditions, you must include the `etag`
2661	// field
2662	// whenever you call `setIamPolicy`. If you omit this field, then IAM
2663	// allows
2664	// you to overwrite a version `3` policy with a version `1` policy, and
2665	// all of
2666	// the conditions in the version `3` policy are lost.
2667	Etag string `json:"etag,omitempty"`
2668
2669	// Version: Specifies the format of the policy.
2670	//
2671	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
2672	// value
2673	// are rejected.
2674	//
2675	// Any operation that affects conditional role bindings must specify
2676	// version
2677	// `3`. This requirement applies to the following operations:
2678	//
2679	// * Getting a policy that includes a conditional role binding
2680	// * Adding a conditional role binding to a policy
2681	// * Changing a conditional role binding in a policy
2682	// * Removing any role binding, with or without a condition, from a
2683	// policy
2684	//   that includes conditions
2685	//
2686	// **Important:** If you use IAM Conditions, you must include the `etag`
2687	// field
2688	// whenever you call `setIamPolicy`. If you omit this field, then IAM
2689	// allows
2690	// you to overwrite a version `3` policy with a version `1` policy, and
2691	// all of
2692	// the conditions in the version `3` policy are lost.
2693	//
2694	// If a policy does not include any conditions, operations on that
2695	// policy may
2696	// specify any valid version or leave the field unset.
2697	//
2698	// To learn which resources support conditions in their IAM policies,
2699	// see the
2700	// [IAM
2701	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
2702	// olicies).
2703	Version int64 `json:"version,omitempty"`
2704
2705	// ServerResponse contains the HTTP response code and headers from the
2706	// server.
2707	googleapi.ServerResponse `json:"-"`
2708
2709	// ForceSendFields is a list of field names (e.g. "Bindings") to
2710	// unconditionally include in API requests. By default, fields with
2711	// empty values are omitted from API requests. However, any non-pointer,
2712	// non-interface field appearing in ForceSendFields will be sent to the
2713	// server regardless of whether the field is empty or not. This may be
2714	// used to include empty fields in Patch requests.
2715	ForceSendFields []string `json:"-"`
2716
2717	// NullFields is a list of field names (e.g. "Bindings") to include in
2718	// API requests with the JSON null value. By default, fields with empty
2719	// values are omitted from API requests. However, any field with an
2720	// empty value appearing in NullFields will be sent to the server as
2721	// null. It is an error if a field in this list has a non-empty value.
2722	// This may be used to include null fields in Patch requests.
2723	NullFields []string `json:"-"`
2724}
2725
2726func (s *Policy) MarshalJSON() ([]byte, error) {
2727	type NoMethod Policy
2728	raw := NoMethod(*s)
2729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2730}
2731
2732// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
2733type SetIamPolicyRequest struct {
2734	// Policy: REQUIRED: The complete policy to be applied to the
2735	// `resource`. The size of
2736	// the policy is limited to a few 10s of KB. An empty policy is a
2737	// valid policy but certain Cloud Platform services (such as
2738	// Projects)
2739	// might reject them.
2740	Policy *Policy `json:"policy,omitempty"`
2741
2742	// ForceSendFields is a list of field names (e.g. "Policy") to
2743	// unconditionally include in API requests. By default, fields with
2744	// empty values are omitted from API requests. However, any non-pointer,
2745	// non-interface field appearing in ForceSendFields will be sent to the
2746	// server regardless of whether the field is empty or not. This may be
2747	// used to include empty fields in Patch requests.
2748	ForceSendFields []string `json:"-"`
2749
2750	// NullFields is a list of field names (e.g. "Policy") to include in API
2751	// requests with the JSON null value. By default, fields with empty
2752	// values are omitted from API requests. However, any field with an
2753	// empty value appearing in NullFields will be sent to the server as
2754	// null. It is an error if a field in this list has a non-empty value.
2755	// This may be used to include null fields in Patch requests.
2756	NullFields []string `json:"-"`
2757}
2758
2759func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
2760	type NoMethod SetIamPolicyRequest
2761	raw := NoMethod(*s)
2762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2763}
2764
2765// TestIamPermissionsRequest: Request message for `TestIamPermissions`
2766// method.
2767type TestIamPermissionsRequest struct {
2768	// Permissions: The set of permissions to check for the `resource`.
2769	// Permissions with
2770	// wildcards (such as '*' or 'storage.*') are not allowed. For
2771	// more
2772	// information see
2773	// [IAM
2774	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
2775	Permissions []string `json:"permissions,omitempty"`
2776
2777	// ForceSendFields is a list of field names (e.g. "Permissions") to
2778	// unconditionally include in API requests. By default, fields with
2779	// empty values are omitted from API requests. However, any non-pointer,
2780	// non-interface field appearing in ForceSendFields will be sent to the
2781	// server regardless of whether the field is empty or not. This may be
2782	// used to include empty fields in Patch requests.
2783	ForceSendFields []string `json:"-"`
2784
2785	// NullFields is a list of field names (e.g. "Permissions") to include
2786	// in API requests with the JSON null value. By default, fields with
2787	// empty values are omitted from API requests. However, any field with
2788	// an empty value appearing in NullFields will be sent to the server as
2789	// null. It is an error if a field in this list has a non-empty value.
2790	// This may be used to include null fields in Patch requests.
2791	NullFields []string `json:"-"`
2792}
2793
2794func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
2795	type NoMethod TestIamPermissionsRequest
2796	raw := NoMethod(*s)
2797	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2798}
2799
2800// TestIamPermissionsResponse: Response message for `TestIamPermissions`
2801// method.
2802type TestIamPermissionsResponse struct {
2803	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2804	// the caller is
2805	// allowed.
2806	Permissions []string `json:"permissions,omitempty"`
2807
2808	// ServerResponse contains the HTTP response code and headers from the
2809	// server.
2810	googleapi.ServerResponse `json:"-"`
2811
2812	// ForceSendFields is a list of field names (e.g. "Permissions") to
2813	// unconditionally include in API requests. By default, fields with
2814	// empty values are omitted from API requests. However, any non-pointer,
2815	// non-interface field appearing in ForceSendFields will be sent to the
2816	// server regardless of whether the field is empty or not. This may be
2817	// used to include empty fields in Patch requests.
2818	ForceSendFields []string `json:"-"`
2819
2820	// NullFields is a list of field names (e.g. "Permissions") to include
2821	// in API requests with the JSON null value. By default, fields with
2822	// empty values are omitted from API requests. However, any field with
2823	// an empty value appearing in NullFields will be sent to the server as
2824	// null. It is an error if a field in this list has a non-empty value.
2825	// This may be used to include null fields in Patch requests.
2826	NullFields []string `json:"-"`
2827}
2828
2829func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
2830	type NoMethod TestIamPermissionsResponse
2831	raw := NoMethod(*s)
2832	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2833}
2834
2835// method id "datacatalog.catalog.search":
2836
2837type CatalogSearchCall struct {
2838	s                                                 *Service
2839	googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest
2840	urlParams_                                        gensupport.URLParams
2841	ctx_                                              context.Context
2842	header_                                           http.Header
2843}
2844
2845// Search: Searches Data Catalog for multiple resources like entries,
2846// tags that
2847// match a query.
2848//
2849// This is a custom
2850// method
2851// (https://cloud.google.com/apis/design/custom_methods) and does not
2852// return
2853// the complete resource, only the resource identifier and high
2854// level
2855// fields. Clients can subsequentally call `Get` methods.
2856//
2857// Note that Data Catalog search queries do not guarantee full recall.
2858// Query
2859// results that match your query may not be returned, even in
2860// subsequent
2861// result pages. Also note that results returned (and not returned) can
2862// vary
2863// across repeated search queries.
2864//
2865// See [Data Catalog
2866// Search
2867// Syntax](https://cloud.google.com/data-catalog/docs/how-to/searc
2868// h-reference)
2869// for more information.
2870func (r *CatalogService) Search(googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) *CatalogSearchCall {
2871	c := &CatalogSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2872	c.googleclouddatacatalogv1beta1searchcatalogrequest = googleclouddatacatalogv1beta1searchcatalogrequest
2873	return c
2874}
2875
2876// Fields allows partial responses to be retrieved. See
2877// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2878// for more information.
2879func (c *CatalogSearchCall) Fields(s ...googleapi.Field) *CatalogSearchCall {
2880	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2881	return c
2882}
2883
2884// Context sets the context to be used in this call's Do method. Any
2885// pending HTTP request will be aborted if the provided context is
2886// canceled.
2887func (c *CatalogSearchCall) Context(ctx context.Context) *CatalogSearchCall {
2888	c.ctx_ = ctx
2889	return c
2890}
2891
2892// Header returns an http.Header that can be modified by the caller to
2893// add HTTP headers to the request.
2894func (c *CatalogSearchCall) Header() http.Header {
2895	if c.header_ == nil {
2896		c.header_ = make(http.Header)
2897	}
2898	return c.header_
2899}
2900
2901func (c *CatalogSearchCall) doRequest(alt string) (*http.Response, error) {
2902	reqHeaders := make(http.Header)
2903	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
2904	for k, v := range c.header_ {
2905		reqHeaders[k] = v
2906	}
2907	reqHeaders.Set("User-Agent", c.s.userAgent())
2908	var body io.Reader = nil
2909	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1searchcatalogrequest)
2910	if err != nil {
2911		return nil, err
2912	}
2913	reqHeaders.Set("Content-Type", "application/json")
2914	c.urlParams_.Set("alt", alt)
2915	c.urlParams_.Set("prettyPrint", "false")
2916	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/catalog:search")
2917	urls += "?" + c.urlParams_.Encode()
2918	req, err := http.NewRequest("POST", urls, body)
2919	if err != nil {
2920		return nil, err
2921	}
2922	req.Header = reqHeaders
2923	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2924}
2925
2926// Do executes the "datacatalog.catalog.search" call.
2927// Exactly one of *GoogleCloudDatacatalogV1beta1SearchCatalogResponse or
2928// error will be non-nil. Any non-2xx status code is an error. Response
2929// headers are in either
2930// *GoogleCloudDatacatalogV1beta1SearchCatalogResponse.ServerResponse.Hea
2931// der or (if a response was returned at all) in
2932// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2933// whether the returned error was because http.StatusNotModified was
2934// returned.
2935func (c *CatalogSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1SearchCatalogResponse, error) {
2936	gensupport.SetOptions(c.urlParams_, opts...)
2937	res, err := c.doRequest("json")
2938	if res != nil && res.StatusCode == http.StatusNotModified {
2939		if res.Body != nil {
2940			res.Body.Close()
2941		}
2942		return nil, &googleapi.Error{
2943			Code:   res.StatusCode,
2944			Header: res.Header,
2945		}
2946	}
2947	if err != nil {
2948		return nil, err
2949	}
2950	defer googleapi.CloseBody(res)
2951	if err := googleapi.CheckResponse(res); err != nil {
2952		return nil, err
2953	}
2954	ret := &GoogleCloudDatacatalogV1beta1SearchCatalogResponse{
2955		ServerResponse: googleapi.ServerResponse{
2956			Header:         res.Header,
2957			HTTPStatusCode: res.StatusCode,
2958		},
2959	}
2960	target := &ret
2961	if err := gensupport.DecodeResponse(target, res); err != nil {
2962		return nil, err
2963	}
2964	return ret, nil
2965	// {
2966	//   "description": "Searches Data Catalog for multiple resources like entries, tags that\nmatch a query.\n\nThis is a custom method\n(https://cloud.google.com/apis/design/custom_methods) and does not return\nthe complete resource, only the resource identifier and high level\nfields. Clients can subsequentally call `Get` methods.\n\nNote that Data Catalog search queries do not guarantee full recall. Query\nresults that match your query may not be returned, even in subsequent\nresult pages. Also note that results returned (and not returned) can vary\nacross repeated search queries.\n\nSee [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.",
2967	//   "flatPath": "v1beta1/catalog:search",
2968	//   "httpMethod": "POST",
2969	//   "id": "datacatalog.catalog.search",
2970	//   "parameterOrder": [],
2971	//   "parameters": {},
2972	//   "path": "v1beta1/catalog:search",
2973	//   "request": {
2974	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest"
2975	//   },
2976	//   "response": {
2977	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse"
2978	//   },
2979	//   "scopes": [
2980	//     "https://www.googleapis.com/auth/cloud-platform"
2981	//   ]
2982	// }
2983
2984}
2985
2986// Pages invokes f for each page of results.
2987// A non-nil error returned from f will halt the iteration.
2988// The provided context supersedes any context provided to the Context method.
2989func (c *CatalogSearchCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1SearchCatalogResponse) error) error {
2990	c.ctx_ = ctx
2991	defer func(pt string) { c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = pt }(c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken) // reset paging to original point
2992	for {
2993		x, err := c.Do()
2994		if err != nil {
2995			return err
2996		}
2997		if err := f(x); err != nil {
2998			return err
2999		}
3000		if x.NextPageToken == "" {
3001			return nil
3002		}
3003		c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = x.NextPageToken
3004	}
3005}
3006
3007// method id "datacatalog.entries.lookup":
3008
3009type EntriesLookupCall struct {
3010	s            *Service
3011	urlParams_   gensupport.URLParams
3012	ifNoneMatch_ string
3013	ctx_         context.Context
3014	header_      http.Header
3015}
3016
3017// Lookup: Get an entry by target resource name. This method allows
3018// clients to use
3019// the resource name from the source Google Cloud Platform service to
3020// get the
3021// Data Catalog Entry.
3022func (r *EntriesService) Lookup() *EntriesLookupCall {
3023	c := &EntriesLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3024	return c
3025}
3026
3027// LinkedResource sets the optional parameter "linkedResource": The full
3028// name of the Google Cloud Platform resource the Data Catalog
3029// entry represents.
3030// See:
3031// https://cloud.google.com/apis/design/resource_names#full_resource
3032// _name.
3033// Full names are case-sensitive.
3034//
3035// Examples:
3036//
3037//  *
3038// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
3039// /tableId
3040//  * //pubsub.googleapis.com/projects/projectId/topics/topicId
3041func (c *EntriesLookupCall) LinkedResource(linkedResource string) *EntriesLookupCall {
3042	c.urlParams_.Set("linkedResource", linkedResource)
3043	return c
3044}
3045
3046// SqlResource sets the optional parameter "sqlResource": The SQL name
3047// of the entry. SQL names are case-sensitive.
3048//
3049// Examples:
3050//
3051//   * `pubsub.project_id.topic_id`
3052//   * ``pubsub.project_id.`topic.id.with.dots` ``
3053//   * `bigquery.table.project_id.dataset_id.table_id`
3054//   * `bigquery.dataset.project_id.dataset_id`
3055//   *
3056// `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`
3057//
3058// `*
3059// _id`s shoud satisfy the standard SQL rules for
3060// identifiers.
3061// https://cloud.google.com/bigquery/docs/reference/standard
3062// -sql/lexical.
3063func (c *EntriesLookupCall) SqlResource(sqlResource string) *EntriesLookupCall {
3064	c.urlParams_.Set("sqlResource", sqlResource)
3065	return c
3066}
3067
3068// Fields allows partial responses to be retrieved. See
3069// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3070// for more information.
3071func (c *EntriesLookupCall) Fields(s ...googleapi.Field) *EntriesLookupCall {
3072	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3073	return c
3074}
3075
3076// IfNoneMatch sets the optional parameter which makes the operation
3077// fail if the object's ETag matches the given value. This is useful for
3078// getting updates only after the object has changed since the last
3079// request. Use googleapi.IsNotModified to check whether the response
3080// error from Do is the result of In-None-Match.
3081func (c *EntriesLookupCall) IfNoneMatch(entityTag string) *EntriesLookupCall {
3082	c.ifNoneMatch_ = entityTag
3083	return c
3084}
3085
3086// Context sets the context to be used in this call's Do method. Any
3087// pending HTTP request will be aborted if the provided context is
3088// canceled.
3089func (c *EntriesLookupCall) Context(ctx context.Context) *EntriesLookupCall {
3090	c.ctx_ = ctx
3091	return c
3092}
3093
3094// Header returns an http.Header that can be modified by the caller to
3095// add HTTP headers to the request.
3096func (c *EntriesLookupCall) Header() http.Header {
3097	if c.header_ == nil {
3098		c.header_ = make(http.Header)
3099	}
3100	return c.header_
3101}
3102
3103func (c *EntriesLookupCall) doRequest(alt string) (*http.Response, error) {
3104	reqHeaders := make(http.Header)
3105	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3106	for k, v := range c.header_ {
3107		reqHeaders[k] = v
3108	}
3109	reqHeaders.Set("User-Agent", c.s.userAgent())
3110	if c.ifNoneMatch_ != "" {
3111		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3112	}
3113	var body io.Reader = nil
3114	c.urlParams_.Set("alt", alt)
3115	c.urlParams_.Set("prettyPrint", "false")
3116	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/entries:lookup")
3117	urls += "?" + c.urlParams_.Encode()
3118	req, err := http.NewRequest("GET", urls, body)
3119	if err != nil {
3120		return nil, err
3121	}
3122	req.Header = reqHeaders
3123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3124}
3125
3126// Do executes the "datacatalog.entries.lookup" call.
3127// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
3128// non-nil. Any non-2xx status code is an error. Response headers are in
3129// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
3130// (if a response was returned at all) in
3131// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3132// whether the returned error was because http.StatusNotModified was
3133// returned.
3134func (c *EntriesLookupCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
3135	gensupport.SetOptions(c.urlParams_, opts...)
3136	res, err := c.doRequest("json")
3137	if res != nil && res.StatusCode == http.StatusNotModified {
3138		if res.Body != nil {
3139			res.Body.Close()
3140		}
3141		return nil, &googleapi.Error{
3142			Code:   res.StatusCode,
3143			Header: res.Header,
3144		}
3145	}
3146	if err != nil {
3147		return nil, err
3148	}
3149	defer googleapi.CloseBody(res)
3150	if err := googleapi.CheckResponse(res); err != nil {
3151		return nil, err
3152	}
3153	ret := &GoogleCloudDatacatalogV1beta1Entry{
3154		ServerResponse: googleapi.ServerResponse{
3155			Header:         res.Header,
3156			HTTPStatusCode: res.StatusCode,
3157		},
3158	}
3159	target := &ret
3160	if err := gensupport.DecodeResponse(target, res); err != nil {
3161		return nil, err
3162	}
3163	return ret, nil
3164	// {
3165	//   "description": "Get an entry by target resource name. This method allows clients to use\nthe resource name from the source Google Cloud Platform service to get the\nData Catalog Entry.",
3166	//   "flatPath": "v1beta1/entries:lookup",
3167	//   "httpMethod": "GET",
3168	//   "id": "datacatalog.entries.lookup",
3169	//   "parameterOrder": [],
3170	//   "parameters": {
3171	//     "linkedResource": {
3172	//       "description": "The full name of the Google Cloud Platform resource the Data Catalog\nentry represents. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name.\nFull names are case-sensitive.\n\nExamples:\n\n * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId\n * //pubsub.googleapis.com/projects/projectId/topics/topicId",
3173	//       "location": "query",
3174	//       "type": "string"
3175	//     },
3176	//     "sqlResource": {
3177	//       "description": "The SQL name of the entry. SQL names are case-sensitive.\n\nExamples:\n\n  * `pubsub.project_id.topic_id`\n  * ``pubsub.project_id.`topic.id.with.dots` ``\n  * `bigquery.table.project_id.dataset_id.table_id`\n  * `bigquery.dataset.project_id.dataset_id`\n  * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`\n\n`*_id`s shoud satisfy the standard SQL rules for identifiers.\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
3178	//       "location": "query",
3179	//       "type": "string"
3180	//     }
3181	//   },
3182	//   "path": "v1beta1/entries:lookup",
3183	//   "response": {
3184	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
3185	//   },
3186	//   "scopes": [
3187	//     "https://www.googleapis.com/auth/cloud-platform"
3188	//   ]
3189	// }
3190
3191}
3192
3193// method id "datacatalog.projects.locations.entryGroups.create":
3194
3195type ProjectsLocationsEntryGroupsCreateCall struct {
3196	s                                       *Service
3197	parent                                  string
3198	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
3199	urlParams_                              gensupport.URLParams
3200	ctx_                                    context.Context
3201	header_                                 http.Header
3202}
3203
3204// Create: A maximum of 10,000 entry groups may be created per
3205// organization across all
3206// locations.
3207//
3208// Users should enable the Data Catalog API in the project identified
3209// by
3210// the `parent` parameter (see [Data Catalog Resource
3211// Project]
3212// (https://cloud.google.com/data-catalog/docs/concepts/resource
3213// -project) for
3214// more information).
3215func (r *ProjectsLocationsEntryGroupsService) Create(parent string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsCreateCall {
3216	c := &ProjectsLocationsEntryGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3217	c.parent = parent
3218	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
3219	return c
3220}
3221
3222// EntryGroupId sets the optional parameter "entryGroupId": Required.
3223// The id of the entry group to create.
3224// The id must begin with a letter or underscore, contain only
3225// English
3226// letters, numbers and underscores, and be at most 64 characters.
3227func (c *ProjectsLocationsEntryGroupsCreateCall) EntryGroupId(entryGroupId string) *ProjectsLocationsEntryGroupsCreateCall {
3228	c.urlParams_.Set("entryGroupId", entryGroupId)
3229	return c
3230}
3231
3232// Fields allows partial responses to be retrieved. See
3233// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3234// for more information.
3235func (c *ProjectsLocationsEntryGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsCreateCall {
3236	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3237	return c
3238}
3239
3240// Context sets the context to be used in this call's Do method. Any
3241// pending HTTP request will be aborted if the provided context is
3242// canceled.
3243func (c *ProjectsLocationsEntryGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsCreateCall {
3244	c.ctx_ = ctx
3245	return c
3246}
3247
3248// Header returns an http.Header that can be modified by the caller to
3249// add HTTP headers to the request.
3250func (c *ProjectsLocationsEntryGroupsCreateCall) Header() http.Header {
3251	if c.header_ == nil {
3252		c.header_ = make(http.Header)
3253	}
3254	return c.header_
3255}
3256
3257func (c *ProjectsLocationsEntryGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
3258	reqHeaders := make(http.Header)
3259	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3260	for k, v := range c.header_ {
3261		reqHeaders[k] = v
3262	}
3263	reqHeaders.Set("User-Agent", c.s.userAgent())
3264	var body io.Reader = nil
3265	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
3266	if err != nil {
3267		return nil, err
3268	}
3269	reqHeaders.Set("Content-Type", "application/json")
3270	c.urlParams_.Set("alt", alt)
3271	c.urlParams_.Set("prettyPrint", "false")
3272	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
3273	urls += "?" + c.urlParams_.Encode()
3274	req, err := http.NewRequest("POST", urls, body)
3275	if err != nil {
3276		return nil, err
3277	}
3278	req.Header = reqHeaders
3279	googleapi.Expand(req.URL, map[string]string{
3280		"parent": c.parent,
3281	})
3282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3283}
3284
3285// Do executes the "datacatalog.projects.locations.entryGroups.create" call.
3286// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3287// be non-nil. Any non-2xx status code is an error. Response headers are
3288// in either
3289// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3290// a response was returned at all) in error.(*googleapi.Error).Header.
3291// Use googleapi.IsNotModified to check whether the returned error was
3292// because http.StatusNotModified was returned.
3293func (c *ProjectsLocationsEntryGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3294	gensupport.SetOptions(c.urlParams_, opts...)
3295	res, err := c.doRequest("json")
3296	if res != nil && res.StatusCode == http.StatusNotModified {
3297		if res.Body != nil {
3298			res.Body.Close()
3299		}
3300		return nil, &googleapi.Error{
3301			Code:   res.StatusCode,
3302			Header: res.Header,
3303		}
3304	}
3305	if err != nil {
3306		return nil, err
3307	}
3308	defer googleapi.CloseBody(res)
3309	if err := googleapi.CheckResponse(res); err != nil {
3310		return nil, err
3311	}
3312	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3313		ServerResponse: googleapi.ServerResponse{
3314			Header:         res.Header,
3315			HTTPStatusCode: res.StatusCode,
3316		},
3317	}
3318	target := &ret
3319	if err := gensupport.DecodeResponse(target, res); err != nil {
3320		return nil, err
3321	}
3322	return ret, nil
3323	// {
3324	//   "description": "A maximum of 10,000 entry groups may be created per organization across all\nlocations.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
3325	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
3326	//   "httpMethod": "POST",
3327	//   "id": "datacatalog.projects.locations.entryGroups.create",
3328	//   "parameterOrder": [
3329	//     "parent"
3330	//   ],
3331	//   "parameters": {
3332	//     "entryGroupId": {
3333	//       "description": "Required. The id of the entry group to create.\nThe id must begin with a letter or underscore, contain only English\nletters, numbers and underscores, and be at most 64 characters.",
3334	//       "location": "query",
3335	//       "type": "string"
3336	//     },
3337	//     "parent": {
3338	//       "description": "Required. The name of the project this entry group is in. Example:\n\n* projects/{project_id}/locations/{location}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
3339	//       "location": "path",
3340	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3341	//       "required": true,
3342	//       "type": "string"
3343	//     }
3344	//   },
3345	//   "path": "v1beta1/{+parent}/entryGroups",
3346	//   "request": {
3347	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3348	//   },
3349	//   "response": {
3350	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3351	//   },
3352	//   "scopes": [
3353	//     "https://www.googleapis.com/auth/cloud-platform"
3354	//   ]
3355	// }
3356
3357}
3358
3359// method id "datacatalog.projects.locations.entryGroups.delete":
3360
3361type ProjectsLocationsEntryGroupsDeleteCall struct {
3362	s          *Service
3363	name       string
3364	urlParams_ gensupport.URLParams
3365	ctx_       context.Context
3366	header_    http.Header
3367}
3368
3369// Delete: Deletes an EntryGroup. Only entry groups that do not contain
3370// entries can be
3371// deleted. Users should enable the Data Catalog API in the
3372// project
3373// identified by the `name` parameter (see [Data Catalog Resource
3374// Project]
3375// (https://cloud.google.com/data-catalog/docs/concepts/resource
3376// -project) for
3377// more information).
3378func (r *ProjectsLocationsEntryGroupsService) Delete(name string) *ProjectsLocationsEntryGroupsDeleteCall {
3379	c := &ProjectsLocationsEntryGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3380	c.name = name
3381	return c
3382}
3383
3384// Force sets the optional parameter "force": If true, deletes all
3385// entries in the entry group.
3386func (c *ProjectsLocationsEntryGroupsDeleteCall) Force(force bool) *ProjectsLocationsEntryGroupsDeleteCall {
3387	c.urlParams_.Set("force", fmt.Sprint(force))
3388	return c
3389}
3390
3391// Fields allows partial responses to be retrieved. See
3392// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3393// for more information.
3394func (c *ProjectsLocationsEntryGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsDeleteCall {
3395	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3396	return c
3397}
3398
3399// Context sets the context to be used in this call's Do method. Any
3400// pending HTTP request will be aborted if the provided context is
3401// canceled.
3402func (c *ProjectsLocationsEntryGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsDeleteCall {
3403	c.ctx_ = ctx
3404	return c
3405}
3406
3407// Header returns an http.Header that can be modified by the caller to
3408// add HTTP headers to the request.
3409func (c *ProjectsLocationsEntryGroupsDeleteCall) Header() http.Header {
3410	if c.header_ == nil {
3411		c.header_ = make(http.Header)
3412	}
3413	return c.header_
3414}
3415
3416func (c *ProjectsLocationsEntryGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
3417	reqHeaders := make(http.Header)
3418	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3419	for k, v := range c.header_ {
3420		reqHeaders[k] = v
3421	}
3422	reqHeaders.Set("User-Agent", c.s.userAgent())
3423	var body io.Reader = nil
3424	c.urlParams_.Set("alt", alt)
3425	c.urlParams_.Set("prettyPrint", "false")
3426	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3427	urls += "?" + c.urlParams_.Encode()
3428	req, err := http.NewRequest("DELETE", urls, body)
3429	if err != nil {
3430		return nil, err
3431	}
3432	req.Header = reqHeaders
3433	googleapi.Expand(req.URL, map[string]string{
3434		"name": c.name,
3435	})
3436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3437}
3438
3439// Do executes the "datacatalog.projects.locations.entryGroups.delete" call.
3440// Exactly one of *Empty or error will be non-nil. Any non-2xx status
3441// code is an error. Response headers are in either
3442// *Empty.ServerResponse.Header or (if a response was returned at all)
3443// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3444// check whether the returned error was because http.StatusNotModified
3445// was returned.
3446func (c *ProjectsLocationsEntryGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
3447	gensupport.SetOptions(c.urlParams_, opts...)
3448	res, err := c.doRequest("json")
3449	if res != nil && res.StatusCode == http.StatusNotModified {
3450		if res.Body != nil {
3451			res.Body.Close()
3452		}
3453		return nil, &googleapi.Error{
3454			Code:   res.StatusCode,
3455			Header: res.Header,
3456		}
3457	}
3458	if err != nil {
3459		return nil, err
3460	}
3461	defer googleapi.CloseBody(res)
3462	if err := googleapi.CheckResponse(res); err != nil {
3463		return nil, err
3464	}
3465	ret := &Empty{
3466		ServerResponse: googleapi.ServerResponse{
3467			Header:         res.Header,
3468			HTTPStatusCode: res.StatusCode,
3469		},
3470	}
3471	target := &ret
3472	if err := gensupport.DecodeResponse(target, res); err != nil {
3473		return nil, err
3474	}
3475	return ret, nil
3476	// {
3477	//   "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be\ndeleted. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
3478	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3479	//   "httpMethod": "DELETE",
3480	//   "id": "datacatalog.projects.locations.entryGroups.delete",
3481	//   "parameterOrder": [
3482	//     "name"
3483	//   ],
3484	//   "parameters": {
3485	//     "force": {
3486	//       "description": "Optional. If true, deletes all entries in the entry group.",
3487	//       "location": "query",
3488	//       "type": "boolean"
3489	//     },
3490	//     "name": {
3491	//       "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3492	//       "location": "path",
3493	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3494	//       "required": true,
3495	//       "type": "string"
3496	//     }
3497	//   },
3498	//   "path": "v1beta1/{+name}",
3499	//   "response": {
3500	//     "$ref": "Empty"
3501	//   },
3502	//   "scopes": [
3503	//     "https://www.googleapis.com/auth/cloud-platform"
3504	//   ]
3505	// }
3506
3507}
3508
3509// method id "datacatalog.projects.locations.entryGroups.get":
3510
3511type ProjectsLocationsEntryGroupsGetCall struct {
3512	s            *Service
3513	name         string
3514	urlParams_   gensupport.URLParams
3515	ifNoneMatch_ string
3516	ctx_         context.Context
3517	header_      http.Header
3518}
3519
3520// Get: Gets an EntryGroup.
3521func (r *ProjectsLocationsEntryGroupsService) Get(name string) *ProjectsLocationsEntryGroupsGetCall {
3522	c := &ProjectsLocationsEntryGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3523	c.name = name
3524	return c
3525}
3526
3527// ReadMask sets the optional parameter "readMask": The fields to
3528// return. If not set or empty, all fields are returned.
3529func (c *ProjectsLocationsEntryGroupsGetCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsGetCall {
3530	c.urlParams_.Set("readMask", readMask)
3531	return c
3532}
3533
3534// Fields allows partial responses to be retrieved. See
3535// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3536// for more information.
3537func (c *ProjectsLocationsEntryGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetCall {
3538	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3539	return c
3540}
3541
3542// IfNoneMatch sets the optional parameter which makes the operation
3543// fail if the object's ETag matches the given value. This is useful for
3544// getting updates only after the object has changed since the last
3545// request. Use googleapi.IsNotModified to check whether the response
3546// error from Do is the result of In-None-Match.
3547func (c *ProjectsLocationsEntryGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsGetCall {
3548	c.ifNoneMatch_ = entityTag
3549	return c
3550}
3551
3552// Context sets the context to be used in this call's Do method. Any
3553// pending HTTP request will be aborted if the provided context is
3554// canceled.
3555func (c *ProjectsLocationsEntryGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetCall {
3556	c.ctx_ = ctx
3557	return c
3558}
3559
3560// Header returns an http.Header that can be modified by the caller to
3561// add HTTP headers to the request.
3562func (c *ProjectsLocationsEntryGroupsGetCall) Header() http.Header {
3563	if c.header_ == nil {
3564		c.header_ = make(http.Header)
3565	}
3566	return c.header_
3567}
3568
3569func (c *ProjectsLocationsEntryGroupsGetCall) doRequest(alt string) (*http.Response, error) {
3570	reqHeaders := make(http.Header)
3571	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3572	for k, v := range c.header_ {
3573		reqHeaders[k] = v
3574	}
3575	reqHeaders.Set("User-Agent", c.s.userAgent())
3576	if c.ifNoneMatch_ != "" {
3577		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3578	}
3579	var body io.Reader = nil
3580	c.urlParams_.Set("alt", alt)
3581	c.urlParams_.Set("prettyPrint", "false")
3582	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3583	urls += "?" + c.urlParams_.Encode()
3584	req, err := http.NewRequest("GET", urls, body)
3585	if err != nil {
3586		return nil, err
3587	}
3588	req.Header = reqHeaders
3589	googleapi.Expand(req.URL, map[string]string{
3590		"name": c.name,
3591	})
3592	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3593}
3594
3595// Do executes the "datacatalog.projects.locations.entryGroups.get" call.
3596// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3597// be non-nil. Any non-2xx status code is an error. Response headers are
3598// in either
3599// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3600// a response was returned at all) in error.(*googleapi.Error).Header.
3601// Use googleapi.IsNotModified to check whether the returned error was
3602// because http.StatusNotModified was returned.
3603func (c *ProjectsLocationsEntryGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3604	gensupport.SetOptions(c.urlParams_, opts...)
3605	res, err := c.doRequest("json")
3606	if res != nil && res.StatusCode == http.StatusNotModified {
3607		if res.Body != nil {
3608			res.Body.Close()
3609		}
3610		return nil, &googleapi.Error{
3611			Code:   res.StatusCode,
3612			Header: res.Header,
3613		}
3614	}
3615	if err != nil {
3616		return nil, err
3617	}
3618	defer googleapi.CloseBody(res)
3619	if err := googleapi.CheckResponse(res); err != nil {
3620		return nil, err
3621	}
3622	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3623		ServerResponse: googleapi.ServerResponse{
3624			Header:         res.Header,
3625			HTTPStatusCode: res.StatusCode,
3626		},
3627	}
3628	target := &ret
3629	if err := gensupport.DecodeResponse(target, res); err != nil {
3630		return nil, err
3631	}
3632	return ret, nil
3633	// {
3634	//   "description": "Gets an EntryGroup.",
3635	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3636	//   "httpMethod": "GET",
3637	//   "id": "datacatalog.projects.locations.entryGroups.get",
3638	//   "parameterOrder": [
3639	//     "name"
3640	//   ],
3641	//   "parameters": {
3642	//     "name": {
3643	//       "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3644	//       "location": "path",
3645	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3646	//       "required": true,
3647	//       "type": "string"
3648	//     },
3649	//     "readMask": {
3650	//       "description": "The fields to return. If not set or empty, all fields are returned.",
3651	//       "format": "google-fieldmask",
3652	//       "location": "query",
3653	//       "type": "string"
3654	//     }
3655	//   },
3656	//   "path": "v1beta1/{+name}",
3657	//   "response": {
3658	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3659	//   },
3660	//   "scopes": [
3661	//     "https://www.googleapis.com/auth/cloud-platform"
3662	//   ]
3663	// }
3664
3665}
3666
3667// method id "datacatalog.projects.locations.entryGroups.getIamPolicy":
3668
3669type ProjectsLocationsEntryGroupsGetIamPolicyCall struct {
3670	s                   *Service
3671	resource            string
3672	getiampolicyrequest *GetIamPolicyRequest
3673	urlParams_          gensupport.URLParams
3674	ctx_                context.Context
3675	header_             http.Header
3676}
3677
3678// GetIamPolicy: Gets the access control policy for a resource. A
3679// `NOT_FOUND` error
3680// is returned if the resource does not exist. An empty policy is
3681// returned
3682// if the resource exists but does not have a policy set on
3683// it.
3684//
3685// Supported resources are:
3686//   - Tag templates.
3687//   - Entries.
3688//   - Entry groups.
3689// Note, this method cannot be used to manage policies for BigQuery,
3690// Pub/Sub
3691// and any external Google Cloud Platform resources synced to Data
3692// Catalog.
3693//
3694// Callers must have following Google IAM permission
3695//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
3696//     templates.
3697//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
3698//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
3699// groups.
3700func (r *ProjectsLocationsEntryGroupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3701	c := &ProjectsLocationsEntryGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3702	c.resource = resource
3703	c.getiampolicyrequest = getiampolicyrequest
3704	return c
3705}
3706
3707// Fields allows partial responses to be retrieved. See
3708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3709// for more information.
3710func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3712	return c
3713}
3714
3715// Context sets the context to be used in this call's Do method. Any
3716// pending HTTP request will be aborted if the provided context is
3717// canceled.
3718func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3719	c.ctx_ = ctx
3720	return c
3721}
3722
3723// Header returns an http.Header that can be modified by the caller to
3724// add HTTP headers to the request.
3725func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Header() http.Header {
3726	if c.header_ == nil {
3727		c.header_ = make(http.Header)
3728	}
3729	return c.header_
3730}
3731
3732func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3733	reqHeaders := make(http.Header)
3734	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3735	for k, v := range c.header_ {
3736		reqHeaders[k] = v
3737	}
3738	reqHeaders.Set("User-Agent", c.s.userAgent())
3739	var body io.Reader = nil
3740	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
3741	if err != nil {
3742		return nil, err
3743	}
3744	reqHeaders.Set("Content-Type", "application/json")
3745	c.urlParams_.Set("alt", alt)
3746	c.urlParams_.Set("prettyPrint", "false")
3747	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
3748	urls += "?" + c.urlParams_.Encode()
3749	req, err := http.NewRequest("POST", urls, body)
3750	if err != nil {
3751		return nil, err
3752	}
3753	req.Header = reqHeaders
3754	googleapi.Expand(req.URL, map[string]string{
3755		"resource": c.resource,
3756	})
3757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3758}
3759
3760// Do executes the "datacatalog.projects.locations.entryGroups.getIamPolicy" call.
3761// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3762// code is an error. Response headers are in either
3763// *Policy.ServerResponse.Header or (if a response was returned at all)
3764// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3765// check whether the returned error was because http.StatusNotModified
3766// was returned.
3767func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3768	gensupport.SetOptions(c.urlParams_, opts...)
3769	res, err := c.doRequest("json")
3770	if res != nil && res.StatusCode == http.StatusNotModified {
3771		if res.Body != nil {
3772			res.Body.Close()
3773		}
3774		return nil, &googleapi.Error{
3775			Code:   res.StatusCode,
3776			Header: res.Header,
3777		}
3778	}
3779	if err != nil {
3780		return nil, err
3781	}
3782	defer googleapi.CloseBody(res)
3783	if err := googleapi.CheckResponse(res); err != nil {
3784		return nil, err
3785	}
3786	ret := &Policy{
3787		ServerResponse: googleapi.ServerResponse{
3788			Header:         res.Header,
3789			HTTPStatusCode: res.StatusCode,
3790		},
3791	}
3792	target := &ret
3793	if err := gensupport.DecodeResponse(target, res); err != nil {
3794		return nil, err
3795	}
3796	return ret, nil
3797	// {
3798	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
3799	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
3800	//   "httpMethod": "POST",
3801	//   "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
3802	//   "parameterOrder": [
3803	//     "resource"
3804	//   ],
3805	//   "parameters": {
3806	//     "resource": {
3807	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
3808	//       "location": "path",
3809	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3810	//       "required": true,
3811	//       "type": "string"
3812	//     }
3813	//   },
3814	//   "path": "v1beta1/{+resource}:getIamPolicy",
3815	//   "request": {
3816	//     "$ref": "GetIamPolicyRequest"
3817	//   },
3818	//   "response": {
3819	//     "$ref": "Policy"
3820	//   },
3821	//   "scopes": [
3822	//     "https://www.googleapis.com/auth/cloud-platform"
3823	//   ]
3824	// }
3825
3826}
3827
3828// method id "datacatalog.projects.locations.entryGroups.list":
3829
3830type ProjectsLocationsEntryGroupsListCall struct {
3831	s            *Service
3832	parent       string
3833	urlParams_   gensupport.URLParams
3834	ifNoneMatch_ string
3835	ctx_         context.Context
3836	header_      http.Header
3837}
3838
3839// List: Lists entry groups.
3840func (r *ProjectsLocationsEntryGroupsService) List(parent string) *ProjectsLocationsEntryGroupsListCall {
3841	c := &ProjectsLocationsEntryGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3842	c.parent = parent
3843	return c
3844}
3845
3846// PageSize sets the optional parameter "pageSize": The maximum number
3847// of items to return. Default is 10. Max limit is 1000.
3848// Throws an invalid argument for `page_size > 1000`.
3849func (c *ProjectsLocationsEntryGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsListCall {
3850	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3851	return c
3852}
3853
3854// PageToken sets the optional parameter "pageToken": Token that
3855// specifies which page is requested. If empty, the first page
3856// is
3857// returned.
3858func (c *ProjectsLocationsEntryGroupsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsListCall {
3859	c.urlParams_.Set("pageToken", pageToken)
3860	return c
3861}
3862
3863// Fields allows partial responses to be retrieved. See
3864// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3865// for more information.
3866func (c *ProjectsLocationsEntryGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsListCall {
3867	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3868	return c
3869}
3870
3871// IfNoneMatch sets the optional parameter which makes the operation
3872// fail if the object's ETag matches the given value. This is useful for
3873// getting updates only after the object has changed since the last
3874// request. Use googleapi.IsNotModified to check whether the response
3875// error from Do is the result of In-None-Match.
3876func (c *ProjectsLocationsEntryGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsListCall {
3877	c.ifNoneMatch_ = entityTag
3878	return c
3879}
3880
3881// Context sets the context to be used in this call's Do method. Any
3882// pending HTTP request will be aborted if the provided context is
3883// canceled.
3884func (c *ProjectsLocationsEntryGroupsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsListCall {
3885	c.ctx_ = ctx
3886	return c
3887}
3888
3889// Header returns an http.Header that can be modified by the caller to
3890// add HTTP headers to the request.
3891func (c *ProjectsLocationsEntryGroupsListCall) Header() http.Header {
3892	if c.header_ == nil {
3893		c.header_ = make(http.Header)
3894	}
3895	return c.header_
3896}
3897
3898func (c *ProjectsLocationsEntryGroupsListCall) doRequest(alt string) (*http.Response, error) {
3899	reqHeaders := make(http.Header)
3900	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
3901	for k, v := range c.header_ {
3902		reqHeaders[k] = v
3903	}
3904	reqHeaders.Set("User-Agent", c.s.userAgent())
3905	if c.ifNoneMatch_ != "" {
3906		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3907	}
3908	var body io.Reader = nil
3909	c.urlParams_.Set("alt", alt)
3910	c.urlParams_.Set("prettyPrint", "false")
3911	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
3912	urls += "?" + c.urlParams_.Encode()
3913	req, err := http.NewRequest("GET", urls, body)
3914	if err != nil {
3915		return nil, err
3916	}
3917	req.Header = reqHeaders
3918	googleapi.Expand(req.URL, map[string]string{
3919		"parent": c.parent,
3920	})
3921	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3922}
3923
3924// Do executes the "datacatalog.projects.locations.entryGroups.list" call.
3925// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
3926// or error will be non-nil. Any non-2xx status code is an error.
3927// Response headers are in either
3928// *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse.ServerResponse.H
3929// eader or (if a response was returned at all) in
3930// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3931// whether the returned error was because http.StatusNotModified was
3932// returned.
3933func (c *ProjectsLocationsEntryGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse, error) {
3934	gensupport.SetOptions(c.urlParams_, opts...)
3935	res, err := c.doRequest("json")
3936	if res != nil && res.StatusCode == http.StatusNotModified {
3937		if res.Body != nil {
3938			res.Body.Close()
3939		}
3940		return nil, &googleapi.Error{
3941			Code:   res.StatusCode,
3942			Header: res.Header,
3943		}
3944	}
3945	if err != nil {
3946		return nil, err
3947	}
3948	defer googleapi.CloseBody(res)
3949	if err := googleapi.CheckResponse(res); err != nil {
3950		return nil, err
3951	}
3952	ret := &GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse{
3953		ServerResponse: googleapi.ServerResponse{
3954			Header:         res.Header,
3955			HTTPStatusCode: res.StatusCode,
3956		},
3957	}
3958	target := &ret
3959	if err := gensupport.DecodeResponse(target, res); err != nil {
3960		return nil, err
3961	}
3962	return ret, nil
3963	// {
3964	//   "description": "Lists entry groups.",
3965	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
3966	//   "httpMethod": "GET",
3967	//   "id": "datacatalog.projects.locations.entryGroups.list",
3968	//   "parameterOrder": [
3969	//     "parent"
3970	//   ],
3971	//   "parameters": {
3972	//     "pageSize": {
3973	//       "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
3974	//       "format": "int32",
3975	//       "location": "query",
3976	//       "type": "integer"
3977	//     },
3978	//     "pageToken": {
3979	//       "description": "Optional. Token that specifies which page is requested. If empty, the first page is\nreturned.",
3980	//       "location": "query",
3981	//       "type": "string"
3982	//     },
3983	//     "parent": {
3984	//       "description": "Required. The name of the location that contains the entry groups, which can be\nprovided in URL format. Example:\n\n* projects/{project_id}/locations/{location}",
3985	//       "location": "path",
3986	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3987	//       "required": true,
3988	//       "type": "string"
3989	//     }
3990	//   },
3991	//   "path": "v1beta1/{+parent}/entryGroups",
3992	//   "response": {
3993	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse"
3994	//   },
3995	//   "scopes": [
3996	//     "https://www.googleapis.com/auth/cloud-platform"
3997	//   ]
3998	// }
3999
4000}
4001
4002// Pages invokes f for each page of results.
4003// A non-nil error returned from f will halt the iteration.
4004// The provided context supersedes any context provided to the Context method.
4005func (c *ProjectsLocationsEntryGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) error) error {
4006	c.ctx_ = ctx
4007	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4008	for {
4009		x, err := c.Do()
4010		if err != nil {
4011			return err
4012		}
4013		if err := f(x); err != nil {
4014			return err
4015		}
4016		if x.NextPageToken == "" {
4017			return nil
4018		}
4019		c.PageToken(x.NextPageToken)
4020	}
4021}
4022
4023// method id "datacatalog.projects.locations.entryGroups.patch":
4024
4025type ProjectsLocationsEntryGroupsPatchCall struct {
4026	s                                       *Service
4027	name                                    string
4028	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
4029	urlParams_                              gensupport.URLParams
4030	ctx_                                    context.Context
4031	header_                                 http.Header
4032}
4033
4034// Patch: Updates an EntryGroup. The user should enable the Data Catalog
4035// API in the
4036// project identified by the `entry_group.name` parameter (see [Data
4037// Catalog
4038// Resource
4039// Project]
4040// (https://cloud.google.com/data-catalog/docs/concepts/resource
4041// -project) for
4042// more information).
4043func (r *ProjectsLocationsEntryGroupsService) Patch(name string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsPatchCall {
4044	c := &ProjectsLocationsEntryGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4045	c.name = name
4046	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
4047	return c
4048}
4049
4050// UpdateMask sets the optional parameter "updateMask": The fields to
4051// update on the entry group. If absent or empty, all modifiable
4052// fields are updated.
4053func (c *ProjectsLocationsEntryGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsPatchCall {
4054	c.urlParams_.Set("updateMask", updateMask)
4055	return c
4056}
4057
4058// Fields allows partial responses to be retrieved. See
4059// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4060// for more information.
4061func (c *ProjectsLocationsEntryGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsPatchCall {
4062	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4063	return c
4064}
4065
4066// Context sets the context to be used in this call's Do method. Any
4067// pending HTTP request will be aborted if the provided context is
4068// canceled.
4069func (c *ProjectsLocationsEntryGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsPatchCall {
4070	c.ctx_ = ctx
4071	return c
4072}
4073
4074// Header returns an http.Header that can be modified by the caller to
4075// add HTTP headers to the request.
4076func (c *ProjectsLocationsEntryGroupsPatchCall) Header() http.Header {
4077	if c.header_ == nil {
4078		c.header_ = make(http.Header)
4079	}
4080	return c.header_
4081}
4082
4083func (c *ProjectsLocationsEntryGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
4084	reqHeaders := make(http.Header)
4085	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4086	for k, v := range c.header_ {
4087		reqHeaders[k] = v
4088	}
4089	reqHeaders.Set("User-Agent", c.s.userAgent())
4090	var body io.Reader = nil
4091	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
4092	if err != nil {
4093		return nil, err
4094	}
4095	reqHeaders.Set("Content-Type", "application/json")
4096	c.urlParams_.Set("alt", alt)
4097	c.urlParams_.Set("prettyPrint", "false")
4098	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4099	urls += "?" + c.urlParams_.Encode()
4100	req, err := http.NewRequest("PATCH", urls, body)
4101	if err != nil {
4102		return nil, err
4103	}
4104	req.Header = reqHeaders
4105	googleapi.Expand(req.URL, map[string]string{
4106		"name": c.name,
4107	})
4108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4109}
4110
4111// Do executes the "datacatalog.projects.locations.entryGroups.patch" call.
4112// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
4113// be non-nil. Any non-2xx status code is an error. Response headers are
4114// in either
4115// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
4116// a response was returned at all) in error.(*googleapi.Error).Header.
4117// Use googleapi.IsNotModified to check whether the returned error was
4118// because http.StatusNotModified was returned.
4119func (c *ProjectsLocationsEntryGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
4120	gensupport.SetOptions(c.urlParams_, opts...)
4121	res, err := c.doRequest("json")
4122	if res != nil && res.StatusCode == http.StatusNotModified {
4123		if res.Body != nil {
4124			res.Body.Close()
4125		}
4126		return nil, &googleapi.Error{
4127			Code:   res.StatusCode,
4128			Header: res.Header,
4129		}
4130	}
4131	if err != nil {
4132		return nil, err
4133	}
4134	defer googleapi.CloseBody(res)
4135	if err := googleapi.CheckResponse(res); err != nil {
4136		return nil, err
4137	}
4138	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
4139		ServerResponse: googleapi.ServerResponse{
4140			Header:         res.Header,
4141			HTTPStatusCode: res.StatusCode,
4142		},
4143	}
4144	target := &ret
4145	if err := gensupport.DecodeResponse(target, res); err != nil {
4146		return nil, err
4147	}
4148	return ret, nil
4149	// {
4150	//   "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the\nproject identified by the `entry_group.name` parameter (see [Data Catalog\nResource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
4151	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
4152	//   "httpMethod": "PATCH",
4153	//   "id": "datacatalog.projects.locations.entryGroups.patch",
4154	//   "parameterOrder": [
4155	//     "name"
4156	//   ],
4157	//   "parameters": {
4158	//     "name": {
4159	//       "description": "The resource name of the entry group in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
4160	//       "location": "path",
4161	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4162	//       "required": true,
4163	//       "type": "string"
4164	//     },
4165	//     "updateMask": {
4166	//       "description": "The fields to update on the entry group. If absent or empty, all modifiable\nfields are updated.",
4167	//       "format": "google-fieldmask",
4168	//       "location": "query",
4169	//       "type": "string"
4170	//     }
4171	//   },
4172	//   "path": "v1beta1/{+name}",
4173	//   "request": {
4174	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
4175	//   },
4176	//   "response": {
4177	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
4178	//   },
4179	//   "scopes": [
4180	//     "https://www.googleapis.com/auth/cloud-platform"
4181	//   ]
4182	// }
4183
4184}
4185
4186// method id "datacatalog.projects.locations.entryGroups.setIamPolicy":
4187
4188type ProjectsLocationsEntryGroupsSetIamPolicyCall struct {
4189	s                   *Service
4190	resource            string
4191	setiampolicyrequest *SetIamPolicyRequest
4192	urlParams_          gensupport.URLParams
4193	ctx_                context.Context
4194	header_             http.Header
4195}
4196
4197// SetIamPolicy: Sets the access control policy for a resource. Replaces
4198// any existing
4199// policy.
4200// Supported resources are:
4201//   - Tag templates.
4202//   - Entries.
4203//   - Entry groups.
4204// Note, this method cannot be used to manage policies for BigQuery,
4205// Pub/Sub
4206// and any external Google Cloud Platform resources synced to Data
4207// Catalog.
4208//
4209// Callers must have following Google IAM permission
4210//   - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
4211//     templates.
4212//   - `datacatalog.entries.setIamPolicy` to set policies on entries.
4213//   - `datacatalog.entryGroups.setIamPolicy` to set policies on entry
4214// groups.
4215func (r *ProjectsLocationsEntryGroupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
4216	c := &ProjectsLocationsEntryGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4217	c.resource = resource
4218	c.setiampolicyrequest = setiampolicyrequest
4219	return c
4220}
4221
4222// Fields allows partial responses to be retrieved. See
4223// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4224// for more information.
4225func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
4226	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4227	return c
4228}
4229
4230// Context sets the context to be used in this call's Do method. Any
4231// pending HTTP request will be aborted if the provided context is
4232// canceled.
4233func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
4234	c.ctx_ = ctx
4235	return c
4236}
4237
4238// Header returns an http.Header that can be modified by the caller to
4239// add HTTP headers to the request.
4240func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Header() http.Header {
4241	if c.header_ == nil {
4242		c.header_ = make(http.Header)
4243	}
4244	return c.header_
4245}
4246
4247func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4248	reqHeaders := make(http.Header)
4249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4250	for k, v := range c.header_ {
4251		reqHeaders[k] = v
4252	}
4253	reqHeaders.Set("User-Agent", c.s.userAgent())
4254	var body io.Reader = nil
4255	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
4256	if err != nil {
4257		return nil, err
4258	}
4259	reqHeaders.Set("Content-Type", "application/json")
4260	c.urlParams_.Set("alt", alt)
4261	c.urlParams_.Set("prettyPrint", "false")
4262	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
4263	urls += "?" + c.urlParams_.Encode()
4264	req, err := http.NewRequest("POST", urls, body)
4265	if err != nil {
4266		return nil, err
4267	}
4268	req.Header = reqHeaders
4269	googleapi.Expand(req.URL, map[string]string{
4270		"resource": c.resource,
4271	})
4272	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4273}
4274
4275// Do executes the "datacatalog.projects.locations.entryGroups.setIamPolicy" call.
4276// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4277// code is an error. Response headers are in either
4278// *Policy.ServerResponse.Header or (if a response was returned at all)
4279// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4280// check whether the returned error was because http.StatusNotModified
4281// was returned.
4282func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4283	gensupport.SetOptions(c.urlParams_, opts...)
4284	res, err := c.doRequest("json")
4285	if res != nil && res.StatusCode == http.StatusNotModified {
4286		if res.Body != nil {
4287			res.Body.Close()
4288		}
4289		return nil, &googleapi.Error{
4290			Code:   res.StatusCode,
4291			Header: res.Header,
4292		}
4293	}
4294	if err != nil {
4295		return nil, err
4296	}
4297	defer googleapi.CloseBody(res)
4298	if err := googleapi.CheckResponse(res); err != nil {
4299		return nil, err
4300	}
4301	ret := &Policy{
4302		ServerResponse: googleapi.ServerResponse{
4303			Header:         res.Header,
4304			HTTPStatusCode: res.StatusCode,
4305		},
4306	}
4307	target := &ret
4308	if err := gensupport.DecodeResponse(target, res); err != nil {
4309		return nil, err
4310	}
4311	return ret, nil
4312	// {
4313	//   "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
4314	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
4315	//   "httpMethod": "POST",
4316	//   "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
4317	//   "parameterOrder": [
4318	//     "resource"
4319	//   ],
4320	//   "parameters": {
4321	//     "resource": {
4322	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
4323	//       "location": "path",
4324	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4325	//       "required": true,
4326	//       "type": "string"
4327	//     }
4328	//   },
4329	//   "path": "v1beta1/{+resource}:setIamPolicy",
4330	//   "request": {
4331	//     "$ref": "SetIamPolicyRequest"
4332	//   },
4333	//   "response": {
4334	//     "$ref": "Policy"
4335	//   },
4336	//   "scopes": [
4337	//     "https://www.googleapis.com/auth/cloud-platform"
4338	//   ]
4339	// }
4340
4341}
4342
4343// method id "datacatalog.projects.locations.entryGroups.testIamPermissions":
4344
4345type ProjectsLocationsEntryGroupsTestIamPermissionsCall struct {
4346	s                         *Service
4347	resource                  string
4348	testiampermissionsrequest *TestIamPermissionsRequest
4349	urlParams_                gensupport.URLParams
4350	ctx_                      context.Context
4351	header_                   http.Header
4352}
4353
4354// TestIamPermissions: Returns the caller's permissions on a
4355// resource.
4356// If the resource does not exist, an empty set of permissions is
4357// returned
4358// (We don't return a `NOT_FOUND` error).
4359//
4360// Supported resources are:
4361//   - Tag templates.
4362//   - Entries.
4363//   - Entry groups.
4364// Note, this method cannot be used to manage policies for BigQuery,
4365// Pub/Sub
4366// and any external Google Cloud Platform resources synced to Data
4367// Catalog.
4368//
4369// A caller is not required to have Google IAM permission to make
4370// this
4371// request.
4372func (r *ProjectsLocationsEntryGroupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4373	c := &ProjectsLocationsEntryGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4374	c.resource = resource
4375	c.testiampermissionsrequest = testiampermissionsrequest
4376	return c
4377}
4378
4379// Fields allows partial responses to be retrieved. See
4380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4381// for more information.
4382func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4384	return c
4385}
4386
4387// Context sets the context to be used in this call's Do method. Any
4388// pending HTTP request will be aborted if the provided context is
4389// canceled.
4390func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
4391	c.ctx_ = ctx
4392	return c
4393}
4394
4395// Header returns an http.Header that can be modified by the caller to
4396// add HTTP headers to the request.
4397func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Header() http.Header {
4398	if c.header_ == nil {
4399		c.header_ = make(http.Header)
4400	}
4401	return c.header_
4402}
4403
4404func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
4405	reqHeaders := make(http.Header)
4406	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4407	for k, v := range c.header_ {
4408		reqHeaders[k] = v
4409	}
4410	reqHeaders.Set("User-Agent", c.s.userAgent())
4411	var body io.Reader = nil
4412	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
4413	if err != nil {
4414		return nil, err
4415	}
4416	reqHeaders.Set("Content-Type", "application/json")
4417	c.urlParams_.Set("alt", alt)
4418	c.urlParams_.Set("prettyPrint", "false")
4419	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
4420	urls += "?" + c.urlParams_.Encode()
4421	req, err := http.NewRequest("POST", urls, body)
4422	if err != nil {
4423		return nil, err
4424	}
4425	req.Header = reqHeaders
4426	googleapi.Expand(req.URL, map[string]string{
4427		"resource": c.resource,
4428	})
4429	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4430}
4431
4432// Do executes the "datacatalog.projects.locations.entryGroups.testIamPermissions" call.
4433// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
4434// Any non-2xx status code is an error. Response headers are in either
4435// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
4436// was returned at all) in error.(*googleapi.Error).Header. Use
4437// googleapi.IsNotModified to check whether the returned error was
4438// because http.StatusNotModified was returned.
4439func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
4440	gensupport.SetOptions(c.urlParams_, opts...)
4441	res, err := c.doRequest("json")
4442	if res != nil && res.StatusCode == http.StatusNotModified {
4443		if res.Body != nil {
4444			res.Body.Close()
4445		}
4446		return nil, &googleapi.Error{
4447			Code:   res.StatusCode,
4448			Header: res.Header,
4449		}
4450	}
4451	if err != nil {
4452		return nil, err
4453	}
4454	defer googleapi.CloseBody(res)
4455	if err := googleapi.CheckResponse(res); err != nil {
4456		return nil, err
4457	}
4458	ret := &TestIamPermissionsResponse{
4459		ServerResponse: googleapi.ServerResponse{
4460			Header:         res.Header,
4461			HTTPStatusCode: res.StatusCode,
4462		},
4463	}
4464	target := &ret
4465	if err := gensupport.DecodeResponse(target, res); err != nil {
4466		return nil, err
4467	}
4468	return ret, nil
4469	// {
4470	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
4471	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
4472	//   "httpMethod": "POST",
4473	//   "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
4474	//   "parameterOrder": [
4475	//     "resource"
4476	//   ],
4477	//   "parameters": {
4478	//     "resource": {
4479	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
4480	//       "location": "path",
4481	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4482	//       "required": true,
4483	//       "type": "string"
4484	//     }
4485	//   },
4486	//   "path": "v1beta1/{+resource}:testIamPermissions",
4487	//   "request": {
4488	//     "$ref": "TestIamPermissionsRequest"
4489	//   },
4490	//   "response": {
4491	//     "$ref": "TestIamPermissionsResponse"
4492	//   },
4493	//   "scopes": [
4494	//     "https://www.googleapis.com/auth/cloud-platform"
4495	//   ]
4496	// }
4497
4498}
4499
4500// method id "datacatalog.projects.locations.entryGroups.entries.create":
4501
4502type ProjectsLocationsEntryGroupsEntriesCreateCall struct {
4503	s                                  *Service
4504	parent                             string
4505	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
4506	urlParams_                         gensupport.URLParams
4507	ctx_                               context.Context
4508	header_                            http.Header
4509}
4510
4511// Create: Creates an entry. Only entries of 'FILESET' type or
4512// user-specified type can
4513// be created.
4514//
4515// Users should enable the Data Catalog API in the project identified
4516// by
4517// the `parent` parameter (see [Data Catalog Resource
4518// Project]
4519// (https://cloud.google.com/data-catalog/docs/concepts/resource
4520// -project) for
4521// more information).
4522//
4523// A maximum of 100,000 entries may be created per entry group.
4524func (r *ProjectsLocationsEntryGroupsEntriesService) Create(parent string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4525	c := &ProjectsLocationsEntryGroupsEntriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4526	c.parent = parent
4527	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
4528	return c
4529}
4530
4531// EntryId sets the optional parameter "entryId": Required. The id of
4532// the entry to create.
4533func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) EntryId(entryId string) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4534	c.urlParams_.Set("entryId", entryId)
4535	return c
4536}
4537
4538// Fields allows partial responses to be retrieved. See
4539// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4540// for more information.
4541func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4542	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4543	return c
4544}
4545
4546// Context sets the context to be used in this call's Do method. Any
4547// pending HTTP request will be aborted if the provided context is
4548// canceled.
4549func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4550	c.ctx_ = ctx
4551	return c
4552}
4553
4554// Header returns an http.Header that can be modified by the caller to
4555// add HTTP headers to the request.
4556func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Header() http.Header {
4557	if c.header_ == nil {
4558		c.header_ = make(http.Header)
4559	}
4560	return c.header_
4561}
4562
4563func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) doRequest(alt string) (*http.Response, error) {
4564	reqHeaders := make(http.Header)
4565	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4566	for k, v := range c.header_ {
4567		reqHeaders[k] = v
4568	}
4569	reqHeaders.Set("User-Agent", c.s.userAgent())
4570	var body io.Reader = nil
4571	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
4572	if err != nil {
4573		return nil, err
4574	}
4575	reqHeaders.Set("Content-Type", "application/json")
4576	c.urlParams_.Set("alt", alt)
4577	c.urlParams_.Set("prettyPrint", "false")
4578	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
4579	urls += "?" + c.urlParams_.Encode()
4580	req, err := http.NewRequest("POST", urls, body)
4581	if err != nil {
4582		return nil, err
4583	}
4584	req.Header = reqHeaders
4585	googleapi.Expand(req.URL, map[string]string{
4586		"parent": c.parent,
4587	})
4588	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4589}
4590
4591// Do executes the "datacatalog.projects.locations.entryGroups.entries.create" call.
4592// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4593// non-nil. Any non-2xx status code is an error. Response headers are in
4594// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4595// (if a response was returned at all) in
4596// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4597// whether the returned error was because http.StatusNotModified was
4598// returned.
4599func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4600	gensupport.SetOptions(c.urlParams_, opts...)
4601	res, err := c.doRequest("json")
4602	if res != nil && res.StatusCode == http.StatusNotModified {
4603		if res.Body != nil {
4604			res.Body.Close()
4605		}
4606		return nil, &googleapi.Error{
4607			Code:   res.StatusCode,
4608			Header: res.Header,
4609		}
4610	}
4611	if err != nil {
4612		return nil, err
4613	}
4614	defer googleapi.CloseBody(res)
4615	if err := googleapi.CheckResponse(res); err != nil {
4616		return nil, err
4617	}
4618	ret := &GoogleCloudDatacatalogV1beta1Entry{
4619		ServerResponse: googleapi.ServerResponse{
4620			Header:         res.Header,
4621			HTTPStatusCode: res.StatusCode,
4622		},
4623	}
4624	target := &ret
4625	if err := gensupport.DecodeResponse(target, res); err != nil {
4626		return nil, err
4627	}
4628	return ret, nil
4629	// {
4630	//   "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can\nbe created.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).\n\nA maximum of 100,000 entries may be created per entry group.",
4631	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
4632	//   "httpMethod": "POST",
4633	//   "id": "datacatalog.projects.locations.entryGroups.entries.create",
4634	//   "parameterOrder": [
4635	//     "parent"
4636	//   ],
4637	//   "parameters": {
4638	//     "entryId": {
4639	//       "description": "Required. The id of the entry to create.",
4640	//       "location": "query",
4641	//       "type": "string"
4642	//     },
4643	//     "parent": {
4644	//       "description": "Required. The name of the entry group this entry is in. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
4645	//       "location": "path",
4646	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4647	//       "required": true,
4648	//       "type": "string"
4649	//     }
4650	//   },
4651	//   "path": "v1beta1/{+parent}/entries",
4652	//   "request": {
4653	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4654	//   },
4655	//   "response": {
4656	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4657	//   },
4658	//   "scopes": [
4659	//     "https://www.googleapis.com/auth/cloud-platform"
4660	//   ]
4661	// }
4662
4663}
4664
4665// method id "datacatalog.projects.locations.entryGroups.entries.delete":
4666
4667type ProjectsLocationsEntryGroupsEntriesDeleteCall struct {
4668	s          *Service
4669	name       string
4670	urlParams_ gensupport.URLParams
4671	ctx_       context.Context
4672	header_    http.Header
4673}
4674
4675// Delete: Deletes an existing entry. Only entries created
4676// through
4677// CreateEntry
4678// method can be deleted.
4679// Users should enable the Data Catalog API in the project identified
4680// by
4681// the `name` parameter (see [Data Catalog Resource
4682// Project]
4683// (https://cloud.google.com/data-catalog/docs/concepts/resource
4684// -project) for
4685// more information).
4686func (r *ProjectsLocationsEntryGroupsEntriesService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4687	c := &ProjectsLocationsEntryGroupsEntriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4688	c.name = name
4689	return c
4690}
4691
4692// Fields allows partial responses to be retrieved. See
4693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4694// for more information.
4695func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4696	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4697	return c
4698}
4699
4700// Context sets the context to be used in this call's Do method. Any
4701// pending HTTP request will be aborted if the provided context is
4702// canceled.
4703func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4704	c.ctx_ = ctx
4705	return c
4706}
4707
4708// Header returns an http.Header that can be modified by the caller to
4709// add HTTP headers to the request.
4710func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Header() http.Header {
4711	if c.header_ == nil {
4712		c.header_ = make(http.Header)
4713	}
4714	return c.header_
4715}
4716
4717func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) doRequest(alt string) (*http.Response, error) {
4718	reqHeaders := make(http.Header)
4719	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4720	for k, v := range c.header_ {
4721		reqHeaders[k] = v
4722	}
4723	reqHeaders.Set("User-Agent", c.s.userAgent())
4724	var body io.Reader = nil
4725	c.urlParams_.Set("alt", alt)
4726	c.urlParams_.Set("prettyPrint", "false")
4727	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4728	urls += "?" + c.urlParams_.Encode()
4729	req, err := http.NewRequest("DELETE", urls, body)
4730	if err != nil {
4731		return nil, err
4732	}
4733	req.Header = reqHeaders
4734	googleapi.Expand(req.URL, map[string]string{
4735		"name": c.name,
4736	})
4737	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4738}
4739
4740// Do executes the "datacatalog.projects.locations.entryGroups.entries.delete" call.
4741// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4742// code is an error. Response headers are in either
4743// *Empty.ServerResponse.Header or (if a response was returned at all)
4744// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4745// check whether the returned error was because http.StatusNotModified
4746// was returned.
4747func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4748	gensupport.SetOptions(c.urlParams_, opts...)
4749	res, err := c.doRequest("json")
4750	if res != nil && res.StatusCode == http.StatusNotModified {
4751		if res.Body != nil {
4752			res.Body.Close()
4753		}
4754		return nil, &googleapi.Error{
4755			Code:   res.StatusCode,
4756			Header: res.Header,
4757		}
4758	}
4759	if err != nil {
4760		return nil, err
4761	}
4762	defer googleapi.CloseBody(res)
4763	if err := googleapi.CheckResponse(res); err != nil {
4764		return nil, err
4765	}
4766	ret := &Empty{
4767		ServerResponse: googleapi.ServerResponse{
4768			Header:         res.Header,
4769			HTTPStatusCode: res.StatusCode,
4770		},
4771	}
4772	target := &ret
4773	if err := gensupport.DecodeResponse(target, res); err != nil {
4774		return nil, err
4775	}
4776	return ret, nil
4777	// {
4778	//   "description": "Deletes an existing entry. Only entries created through\nCreateEntry\nmethod can be deleted.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
4779	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4780	//   "httpMethod": "DELETE",
4781	//   "id": "datacatalog.projects.locations.entryGroups.entries.delete",
4782	//   "parameterOrder": [
4783	//     "name"
4784	//   ],
4785	//   "parameters": {
4786	//     "name": {
4787	//       "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4788	//       "location": "path",
4789	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4790	//       "required": true,
4791	//       "type": "string"
4792	//     }
4793	//   },
4794	//   "path": "v1beta1/{+name}",
4795	//   "response": {
4796	//     "$ref": "Empty"
4797	//   },
4798	//   "scopes": [
4799	//     "https://www.googleapis.com/auth/cloud-platform"
4800	//   ]
4801	// }
4802
4803}
4804
4805// method id "datacatalog.projects.locations.entryGroups.entries.get":
4806
4807type ProjectsLocationsEntryGroupsEntriesGetCall struct {
4808	s            *Service
4809	name         string
4810	urlParams_   gensupport.URLParams
4811	ifNoneMatch_ string
4812	ctx_         context.Context
4813	header_      http.Header
4814}
4815
4816// Get: Gets an entry.
4817func (r *ProjectsLocationsEntryGroupsEntriesService) Get(name string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4818	c := &ProjectsLocationsEntryGroupsEntriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4819	c.name = name
4820	return c
4821}
4822
4823// Fields allows partial responses to be retrieved. See
4824// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4825// for more information.
4826func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetCall {
4827	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4828	return c
4829}
4830
4831// IfNoneMatch sets the optional parameter which makes the operation
4832// fail if the object's ETag matches the given value. This is useful for
4833// getting updates only after the object has changed since the last
4834// request. Use googleapi.IsNotModified to check whether the response
4835// error from Do is the result of In-None-Match.
4836func (c *ProjectsLocationsEntryGroupsEntriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4837	c.ifNoneMatch_ = entityTag
4838	return c
4839}
4840
4841// Context sets the context to be used in this call's Do method. Any
4842// pending HTTP request will be aborted if the provided context is
4843// canceled.
4844func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetCall {
4845	c.ctx_ = ctx
4846	return c
4847}
4848
4849// Header returns an http.Header that can be modified by the caller to
4850// add HTTP headers to the request.
4851func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Header() http.Header {
4852	if c.header_ == nil {
4853		c.header_ = make(http.Header)
4854	}
4855	return c.header_
4856}
4857
4858func (c *ProjectsLocationsEntryGroupsEntriesGetCall) doRequest(alt string) (*http.Response, error) {
4859	reqHeaders := make(http.Header)
4860	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
4861	for k, v := range c.header_ {
4862		reqHeaders[k] = v
4863	}
4864	reqHeaders.Set("User-Agent", c.s.userAgent())
4865	if c.ifNoneMatch_ != "" {
4866		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4867	}
4868	var body io.Reader = nil
4869	c.urlParams_.Set("alt", alt)
4870	c.urlParams_.Set("prettyPrint", "false")
4871	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4872	urls += "?" + c.urlParams_.Encode()
4873	req, err := http.NewRequest("GET", urls, body)
4874	if err != nil {
4875		return nil, err
4876	}
4877	req.Header = reqHeaders
4878	googleapi.Expand(req.URL, map[string]string{
4879		"name": c.name,
4880	})
4881	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4882}
4883
4884// Do executes the "datacatalog.projects.locations.entryGroups.entries.get" call.
4885// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4886// non-nil. Any non-2xx status code is an error. Response headers are in
4887// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4888// (if a response was returned at all) in
4889// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4890// whether the returned error was because http.StatusNotModified was
4891// returned.
4892func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4893	gensupport.SetOptions(c.urlParams_, opts...)
4894	res, err := c.doRequest("json")
4895	if res != nil && res.StatusCode == http.StatusNotModified {
4896		if res.Body != nil {
4897			res.Body.Close()
4898		}
4899		return nil, &googleapi.Error{
4900			Code:   res.StatusCode,
4901			Header: res.Header,
4902		}
4903	}
4904	if err != nil {
4905		return nil, err
4906	}
4907	defer googleapi.CloseBody(res)
4908	if err := googleapi.CheckResponse(res); err != nil {
4909		return nil, err
4910	}
4911	ret := &GoogleCloudDatacatalogV1beta1Entry{
4912		ServerResponse: googleapi.ServerResponse{
4913			Header:         res.Header,
4914			HTTPStatusCode: res.StatusCode,
4915		},
4916	}
4917	target := &ret
4918	if err := gensupport.DecodeResponse(target, res); err != nil {
4919		return nil, err
4920	}
4921	return ret, nil
4922	// {
4923	//   "description": "Gets an entry.",
4924	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4925	//   "httpMethod": "GET",
4926	//   "id": "datacatalog.projects.locations.entryGroups.entries.get",
4927	//   "parameterOrder": [
4928	//     "name"
4929	//   ],
4930	//   "parameters": {
4931	//     "name": {
4932	//       "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4933	//       "location": "path",
4934	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4935	//       "required": true,
4936	//       "type": "string"
4937	//     }
4938	//   },
4939	//   "path": "v1beta1/{+name}",
4940	//   "response": {
4941	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4942	//   },
4943	//   "scopes": [
4944	//     "https://www.googleapis.com/auth/cloud-platform"
4945	//   ]
4946	// }
4947
4948}
4949
4950// method id "datacatalog.projects.locations.entryGroups.entries.getIamPolicy":
4951
4952type ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall struct {
4953	s                   *Service
4954	resource            string
4955	getiampolicyrequest *GetIamPolicyRequest
4956	urlParams_          gensupport.URLParams
4957	ctx_                context.Context
4958	header_             http.Header
4959}
4960
4961// GetIamPolicy: Gets the access control policy for a resource. A
4962// `NOT_FOUND` error
4963// is returned if the resource does not exist. An empty policy is
4964// returned
4965// if the resource exists but does not have a policy set on
4966// it.
4967//
4968// Supported resources are:
4969//   - Tag templates.
4970//   - Entries.
4971//   - Entry groups.
4972// Note, this method cannot be used to manage policies for BigQuery,
4973// Pub/Sub
4974// and any external Google Cloud Platform resources synced to Data
4975// Catalog.
4976//
4977// Callers must have following Google IAM permission
4978//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
4979//     templates.
4980//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
4981//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
4982// groups.
4983func (r *ProjectsLocationsEntryGroupsEntriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4984	c := &ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4985	c.resource = resource
4986	c.getiampolicyrequest = getiampolicyrequest
4987	return c
4988}
4989
4990// Fields allows partial responses to be retrieved. See
4991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4992// for more information.
4993func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4994	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4995	return c
4996}
4997
4998// Context sets the context to be used in this call's Do method. Any
4999// pending HTTP request will be aborted if the provided context is
5000// canceled.
5001func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
5002	c.ctx_ = ctx
5003	return c
5004}
5005
5006// Header returns an http.Header that can be modified by the caller to
5007// add HTTP headers to the request.
5008func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Header() http.Header {
5009	if c.header_ == nil {
5010		c.header_ = make(http.Header)
5011	}
5012	return c.header_
5013}
5014
5015func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
5016	reqHeaders := make(http.Header)
5017	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5018	for k, v := range c.header_ {
5019		reqHeaders[k] = v
5020	}
5021	reqHeaders.Set("User-Agent", c.s.userAgent())
5022	var body io.Reader = nil
5023	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
5024	if err != nil {
5025		return nil, err
5026	}
5027	reqHeaders.Set("Content-Type", "application/json")
5028	c.urlParams_.Set("alt", alt)
5029	c.urlParams_.Set("prettyPrint", "false")
5030	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
5031	urls += "?" + c.urlParams_.Encode()
5032	req, err := http.NewRequest("POST", urls, body)
5033	if err != nil {
5034		return nil, err
5035	}
5036	req.Header = reqHeaders
5037	googleapi.Expand(req.URL, map[string]string{
5038		"resource": c.resource,
5039	})
5040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5041}
5042
5043// Do executes the "datacatalog.projects.locations.entryGroups.entries.getIamPolicy" call.
5044// Exactly one of *Policy or error will be non-nil. Any non-2xx status
5045// code is an error. Response headers are in either
5046// *Policy.ServerResponse.Header or (if a response was returned at all)
5047// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5048// check whether the returned error was because http.StatusNotModified
5049// was returned.
5050func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
5051	gensupport.SetOptions(c.urlParams_, opts...)
5052	res, err := c.doRequest("json")
5053	if res != nil && res.StatusCode == http.StatusNotModified {
5054		if res.Body != nil {
5055			res.Body.Close()
5056		}
5057		return nil, &googleapi.Error{
5058			Code:   res.StatusCode,
5059			Header: res.Header,
5060		}
5061	}
5062	if err != nil {
5063		return nil, err
5064	}
5065	defer googleapi.CloseBody(res)
5066	if err := googleapi.CheckResponse(res); err != nil {
5067		return nil, err
5068	}
5069	ret := &Policy{
5070		ServerResponse: googleapi.ServerResponse{
5071			Header:         res.Header,
5072			HTTPStatusCode: res.StatusCode,
5073		},
5074	}
5075	target := &ret
5076	if err := gensupport.DecodeResponse(target, res); err != nil {
5077		return nil, err
5078	}
5079	return ret, nil
5080	// {
5081	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
5082	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
5083	//   "httpMethod": "POST",
5084	//   "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
5085	//   "parameterOrder": [
5086	//     "resource"
5087	//   ],
5088	//   "parameters": {
5089	//     "resource": {
5090	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
5091	//       "location": "path",
5092	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5093	//       "required": true,
5094	//       "type": "string"
5095	//     }
5096	//   },
5097	//   "path": "v1beta1/{+resource}:getIamPolicy",
5098	//   "request": {
5099	//     "$ref": "GetIamPolicyRequest"
5100	//   },
5101	//   "response": {
5102	//     "$ref": "Policy"
5103	//   },
5104	//   "scopes": [
5105	//     "https://www.googleapis.com/auth/cloud-platform"
5106	//   ]
5107	// }
5108
5109}
5110
5111// method id "datacatalog.projects.locations.entryGroups.entries.list":
5112
5113type ProjectsLocationsEntryGroupsEntriesListCall struct {
5114	s            *Service
5115	parent       string
5116	urlParams_   gensupport.URLParams
5117	ifNoneMatch_ string
5118	ctx_         context.Context
5119	header_      http.Header
5120}
5121
5122// List: Lists entries.
5123func (r *ProjectsLocationsEntryGroupsEntriesService) List(parent string) *ProjectsLocationsEntryGroupsEntriesListCall {
5124	c := &ProjectsLocationsEntryGroupsEntriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5125	c.parent = parent
5126	return c
5127}
5128
5129// PageSize sets the optional parameter "pageSize": The maximum number
5130// of items to return. Default is 10. Max limit is 1000.
5131// Throws an invalid argument for `page_size > 1000`.
5132func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesListCall {
5133	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5134	return c
5135}
5136
5137// PageToken sets the optional parameter "pageToken": Token that
5138// specifies which page is requested. If empty, the first page
5139// is
5140// returned.
5141func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesListCall {
5142	c.urlParams_.Set("pageToken", pageToken)
5143	return c
5144}
5145
5146// ReadMask sets the optional parameter "readMask": The fields to return
5147// for each Entry. If not set or empty, all
5148// fields are returned.
5149// For example, setting read_mask to contain only one path "name" will
5150// cause
5151// ListEntries to return a list of Entries with only "name" field.
5152func (c *ProjectsLocationsEntryGroupsEntriesListCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsEntriesListCall {
5153	c.urlParams_.Set("readMask", readMask)
5154	return c
5155}
5156
5157// Fields allows partial responses to be retrieved. See
5158// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5159// for more information.
5160func (c *ProjectsLocationsEntryGroupsEntriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesListCall {
5161	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5162	return c
5163}
5164
5165// IfNoneMatch sets the optional parameter which makes the operation
5166// fail if the object's ETag matches the given value. This is useful for
5167// getting updates only after the object has changed since the last
5168// request. Use googleapi.IsNotModified to check whether the response
5169// error from Do is the result of In-None-Match.
5170func (c *ProjectsLocationsEntryGroupsEntriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesListCall {
5171	c.ifNoneMatch_ = entityTag
5172	return c
5173}
5174
5175// Context sets the context to be used in this call's Do method. Any
5176// pending HTTP request will be aborted if the provided context is
5177// canceled.
5178func (c *ProjectsLocationsEntryGroupsEntriesListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesListCall {
5179	c.ctx_ = ctx
5180	return c
5181}
5182
5183// Header returns an http.Header that can be modified by the caller to
5184// add HTTP headers to the request.
5185func (c *ProjectsLocationsEntryGroupsEntriesListCall) Header() http.Header {
5186	if c.header_ == nil {
5187		c.header_ = make(http.Header)
5188	}
5189	return c.header_
5190}
5191
5192func (c *ProjectsLocationsEntryGroupsEntriesListCall) doRequest(alt string) (*http.Response, error) {
5193	reqHeaders := make(http.Header)
5194	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5195	for k, v := range c.header_ {
5196		reqHeaders[k] = v
5197	}
5198	reqHeaders.Set("User-Agent", c.s.userAgent())
5199	if c.ifNoneMatch_ != "" {
5200		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5201	}
5202	var body io.Reader = nil
5203	c.urlParams_.Set("alt", alt)
5204	c.urlParams_.Set("prettyPrint", "false")
5205	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
5206	urls += "?" + c.urlParams_.Encode()
5207	req, err := http.NewRequest("GET", urls, body)
5208	if err != nil {
5209		return nil, err
5210	}
5211	req.Header = reqHeaders
5212	googleapi.Expand(req.URL, map[string]string{
5213		"parent": c.parent,
5214	})
5215	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5216}
5217
5218// Do executes the "datacatalog.projects.locations.entryGroups.entries.list" call.
5219// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntriesResponse or
5220// error will be non-nil. Any non-2xx status code is an error. Response
5221// headers are in either
5222// *GoogleCloudDatacatalogV1beta1ListEntriesResponse.ServerResponse.Heade
5223// r or (if a response was returned at all) in
5224// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5225// whether the returned error was because http.StatusNotModified was
5226// returned.
5227func (c *ProjectsLocationsEntryGroupsEntriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntriesResponse, error) {
5228	gensupport.SetOptions(c.urlParams_, opts...)
5229	res, err := c.doRequest("json")
5230	if res != nil && res.StatusCode == http.StatusNotModified {
5231		if res.Body != nil {
5232			res.Body.Close()
5233		}
5234		return nil, &googleapi.Error{
5235			Code:   res.StatusCode,
5236			Header: res.Header,
5237		}
5238	}
5239	if err != nil {
5240		return nil, err
5241	}
5242	defer googleapi.CloseBody(res)
5243	if err := googleapi.CheckResponse(res); err != nil {
5244		return nil, err
5245	}
5246	ret := &GoogleCloudDatacatalogV1beta1ListEntriesResponse{
5247		ServerResponse: googleapi.ServerResponse{
5248			Header:         res.Header,
5249			HTTPStatusCode: res.StatusCode,
5250		},
5251	}
5252	target := &ret
5253	if err := gensupport.DecodeResponse(target, res); err != nil {
5254		return nil, err
5255	}
5256	return ret, nil
5257	// {
5258	//   "description": "Lists entries.",
5259	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
5260	//   "httpMethod": "GET",
5261	//   "id": "datacatalog.projects.locations.entryGroups.entries.list",
5262	//   "parameterOrder": [
5263	//     "parent"
5264	//   ],
5265	//   "parameters": {
5266	//     "pageSize": {
5267	//       "description": "The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
5268	//       "format": "int32",
5269	//       "location": "query",
5270	//       "type": "integer"
5271	//     },
5272	//     "pageToken": {
5273	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
5274	//       "location": "query",
5275	//       "type": "string"
5276	//     },
5277	//     "parent": {
5278	//       "description": "Required. The name of the entry group that contains the entries, which can\nbe provided in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
5279	//       "location": "path",
5280	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
5281	//       "required": true,
5282	//       "type": "string"
5283	//     },
5284	//     "readMask": {
5285	//       "description": "The fields to return for each Entry. If not set or empty, all\nfields are returned.\nFor example, setting read_mask to contain only one path \"name\" will cause\nListEntries to return a list of Entries with only \"name\" field.",
5286	//       "format": "google-fieldmask",
5287	//       "location": "query",
5288	//       "type": "string"
5289	//     }
5290	//   },
5291	//   "path": "v1beta1/{+parent}/entries",
5292	//   "response": {
5293	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse"
5294	//   },
5295	//   "scopes": [
5296	//     "https://www.googleapis.com/auth/cloud-platform"
5297	//   ]
5298	// }
5299
5300}
5301
5302// Pages invokes f for each page of results.
5303// A non-nil error returned from f will halt the iteration.
5304// The provided context supersedes any context provided to the Context method.
5305func (c *ProjectsLocationsEntryGroupsEntriesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntriesResponse) error) error {
5306	c.ctx_ = ctx
5307	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5308	for {
5309		x, err := c.Do()
5310		if err != nil {
5311			return err
5312		}
5313		if err := f(x); err != nil {
5314			return err
5315		}
5316		if x.NextPageToken == "" {
5317			return nil
5318		}
5319		c.PageToken(x.NextPageToken)
5320	}
5321}
5322
5323// method id "datacatalog.projects.locations.entryGroups.entries.patch":
5324
5325type ProjectsLocationsEntryGroupsEntriesPatchCall struct {
5326	s                                  *Service
5327	name                               string
5328	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
5329	urlParams_                         gensupport.URLParams
5330	ctx_                               context.Context
5331	header_                            http.Header
5332}
5333
5334// Patch: Updates an existing entry.
5335// Users should enable the Data Catalog API in the project identified
5336// by
5337// the `entry.name` parameter (see [Data Catalog Resource
5338// Project]
5339// (https://cloud.google.com/data-catalog/docs/concepts/resource
5340// -project) for
5341// more information).
5342func (r *ProjectsLocationsEntryGroupsEntriesService) Patch(name string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5343	c := &ProjectsLocationsEntryGroupsEntriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5344	c.name = name
5345	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
5346	return c
5347}
5348
5349// UpdateMask sets the optional parameter "updateMask": The fields to
5350// update on the entry. If absent or empty, all modifiable
5351// fields are updated.
5352//
5353// The following fields are modifiable:
5354// * For entries with type `DATA_STREAM`:
5355//    * `schema`
5356// * For entries with type `FILESET`
5357//    * `schema`
5358//    * `display_name`
5359//    * `description`
5360//    * `gcs_fileset_spec`
5361//    * `gcs_fileset_spec.file_patterns`
5362// * For entries with `user_specified_type`
5363//    * `schema`
5364//    * `display_name`
5365//    * `description`
5366//    * user_specified_type
5367//    * user_specified_system
5368//    * linked_resource
5369//    * source_system_timestamps
5370func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5371	c.urlParams_.Set("updateMask", updateMask)
5372	return c
5373}
5374
5375// Fields allows partial responses to be retrieved. See
5376// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5377// for more information.
5378func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5379	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5380	return c
5381}
5382
5383// Context sets the context to be used in this call's Do method. Any
5384// pending HTTP request will be aborted if the provided context is
5385// canceled.
5386func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesPatchCall {
5387	c.ctx_ = ctx
5388	return c
5389}
5390
5391// Header returns an http.Header that can be modified by the caller to
5392// add HTTP headers to the request.
5393func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Header() http.Header {
5394	if c.header_ == nil {
5395		c.header_ = make(http.Header)
5396	}
5397	return c.header_
5398}
5399
5400func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) doRequest(alt string) (*http.Response, error) {
5401	reqHeaders := make(http.Header)
5402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5403	for k, v := range c.header_ {
5404		reqHeaders[k] = v
5405	}
5406	reqHeaders.Set("User-Agent", c.s.userAgent())
5407	var body io.Reader = nil
5408	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
5409	if err != nil {
5410		return nil, err
5411	}
5412	reqHeaders.Set("Content-Type", "application/json")
5413	c.urlParams_.Set("alt", alt)
5414	c.urlParams_.Set("prettyPrint", "false")
5415	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5416	urls += "?" + c.urlParams_.Encode()
5417	req, err := http.NewRequest("PATCH", urls, body)
5418	if err != nil {
5419		return nil, err
5420	}
5421	req.Header = reqHeaders
5422	googleapi.Expand(req.URL, map[string]string{
5423		"name": c.name,
5424	})
5425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5426}
5427
5428// Do executes the "datacatalog.projects.locations.entryGroups.entries.patch" call.
5429// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
5430// non-nil. Any non-2xx status code is an error. Response headers are in
5431// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
5432// (if a response was returned at all) in
5433// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5434// whether the returned error was because http.StatusNotModified was
5435// returned.
5436func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
5437	gensupport.SetOptions(c.urlParams_, opts...)
5438	res, err := c.doRequest("json")
5439	if res != nil && res.StatusCode == http.StatusNotModified {
5440		if res.Body != nil {
5441			res.Body.Close()
5442		}
5443		return nil, &googleapi.Error{
5444			Code:   res.StatusCode,
5445			Header: res.Header,
5446		}
5447	}
5448	if err != nil {
5449		return nil, err
5450	}
5451	defer googleapi.CloseBody(res)
5452	if err := googleapi.CheckResponse(res); err != nil {
5453		return nil, err
5454	}
5455	ret := &GoogleCloudDatacatalogV1beta1Entry{
5456		ServerResponse: googleapi.ServerResponse{
5457			Header:         res.Header,
5458			HTTPStatusCode: res.StatusCode,
5459		},
5460	}
5461	target := &ret
5462	if err := gensupport.DecodeResponse(target, res); err != nil {
5463		return nil, err
5464	}
5465	return ret, nil
5466	// {
5467	//   "description": "Updates an existing entry.\nUsers should enable the Data Catalog API in the project identified by\nthe `entry.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
5468	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
5469	//   "httpMethod": "PATCH",
5470	//   "id": "datacatalog.projects.locations.entryGroups.entries.patch",
5471	//   "parameterOrder": [
5472	//     "name"
5473	//   ],
5474	//   "parameters": {
5475	//     "name": {
5476	//       "description": "The Data Catalog resource name of the entry in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
5477	//       "location": "path",
5478	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5479	//       "required": true,
5480	//       "type": "string"
5481	//     },
5482	//     "updateMask": {
5483	//       "description": "The fields to update on the entry. If absent or empty, all modifiable\nfields are updated.\n\nThe following fields are modifiable:\n* For entries with type `DATA_STREAM`:\n   * `schema`\n* For entries with type `FILESET`\n   * `schema`\n   * `display_name`\n   * `description`\n   * `gcs_fileset_spec`\n   * `gcs_fileset_spec.file_patterns`\n* For entries with `user_specified_type`\n   * `schema`\n   * `display_name`\n   * `description`\n   * user_specified_type\n   * user_specified_system\n   * linked_resource\n   * source_system_timestamps",
5484	//       "format": "google-fieldmask",
5485	//       "location": "query",
5486	//       "type": "string"
5487	//     }
5488	//   },
5489	//   "path": "v1beta1/{+name}",
5490	//   "request": {
5491	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5492	//   },
5493	//   "response": {
5494	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5495	//   },
5496	//   "scopes": [
5497	//     "https://www.googleapis.com/auth/cloud-platform"
5498	//   ]
5499	// }
5500
5501}
5502
5503// method id "datacatalog.projects.locations.entryGroups.entries.testIamPermissions":
5504
5505type ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall struct {
5506	s                         *Service
5507	resource                  string
5508	testiampermissionsrequest *TestIamPermissionsRequest
5509	urlParams_                gensupport.URLParams
5510	ctx_                      context.Context
5511	header_                   http.Header
5512}
5513
5514// TestIamPermissions: Returns the caller's permissions on a
5515// resource.
5516// If the resource does not exist, an empty set of permissions is
5517// returned
5518// (We don't return a `NOT_FOUND` error).
5519//
5520// Supported resources are:
5521//   - Tag templates.
5522//   - Entries.
5523//   - Entry groups.
5524// Note, this method cannot be used to manage policies for BigQuery,
5525// Pub/Sub
5526// and any external Google Cloud Platform resources synced to Data
5527// Catalog.
5528//
5529// A caller is not required to have Google IAM permission to make
5530// this
5531// request.
5532func (r *ProjectsLocationsEntryGroupsEntriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5533	c := &ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5534	c.resource = resource
5535	c.testiampermissionsrequest = testiampermissionsrequest
5536	return c
5537}
5538
5539// Fields allows partial responses to be retrieved. See
5540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5541// for more information.
5542func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5544	return c
5545}
5546
5547// Context sets the context to be used in this call's Do method. Any
5548// pending HTTP request will be aborted if the provided context is
5549// canceled.
5550func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5551	c.ctx_ = ctx
5552	return c
5553}
5554
5555// Header returns an http.Header that can be modified by the caller to
5556// add HTTP headers to the request.
5557func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Header() http.Header {
5558	if c.header_ == nil {
5559		c.header_ = make(http.Header)
5560	}
5561	return c.header_
5562}
5563
5564func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5565	reqHeaders := make(http.Header)
5566	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5567	for k, v := range c.header_ {
5568		reqHeaders[k] = v
5569	}
5570	reqHeaders.Set("User-Agent", c.s.userAgent())
5571	var body io.Reader = nil
5572	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
5573	if err != nil {
5574		return nil, err
5575	}
5576	reqHeaders.Set("Content-Type", "application/json")
5577	c.urlParams_.Set("alt", alt)
5578	c.urlParams_.Set("prettyPrint", "false")
5579	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
5580	urls += "?" + c.urlParams_.Encode()
5581	req, err := http.NewRequest("POST", urls, body)
5582	if err != nil {
5583		return nil, err
5584	}
5585	req.Header = reqHeaders
5586	googleapi.Expand(req.URL, map[string]string{
5587		"resource": c.resource,
5588	})
5589	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5590}
5591
5592// Do executes the "datacatalog.projects.locations.entryGroups.entries.testIamPermissions" call.
5593// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
5594// Any non-2xx status code is an error. Response headers are in either
5595// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
5596// was returned at all) in error.(*googleapi.Error).Header. Use
5597// googleapi.IsNotModified to check whether the returned error was
5598// because http.StatusNotModified was returned.
5599func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
5600	gensupport.SetOptions(c.urlParams_, opts...)
5601	res, err := c.doRequest("json")
5602	if res != nil && res.StatusCode == http.StatusNotModified {
5603		if res.Body != nil {
5604			res.Body.Close()
5605		}
5606		return nil, &googleapi.Error{
5607			Code:   res.StatusCode,
5608			Header: res.Header,
5609		}
5610	}
5611	if err != nil {
5612		return nil, err
5613	}
5614	defer googleapi.CloseBody(res)
5615	if err := googleapi.CheckResponse(res); err != nil {
5616		return nil, err
5617	}
5618	ret := &TestIamPermissionsResponse{
5619		ServerResponse: googleapi.ServerResponse{
5620			Header:         res.Header,
5621			HTTPStatusCode: res.StatusCode,
5622		},
5623	}
5624	target := &ret
5625	if err := gensupport.DecodeResponse(target, res); err != nil {
5626		return nil, err
5627	}
5628	return ret, nil
5629	// {
5630	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
5631	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
5632	//   "httpMethod": "POST",
5633	//   "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
5634	//   "parameterOrder": [
5635	//     "resource"
5636	//   ],
5637	//   "parameters": {
5638	//     "resource": {
5639	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
5640	//       "location": "path",
5641	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5642	//       "required": true,
5643	//       "type": "string"
5644	//     }
5645	//   },
5646	//   "path": "v1beta1/{+resource}:testIamPermissions",
5647	//   "request": {
5648	//     "$ref": "TestIamPermissionsRequest"
5649	//   },
5650	//   "response": {
5651	//     "$ref": "TestIamPermissionsResponse"
5652	//   },
5653	//   "scopes": [
5654	//     "https://www.googleapis.com/auth/cloud-platform"
5655	//   ]
5656	// }
5657
5658}
5659
5660// method id "datacatalog.projects.locations.entryGroups.entries.tags.create":
5661
5662type ProjectsLocationsEntryGroupsEntriesTagsCreateCall struct {
5663	s                                *Service
5664	parent                           string
5665	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5666	urlParams_                       gensupport.URLParams
5667	ctx_                             context.Context
5668	header_                          http.Header
5669}
5670
5671// Create: Creates a tag on an Entry.
5672// Note: The project identified by the `parent` parameter for
5673// the
5674// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1
5675// beta1/projects.locations.entryGroups.entries.tags/create#path-paramete
5676// rs)
5677// and
5678// the
5679// [tag
5680// template](https://cloud.google.com/data-catalog/docs/referenc
5681// e/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
5682//
5683// used to create the tag must be from the same organization.
5684func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5685	c := &ProjectsLocationsEntryGroupsEntriesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5686	c.parent = parent
5687	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5688	return c
5689}
5690
5691// Fields allows partial responses to be retrieved. See
5692// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5693// for more information.
5694func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5695	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5696	return c
5697}
5698
5699// Context sets the context to be used in this call's Do method. Any
5700// pending HTTP request will be aborted if the provided context is
5701// canceled.
5702func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5703	c.ctx_ = ctx
5704	return c
5705}
5706
5707// Header returns an http.Header that can be modified by the caller to
5708// add HTTP headers to the request.
5709func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Header() http.Header {
5710	if c.header_ == nil {
5711		c.header_ = make(http.Header)
5712	}
5713	return c.header_
5714}
5715
5716func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
5717	reqHeaders := make(http.Header)
5718	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5719	for k, v := range c.header_ {
5720		reqHeaders[k] = v
5721	}
5722	reqHeaders.Set("User-Agent", c.s.userAgent())
5723	var body io.Reader = nil
5724	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5725	if err != nil {
5726		return nil, err
5727	}
5728	reqHeaders.Set("Content-Type", "application/json")
5729	c.urlParams_.Set("alt", alt)
5730	c.urlParams_.Set("prettyPrint", "false")
5731	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5732	urls += "?" + c.urlParams_.Encode()
5733	req, err := http.NewRequest("POST", urls, body)
5734	if err != nil {
5735		return nil, err
5736	}
5737	req.Header = reqHeaders
5738	googleapi.Expand(req.URL, map[string]string{
5739		"parent": c.parent,
5740	})
5741	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5742}
5743
5744// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.create" call.
5745// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5746// non-nil. Any non-2xx status code is an error. Response headers are in
5747// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5748// a response was returned at all) in error.(*googleapi.Error).Header.
5749// Use googleapi.IsNotModified to check whether the returned error was
5750// because http.StatusNotModified was returned.
5751func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5752	gensupport.SetOptions(c.urlParams_, opts...)
5753	res, err := c.doRequest("json")
5754	if res != nil && res.StatusCode == http.StatusNotModified {
5755		if res.Body != nil {
5756			res.Body.Close()
5757		}
5758		return nil, &googleapi.Error{
5759			Code:   res.StatusCode,
5760			Header: res.Header,
5761		}
5762	}
5763	if err != nil {
5764		return nil, err
5765	}
5766	defer googleapi.CloseBody(res)
5767	if err := googleapi.CheckResponse(res); err != nil {
5768		return nil, err
5769	}
5770	ret := &GoogleCloudDatacatalogV1beta1Tag{
5771		ServerResponse: googleapi.ServerResponse{
5772			Header:         res.Header,
5773			HTTPStatusCode: res.StatusCode,
5774		},
5775	}
5776	target := &ret
5777	if err := gensupport.DecodeResponse(target, res); err != nil {
5778		return nil, err
5779	}
5780	return ret, nil
5781	// {
5782	//   "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
5783	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
5784	//   "httpMethod": "POST",
5785	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
5786	//   "parameterOrder": [
5787	//     "parent"
5788	//   ],
5789	//   "parameters": {
5790	//     "parent": {
5791	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
5792	//       "location": "path",
5793	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5794	//       "required": true,
5795	//       "type": "string"
5796	//     }
5797	//   },
5798	//   "path": "v1beta1/{+parent}/tags",
5799	//   "request": {
5800	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5801	//   },
5802	//   "response": {
5803	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5804	//   },
5805	//   "scopes": [
5806	//     "https://www.googleapis.com/auth/cloud-platform"
5807	//   ]
5808	// }
5809
5810}
5811
5812// method id "datacatalog.projects.locations.entryGroups.entries.tags.delete":
5813
5814type ProjectsLocationsEntryGroupsEntriesTagsDeleteCall struct {
5815	s          *Service
5816	name       string
5817	urlParams_ gensupport.URLParams
5818	ctx_       context.Context
5819	header_    http.Header
5820}
5821
5822// Delete: Deletes a tag.
5823func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5824	c := &ProjectsLocationsEntryGroupsEntriesTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5825	c.name = name
5826	return c
5827}
5828
5829// Fields allows partial responses to be retrieved. See
5830// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5831// for more information.
5832func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5833	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5834	return c
5835}
5836
5837// Context sets the context to be used in this call's Do method. Any
5838// pending HTTP request will be aborted if the provided context is
5839// canceled.
5840func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5841	c.ctx_ = ctx
5842	return c
5843}
5844
5845// Header returns an http.Header that can be modified by the caller to
5846// add HTTP headers to the request.
5847func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Header() http.Header {
5848	if c.header_ == nil {
5849		c.header_ = make(http.Header)
5850	}
5851	return c.header_
5852}
5853
5854func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
5855	reqHeaders := make(http.Header)
5856	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
5857	for k, v := range c.header_ {
5858		reqHeaders[k] = v
5859	}
5860	reqHeaders.Set("User-Agent", c.s.userAgent())
5861	var body io.Reader = nil
5862	c.urlParams_.Set("alt", alt)
5863	c.urlParams_.Set("prettyPrint", "false")
5864	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5865	urls += "?" + c.urlParams_.Encode()
5866	req, err := http.NewRequest("DELETE", urls, body)
5867	if err != nil {
5868		return nil, err
5869	}
5870	req.Header = reqHeaders
5871	googleapi.Expand(req.URL, map[string]string{
5872		"name": c.name,
5873	})
5874	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5875}
5876
5877// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.delete" call.
5878// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5879// code is an error. Response headers are in either
5880// *Empty.ServerResponse.Header or (if a response was returned at all)
5881// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5882// check whether the returned error was because http.StatusNotModified
5883// was returned.
5884func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
5885	gensupport.SetOptions(c.urlParams_, opts...)
5886	res, err := c.doRequest("json")
5887	if res != nil && res.StatusCode == http.StatusNotModified {
5888		if res.Body != nil {
5889			res.Body.Close()
5890		}
5891		return nil, &googleapi.Error{
5892			Code:   res.StatusCode,
5893			Header: res.Header,
5894		}
5895	}
5896	if err != nil {
5897		return nil, err
5898	}
5899	defer googleapi.CloseBody(res)
5900	if err := googleapi.CheckResponse(res); err != nil {
5901		return nil, err
5902	}
5903	ret := &Empty{
5904		ServerResponse: googleapi.ServerResponse{
5905			Header:         res.Header,
5906			HTTPStatusCode: res.StatusCode,
5907		},
5908	}
5909	target := &ret
5910	if err := gensupport.DecodeResponse(target, res); err != nil {
5911		return nil, err
5912	}
5913	return ret, nil
5914	// {
5915	//   "description": "Deletes a tag.",
5916	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
5917	//   "httpMethod": "DELETE",
5918	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.delete",
5919	//   "parameterOrder": [
5920	//     "name"
5921	//   ],
5922	//   "parameters": {
5923	//     "name": {
5924	//       "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
5925	//       "location": "path",
5926	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
5927	//       "required": true,
5928	//       "type": "string"
5929	//     }
5930	//   },
5931	//   "path": "v1beta1/{+name}",
5932	//   "response": {
5933	//     "$ref": "Empty"
5934	//   },
5935	//   "scopes": [
5936	//     "https://www.googleapis.com/auth/cloud-platform"
5937	//   ]
5938	// }
5939
5940}
5941
5942// method id "datacatalog.projects.locations.entryGroups.entries.tags.list":
5943
5944type ProjectsLocationsEntryGroupsEntriesTagsListCall struct {
5945	s            *Service
5946	parent       string
5947	urlParams_   gensupport.URLParams
5948	ifNoneMatch_ string
5949	ctx_         context.Context
5950	header_      http.Header
5951}
5952
5953// List: Lists the tags on an Entry.
5954func (r *ProjectsLocationsEntryGroupsEntriesTagsService) List(parent string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5955	c := &ProjectsLocationsEntryGroupsEntriesTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5956	c.parent = parent
5957	return c
5958}
5959
5960// PageSize sets the optional parameter "pageSize": The maximum number
5961// of tags to return. Default is 10. Max limit is 1000.
5962func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5963	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5964	return c
5965}
5966
5967// PageToken sets the optional parameter "pageToken": Token that
5968// specifies which page is requested. If empty, the first page
5969// is
5970// returned.
5971func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5972	c.urlParams_.Set("pageToken", pageToken)
5973	return c
5974}
5975
5976// Fields allows partial responses to be retrieved. See
5977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5978// for more information.
5979func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5981	return c
5982}
5983
5984// IfNoneMatch sets the optional parameter which makes the operation
5985// fail if the object's ETag matches the given value. This is useful for
5986// getting updates only after the object has changed since the last
5987// request. Use googleapi.IsNotModified to check whether the response
5988// error from Do is the result of In-None-Match.
5989func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5990	c.ifNoneMatch_ = entityTag
5991	return c
5992}
5993
5994// Context sets the context to be used in this call's Do method. Any
5995// pending HTTP request will be aborted if the provided context is
5996// canceled.
5997func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5998	c.ctx_ = ctx
5999	return c
6000}
6001
6002// Header returns an http.Header that can be modified by the caller to
6003// add HTTP headers to the request.
6004func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Header() http.Header {
6005	if c.header_ == nil {
6006		c.header_ = make(http.Header)
6007	}
6008	return c.header_
6009}
6010
6011func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) doRequest(alt string) (*http.Response, error) {
6012	reqHeaders := make(http.Header)
6013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6014	for k, v := range c.header_ {
6015		reqHeaders[k] = v
6016	}
6017	reqHeaders.Set("User-Agent", c.s.userAgent())
6018	if c.ifNoneMatch_ != "" {
6019		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6020	}
6021	var body io.Reader = nil
6022	c.urlParams_.Set("alt", alt)
6023	c.urlParams_.Set("prettyPrint", "false")
6024	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6025	urls += "?" + c.urlParams_.Encode()
6026	req, err := http.NewRequest("GET", urls, body)
6027	if err != nil {
6028		return nil, err
6029	}
6030	req.Header = reqHeaders
6031	googleapi.Expand(req.URL, map[string]string{
6032		"parent": c.parent,
6033	})
6034	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6035}
6036
6037// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.list" call.
6038// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
6039// error will be non-nil. Any non-2xx status code is an error. Response
6040// headers are in either
6041// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
6042// or (if a response was returned at all) in
6043// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6044// whether the returned error was because http.StatusNotModified was
6045// returned.
6046func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
6047	gensupport.SetOptions(c.urlParams_, opts...)
6048	res, err := c.doRequest("json")
6049	if res != nil && res.StatusCode == http.StatusNotModified {
6050		if res.Body != nil {
6051			res.Body.Close()
6052		}
6053		return nil, &googleapi.Error{
6054			Code:   res.StatusCode,
6055			Header: res.Header,
6056		}
6057	}
6058	if err != nil {
6059		return nil, err
6060	}
6061	defer googleapi.CloseBody(res)
6062	if err := googleapi.CheckResponse(res); err != nil {
6063		return nil, err
6064	}
6065	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
6066		ServerResponse: googleapi.ServerResponse{
6067			Header:         res.Header,
6068			HTTPStatusCode: res.StatusCode,
6069		},
6070	}
6071	target := &ret
6072	if err := gensupport.DecodeResponse(target, res); err != nil {
6073		return nil, err
6074	}
6075	return ret, nil
6076	// {
6077	//   "description": "Lists the tags on an Entry.",
6078	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
6079	//   "httpMethod": "GET",
6080	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.list",
6081	//   "parameterOrder": [
6082	//     "parent"
6083	//   ],
6084	//   "parameters": {
6085	//     "pageSize": {
6086	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
6087	//       "format": "int32",
6088	//       "location": "query",
6089	//       "type": "integer"
6090	//     },
6091	//     "pageToken": {
6092	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
6093	//       "location": "query",
6094	//       "type": "string"
6095	//     },
6096	//     "parent": {
6097	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
6098	//       "location": "path",
6099	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
6100	//       "required": true,
6101	//       "type": "string"
6102	//     }
6103	//   },
6104	//   "path": "v1beta1/{+parent}/tags",
6105	//   "response": {
6106	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
6107	//   },
6108	//   "scopes": [
6109	//     "https://www.googleapis.com/auth/cloud-platform"
6110	//   ]
6111	// }
6112
6113}
6114
6115// Pages invokes f for each page of results.
6116// A non-nil error returned from f will halt the iteration.
6117// The provided context supersedes any context provided to the Context method.
6118func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
6119	c.ctx_ = ctx
6120	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6121	for {
6122		x, err := c.Do()
6123		if err != nil {
6124			return err
6125		}
6126		if err := f(x); err != nil {
6127			return err
6128		}
6129		if x.NextPageToken == "" {
6130			return nil
6131		}
6132		c.PageToken(x.NextPageToken)
6133	}
6134}
6135
6136// method id "datacatalog.projects.locations.entryGroups.entries.tags.patch":
6137
6138type ProjectsLocationsEntryGroupsEntriesTagsPatchCall struct {
6139	s                                *Service
6140	nameid                           string
6141	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
6142	urlParams_                       gensupport.URLParams
6143	ctx_                             context.Context
6144	header_                          http.Header
6145}
6146
6147// Patch: Updates an existing tag.
6148func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
6149	c := &ProjectsLocationsEntryGroupsEntriesTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6150	c.nameid = nameid
6151	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
6152	return c
6153}
6154
6155// UpdateMask sets the optional parameter "updateMask": The fields to
6156// update on the Tag. If absent or empty, all modifiable fields
6157// are updated. Currently the only modifiable field is the field
6158// `fields`.
6159func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
6160	c.urlParams_.Set("updateMask", updateMask)
6161	return c
6162}
6163
6164// Fields allows partial responses to be retrieved. See
6165// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6166// for more information.
6167func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
6168	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6169	return c
6170}
6171
6172// Context sets the context to be used in this call's Do method. Any
6173// pending HTTP request will be aborted if the provided context is
6174// canceled.
6175func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
6176	c.ctx_ = ctx
6177	return c
6178}
6179
6180// Header returns an http.Header that can be modified by the caller to
6181// add HTTP headers to the request.
6182func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Header() http.Header {
6183	if c.header_ == nil {
6184		c.header_ = make(http.Header)
6185	}
6186	return c.header_
6187}
6188
6189func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) doRequest(alt string) (*http.Response, error) {
6190	reqHeaders := make(http.Header)
6191	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6192	for k, v := range c.header_ {
6193		reqHeaders[k] = v
6194	}
6195	reqHeaders.Set("User-Agent", c.s.userAgent())
6196	var body io.Reader = nil
6197	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6198	if err != nil {
6199		return nil, err
6200	}
6201	reqHeaders.Set("Content-Type", "application/json")
6202	c.urlParams_.Set("alt", alt)
6203	c.urlParams_.Set("prettyPrint", "false")
6204	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6205	urls += "?" + c.urlParams_.Encode()
6206	req, err := http.NewRequest("PATCH", urls, body)
6207	if err != nil {
6208		return nil, err
6209	}
6210	req.Header = reqHeaders
6211	googleapi.Expand(req.URL, map[string]string{
6212		"name": c.nameid,
6213	})
6214	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6215}
6216
6217// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.patch" call.
6218// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6219// non-nil. Any non-2xx status code is an error. Response headers are in
6220// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6221// a response was returned at all) in error.(*googleapi.Error).Header.
6222// Use googleapi.IsNotModified to check whether the returned error was
6223// because http.StatusNotModified was returned.
6224func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6225	gensupport.SetOptions(c.urlParams_, opts...)
6226	res, err := c.doRequest("json")
6227	if res != nil && res.StatusCode == http.StatusNotModified {
6228		if res.Body != nil {
6229			res.Body.Close()
6230		}
6231		return nil, &googleapi.Error{
6232			Code:   res.StatusCode,
6233			Header: res.Header,
6234		}
6235	}
6236	if err != nil {
6237		return nil, err
6238	}
6239	defer googleapi.CloseBody(res)
6240	if err := googleapi.CheckResponse(res); err != nil {
6241		return nil, err
6242	}
6243	ret := &GoogleCloudDatacatalogV1beta1Tag{
6244		ServerResponse: googleapi.ServerResponse{
6245			Header:         res.Header,
6246			HTTPStatusCode: res.StatusCode,
6247		},
6248	}
6249	target := &ret
6250	if err := gensupport.DecodeResponse(target, res); err != nil {
6251		return nil, err
6252	}
6253	return ret, nil
6254	// {
6255	//   "description": "Updates an existing tag.",
6256	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
6257	//   "httpMethod": "PATCH",
6258	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.patch",
6259	//   "parameterOrder": [
6260	//     "name"
6261	//   ],
6262	//   "parameters": {
6263	//     "name": {
6264	//       "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
6265	//       "location": "path",
6266	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
6267	//       "required": true,
6268	//       "type": "string"
6269	//     },
6270	//     "updateMask": {
6271	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
6272	//       "format": "google-fieldmask",
6273	//       "location": "query",
6274	//       "type": "string"
6275	//     }
6276	//   },
6277	//   "path": "v1beta1/{+name}",
6278	//   "request": {
6279	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6280	//   },
6281	//   "response": {
6282	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6283	//   },
6284	//   "scopes": [
6285	//     "https://www.googleapis.com/auth/cloud-platform"
6286	//   ]
6287	// }
6288
6289}
6290
6291// method id "datacatalog.projects.locations.entryGroups.tags.create":
6292
6293type ProjectsLocationsEntryGroupsTagsCreateCall struct {
6294	s                                *Service
6295	parent                           string
6296	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
6297	urlParams_                       gensupport.URLParams
6298	ctx_                             context.Context
6299	header_                          http.Header
6300}
6301
6302// Create: Creates a tag on an Entry.
6303// Note: The project identified by the `parent` parameter for
6304// the
6305// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1
6306// beta1/projects.locations.entryGroups.entries.tags/create#path-paramete
6307// rs)
6308// and
6309// the
6310// [tag
6311// template](https://cloud.google.com/data-catalog/docs/referenc
6312// e/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
6313//
6314// used to create the tag must be from the same organization.
6315func (r *ProjectsLocationsEntryGroupsTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsCreateCall {
6316	c := &ProjectsLocationsEntryGroupsTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6317	c.parent = parent
6318	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
6319	return c
6320}
6321
6322// Fields allows partial responses to be retrieved. See
6323// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6324// for more information.
6325func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsCreateCall {
6326	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6327	return c
6328}
6329
6330// Context sets the context to be used in this call's Do method. Any
6331// pending HTTP request will be aborted if the provided context is
6332// canceled.
6333func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsCreateCall {
6334	c.ctx_ = ctx
6335	return c
6336}
6337
6338// Header returns an http.Header that can be modified by the caller to
6339// add HTTP headers to the request.
6340func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Header() http.Header {
6341	if c.header_ == nil {
6342		c.header_ = make(http.Header)
6343	}
6344	return c.header_
6345}
6346
6347func (c *ProjectsLocationsEntryGroupsTagsCreateCall) doRequest(alt string) (*http.Response, error) {
6348	reqHeaders := make(http.Header)
6349	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6350	for k, v := range c.header_ {
6351		reqHeaders[k] = v
6352	}
6353	reqHeaders.Set("User-Agent", c.s.userAgent())
6354	var body io.Reader = nil
6355	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6356	if err != nil {
6357		return nil, err
6358	}
6359	reqHeaders.Set("Content-Type", "application/json")
6360	c.urlParams_.Set("alt", alt)
6361	c.urlParams_.Set("prettyPrint", "false")
6362	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6363	urls += "?" + c.urlParams_.Encode()
6364	req, err := http.NewRequest("POST", urls, body)
6365	if err != nil {
6366		return nil, err
6367	}
6368	req.Header = reqHeaders
6369	googleapi.Expand(req.URL, map[string]string{
6370		"parent": c.parent,
6371	})
6372	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6373}
6374
6375// Do executes the "datacatalog.projects.locations.entryGroups.tags.create" call.
6376// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6377// non-nil. Any non-2xx status code is an error. Response headers are in
6378// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6379// a response was returned at all) in error.(*googleapi.Error).Header.
6380// Use googleapi.IsNotModified to check whether the returned error was
6381// because http.StatusNotModified was returned.
6382func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6383	gensupport.SetOptions(c.urlParams_, opts...)
6384	res, err := c.doRequest("json")
6385	if res != nil && res.StatusCode == http.StatusNotModified {
6386		if res.Body != nil {
6387			res.Body.Close()
6388		}
6389		return nil, &googleapi.Error{
6390			Code:   res.StatusCode,
6391			Header: res.Header,
6392		}
6393	}
6394	if err != nil {
6395		return nil, err
6396	}
6397	defer googleapi.CloseBody(res)
6398	if err := googleapi.CheckResponse(res); err != nil {
6399		return nil, err
6400	}
6401	ret := &GoogleCloudDatacatalogV1beta1Tag{
6402		ServerResponse: googleapi.ServerResponse{
6403			Header:         res.Header,
6404			HTTPStatusCode: res.StatusCode,
6405		},
6406	}
6407	target := &ret
6408	if err := gensupport.DecodeResponse(target, res); err != nil {
6409		return nil, err
6410	}
6411	return ret, nil
6412	// {
6413	//   "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
6414	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
6415	//   "httpMethod": "POST",
6416	//   "id": "datacatalog.projects.locations.entryGroups.tags.create",
6417	//   "parameterOrder": [
6418	//     "parent"
6419	//   ],
6420	//   "parameters": {
6421	//     "parent": {
6422	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
6423	//       "location": "path",
6424	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
6425	//       "required": true,
6426	//       "type": "string"
6427	//     }
6428	//   },
6429	//   "path": "v1beta1/{+parent}/tags",
6430	//   "request": {
6431	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6432	//   },
6433	//   "response": {
6434	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6435	//   },
6436	//   "scopes": [
6437	//     "https://www.googleapis.com/auth/cloud-platform"
6438	//   ]
6439	// }
6440
6441}
6442
6443// method id "datacatalog.projects.locations.entryGroups.tags.delete":
6444
6445type ProjectsLocationsEntryGroupsTagsDeleteCall struct {
6446	s          *Service
6447	name       string
6448	urlParams_ gensupport.URLParams
6449	ctx_       context.Context
6450	header_    http.Header
6451}
6452
6453// Delete: Deletes a tag.
6454func (r *ProjectsLocationsEntryGroupsTagsService) Delete(name string) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6455	c := &ProjectsLocationsEntryGroupsTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6456	c.name = name
6457	return c
6458}
6459
6460// Fields allows partial responses to be retrieved. See
6461// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6462// for more information.
6463func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6464	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6465	return c
6466}
6467
6468// Context sets the context to be used in this call's Do method. Any
6469// pending HTTP request will be aborted if the provided context is
6470// canceled.
6471func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6472	c.ctx_ = ctx
6473	return c
6474}
6475
6476// Header returns an http.Header that can be modified by the caller to
6477// add HTTP headers to the request.
6478func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Header() http.Header {
6479	if c.header_ == nil {
6480		c.header_ = make(http.Header)
6481	}
6482	return c.header_
6483}
6484
6485func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
6486	reqHeaders := make(http.Header)
6487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6488	for k, v := range c.header_ {
6489		reqHeaders[k] = v
6490	}
6491	reqHeaders.Set("User-Agent", c.s.userAgent())
6492	var body io.Reader = nil
6493	c.urlParams_.Set("alt", alt)
6494	c.urlParams_.Set("prettyPrint", "false")
6495	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6496	urls += "?" + c.urlParams_.Encode()
6497	req, err := http.NewRequest("DELETE", urls, body)
6498	if err != nil {
6499		return nil, err
6500	}
6501	req.Header = reqHeaders
6502	googleapi.Expand(req.URL, map[string]string{
6503		"name": c.name,
6504	})
6505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6506}
6507
6508// Do executes the "datacatalog.projects.locations.entryGroups.tags.delete" call.
6509// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6510// code is an error. Response headers are in either
6511// *Empty.ServerResponse.Header or (if a response was returned at all)
6512// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6513// check whether the returned error was because http.StatusNotModified
6514// was returned.
6515func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6516	gensupport.SetOptions(c.urlParams_, opts...)
6517	res, err := c.doRequest("json")
6518	if res != nil && res.StatusCode == http.StatusNotModified {
6519		if res.Body != nil {
6520			res.Body.Close()
6521		}
6522		return nil, &googleapi.Error{
6523			Code:   res.StatusCode,
6524			Header: res.Header,
6525		}
6526	}
6527	if err != nil {
6528		return nil, err
6529	}
6530	defer googleapi.CloseBody(res)
6531	if err := googleapi.CheckResponse(res); err != nil {
6532		return nil, err
6533	}
6534	ret := &Empty{
6535		ServerResponse: googleapi.ServerResponse{
6536			Header:         res.Header,
6537			HTTPStatusCode: res.StatusCode,
6538		},
6539	}
6540	target := &ret
6541	if err := gensupport.DecodeResponse(target, res); err != nil {
6542		return nil, err
6543	}
6544	return ret, nil
6545	// {
6546	//   "description": "Deletes a tag.",
6547	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6548	//   "httpMethod": "DELETE",
6549	//   "id": "datacatalog.projects.locations.entryGroups.tags.delete",
6550	//   "parameterOrder": [
6551	//     "name"
6552	//   ],
6553	//   "parameters": {
6554	//     "name": {
6555	//       "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
6556	//       "location": "path",
6557	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6558	//       "required": true,
6559	//       "type": "string"
6560	//     }
6561	//   },
6562	//   "path": "v1beta1/{+name}",
6563	//   "response": {
6564	//     "$ref": "Empty"
6565	//   },
6566	//   "scopes": [
6567	//     "https://www.googleapis.com/auth/cloud-platform"
6568	//   ]
6569	// }
6570
6571}
6572
6573// method id "datacatalog.projects.locations.entryGroups.tags.list":
6574
6575type ProjectsLocationsEntryGroupsTagsListCall struct {
6576	s            *Service
6577	parent       string
6578	urlParams_   gensupport.URLParams
6579	ifNoneMatch_ string
6580	ctx_         context.Context
6581	header_      http.Header
6582}
6583
6584// List: Lists the tags on an Entry.
6585func (r *ProjectsLocationsEntryGroupsTagsService) List(parent string) *ProjectsLocationsEntryGroupsTagsListCall {
6586	c := &ProjectsLocationsEntryGroupsTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6587	c.parent = parent
6588	return c
6589}
6590
6591// PageSize sets the optional parameter "pageSize": The maximum number
6592// of tags to return. Default is 10. Max limit is 1000.
6593func (c *ProjectsLocationsEntryGroupsTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsTagsListCall {
6594	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6595	return c
6596}
6597
6598// PageToken sets the optional parameter "pageToken": Token that
6599// specifies which page is requested. If empty, the first page
6600// is
6601// returned.
6602func (c *ProjectsLocationsEntryGroupsTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsTagsListCall {
6603	c.urlParams_.Set("pageToken", pageToken)
6604	return c
6605}
6606
6607// Fields allows partial responses to be retrieved. See
6608// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6609// for more information.
6610func (c *ProjectsLocationsEntryGroupsTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsListCall {
6611	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6612	return c
6613}
6614
6615// IfNoneMatch sets the optional parameter which makes the operation
6616// fail if the object's ETag matches the given value. This is useful for
6617// getting updates only after the object has changed since the last
6618// request. Use googleapi.IsNotModified to check whether the response
6619// error from Do is the result of In-None-Match.
6620func (c *ProjectsLocationsEntryGroupsTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsTagsListCall {
6621	c.ifNoneMatch_ = entityTag
6622	return c
6623}
6624
6625// Context sets the context to be used in this call's Do method. Any
6626// pending HTTP request will be aborted if the provided context is
6627// canceled.
6628func (c *ProjectsLocationsEntryGroupsTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsListCall {
6629	c.ctx_ = ctx
6630	return c
6631}
6632
6633// Header returns an http.Header that can be modified by the caller to
6634// add HTTP headers to the request.
6635func (c *ProjectsLocationsEntryGroupsTagsListCall) Header() http.Header {
6636	if c.header_ == nil {
6637		c.header_ = make(http.Header)
6638	}
6639	return c.header_
6640}
6641
6642func (c *ProjectsLocationsEntryGroupsTagsListCall) doRequest(alt string) (*http.Response, error) {
6643	reqHeaders := make(http.Header)
6644	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6645	for k, v := range c.header_ {
6646		reqHeaders[k] = v
6647	}
6648	reqHeaders.Set("User-Agent", c.s.userAgent())
6649	if c.ifNoneMatch_ != "" {
6650		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6651	}
6652	var body io.Reader = nil
6653	c.urlParams_.Set("alt", alt)
6654	c.urlParams_.Set("prettyPrint", "false")
6655	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6656	urls += "?" + c.urlParams_.Encode()
6657	req, err := http.NewRequest("GET", urls, body)
6658	if err != nil {
6659		return nil, err
6660	}
6661	req.Header = reqHeaders
6662	googleapi.Expand(req.URL, map[string]string{
6663		"parent": c.parent,
6664	})
6665	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6666}
6667
6668// Do executes the "datacatalog.projects.locations.entryGroups.tags.list" call.
6669// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
6670// error will be non-nil. Any non-2xx status code is an error. Response
6671// headers are in either
6672// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
6673// or (if a response was returned at all) in
6674// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6675// whether the returned error was because http.StatusNotModified was
6676// returned.
6677func (c *ProjectsLocationsEntryGroupsTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
6678	gensupport.SetOptions(c.urlParams_, opts...)
6679	res, err := c.doRequest("json")
6680	if res != nil && res.StatusCode == http.StatusNotModified {
6681		if res.Body != nil {
6682			res.Body.Close()
6683		}
6684		return nil, &googleapi.Error{
6685			Code:   res.StatusCode,
6686			Header: res.Header,
6687		}
6688	}
6689	if err != nil {
6690		return nil, err
6691	}
6692	defer googleapi.CloseBody(res)
6693	if err := googleapi.CheckResponse(res); err != nil {
6694		return nil, err
6695	}
6696	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
6697		ServerResponse: googleapi.ServerResponse{
6698			Header:         res.Header,
6699			HTTPStatusCode: res.StatusCode,
6700		},
6701	}
6702	target := &ret
6703	if err := gensupport.DecodeResponse(target, res); err != nil {
6704		return nil, err
6705	}
6706	return ret, nil
6707	// {
6708	//   "description": "Lists the tags on an Entry.",
6709	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
6710	//   "httpMethod": "GET",
6711	//   "id": "datacatalog.projects.locations.entryGroups.tags.list",
6712	//   "parameterOrder": [
6713	//     "parent"
6714	//   ],
6715	//   "parameters": {
6716	//     "pageSize": {
6717	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
6718	//       "format": "int32",
6719	//       "location": "query",
6720	//       "type": "integer"
6721	//     },
6722	//     "pageToken": {
6723	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
6724	//       "location": "query",
6725	//       "type": "string"
6726	//     },
6727	//     "parent": {
6728	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
6729	//       "location": "path",
6730	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
6731	//       "required": true,
6732	//       "type": "string"
6733	//     }
6734	//   },
6735	//   "path": "v1beta1/{+parent}/tags",
6736	//   "response": {
6737	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
6738	//   },
6739	//   "scopes": [
6740	//     "https://www.googleapis.com/auth/cloud-platform"
6741	//   ]
6742	// }
6743
6744}
6745
6746// Pages invokes f for each page of results.
6747// A non-nil error returned from f will halt the iteration.
6748// The provided context supersedes any context provided to the Context method.
6749func (c *ProjectsLocationsEntryGroupsTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
6750	c.ctx_ = ctx
6751	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6752	for {
6753		x, err := c.Do()
6754		if err != nil {
6755			return err
6756		}
6757		if err := f(x); err != nil {
6758			return err
6759		}
6760		if x.NextPageToken == "" {
6761			return nil
6762		}
6763		c.PageToken(x.NextPageToken)
6764	}
6765}
6766
6767// method id "datacatalog.projects.locations.entryGroups.tags.patch":
6768
6769type ProjectsLocationsEntryGroupsTagsPatchCall struct {
6770	s                                *Service
6771	nameid                           string
6772	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
6773	urlParams_                       gensupport.URLParams
6774	ctx_                             context.Context
6775	header_                          http.Header
6776}
6777
6778// Patch: Updates an existing tag.
6779func (r *ProjectsLocationsEntryGroupsTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsPatchCall {
6780	c := &ProjectsLocationsEntryGroupsTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6781	c.nameid = nameid
6782	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
6783	return c
6784}
6785
6786// UpdateMask sets the optional parameter "updateMask": The fields to
6787// update on the Tag. If absent or empty, all modifiable fields
6788// are updated. Currently the only modifiable field is the field
6789// `fields`.
6790func (c *ProjectsLocationsEntryGroupsTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsTagsPatchCall {
6791	c.urlParams_.Set("updateMask", updateMask)
6792	return c
6793}
6794
6795// Fields allows partial responses to be retrieved. See
6796// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6797// for more information.
6798func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsPatchCall {
6799	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6800	return c
6801}
6802
6803// Context sets the context to be used in this call's Do method. Any
6804// pending HTTP request will be aborted if the provided context is
6805// canceled.
6806func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsPatchCall {
6807	c.ctx_ = ctx
6808	return c
6809}
6810
6811// Header returns an http.Header that can be modified by the caller to
6812// add HTTP headers to the request.
6813func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Header() http.Header {
6814	if c.header_ == nil {
6815		c.header_ = make(http.Header)
6816	}
6817	return c.header_
6818}
6819
6820func (c *ProjectsLocationsEntryGroupsTagsPatchCall) doRequest(alt string) (*http.Response, error) {
6821	reqHeaders := make(http.Header)
6822	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6823	for k, v := range c.header_ {
6824		reqHeaders[k] = v
6825	}
6826	reqHeaders.Set("User-Agent", c.s.userAgent())
6827	var body io.Reader = nil
6828	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6829	if err != nil {
6830		return nil, err
6831	}
6832	reqHeaders.Set("Content-Type", "application/json")
6833	c.urlParams_.Set("alt", alt)
6834	c.urlParams_.Set("prettyPrint", "false")
6835	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6836	urls += "?" + c.urlParams_.Encode()
6837	req, err := http.NewRequest("PATCH", urls, body)
6838	if err != nil {
6839		return nil, err
6840	}
6841	req.Header = reqHeaders
6842	googleapi.Expand(req.URL, map[string]string{
6843		"name": c.nameid,
6844	})
6845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6846}
6847
6848// Do executes the "datacatalog.projects.locations.entryGroups.tags.patch" call.
6849// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6850// non-nil. Any non-2xx status code is an error. Response headers are in
6851// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6852// a response was returned at all) in error.(*googleapi.Error).Header.
6853// Use googleapi.IsNotModified to check whether the returned error was
6854// because http.StatusNotModified was returned.
6855func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6856	gensupport.SetOptions(c.urlParams_, opts...)
6857	res, err := c.doRequest("json")
6858	if res != nil && res.StatusCode == http.StatusNotModified {
6859		if res.Body != nil {
6860			res.Body.Close()
6861		}
6862		return nil, &googleapi.Error{
6863			Code:   res.StatusCode,
6864			Header: res.Header,
6865		}
6866	}
6867	if err != nil {
6868		return nil, err
6869	}
6870	defer googleapi.CloseBody(res)
6871	if err := googleapi.CheckResponse(res); err != nil {
6872		return nil, err
6873	}
6874	ret := &GoogleCloudDatacatalogV1beta1Tag{
6875		ServerResponse: googleapi.ServerResponse{
6876			Header:         res.Header,
6877			HTTPStatusCode: res.StatusCode,
6878		},
6879	}
6880	target := &ret
6881	if err := gensupport.DecodeResponse(target, res); err != nil {
6882		return nil, err
6883	}
6884	return ret, nil
6885	// {
6886	//   "description": "Updates an existing tag.",
6887	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6888	//   "httpMethod": "PATCH",
6889	//   "id": "datacatalog.projects.locations.entryGroups.tags.patch",
6890	//   "parameterOrder": [
6891	//     "name"
6892	//   ],
6893	//   "parameters": {
6894	//     "name": {
6895	//       "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
6896	//       "location": "path",
6897	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6898	//       "required": true,
6899	//       "type": "string"
6900	//     },
6901	//     "updateMask": {
6902	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
6903	//       "format": "google-fieldmask",
6904	//       "location": "query",
6905	//       "type": "string"
6906	//     }
6907	//   },
6908	//   "path": "v1beta1/{+name}",
6909	//   "request": {
6910	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6911	//   },
6912	//   "response": {
6913	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6914	//   },
6915	//   "scopes": [
6916	//     "https://www.googleapis.com/auth/cloud-platform"
6917	//   ]
6918	// }
6919
6920}
6921
6922// method id "datacatalog.projects.locations.tagTemplates.create":
6923
6924type ProjectsLocationsTagTemplatesCreateCall struct {
6925	s                                        *Service
6926	parent                                   string
6927	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
6928	urlParams_                               gensupport.URLParams
6929	ctx_                                     context.Context
6930	header_                                  http.Header
6931}
6932
6933// Create: Creates a tag template. The user should enable the Data
6934// Catalog API in
6935// the project identified by the `parent` parameter (see [Data
6936// Catalog
6937// Resource
6938// Project](https://cloud.google.com/data-catalog/docs/c
6939// oncepts/resource-project)
6940// for more information).
6941func (r *ProjectsLocationsTagTemplatesService) Create(parent string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesCreateCall {
6942	c := &ProjectsLocationsTagTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6943	c.parent = parent
6944	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
6945	return c
6946}
6947
6948// TagTemplateId sets the optional parameter "tagTemplateId": Required.
6949// The id of the tag template to create.
6950func (c *ProjectsLocationsTagTemplatesCreateCall) TagTemplateId(tagTemplateId string) *ProjectsLocationsTagTemplatesCreateCall {
6951	c.urlParams_.Set("tagTemplateId", tagTemplateId)
6952	return c
6953}
6954
6955// Fields allows partial responses to be retrieved. See
6956// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6957// for more information.
6958func (c *ProjectsLocationsTagTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesCreateCall {
6959	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6960	return c
6961}
6962
6963// Context sets the context to be used in this call's Do method. Any
6964// pending HTTP request will be aborted if the provided context is
6965// canceled.
6966func (c *ProjectsLocationsTagTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesCreateCall {
6967	c.ctx_ = ctx
6968	return c
6969}
6970
6971// Header returns an http.Header that can be modified by the caller to
6972// add HTTP headers to the request.
6973func (c *ProjectsLocationsTagTemplatesCreateCall) Header() http.Header {
6974	if c.header_ == nil {
6975		c.header_ = make(http.Header)
6976	}
6977	return c.header_
6978}
6979
6980func (c *ProjectsLocationsTagTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
6981	reqHeaders := make(http.Header)
6982	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
6983	for k, v := range c.header_ {
6984		reqHeaders[k] = v
6985	}
6986	reqHeaders.Set("User-Agent", c.s.userAgent())
6987	var body io.Reader = nil
6988	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
6989	if err != nil {
6990		return nil, err
6991	}
6992	reqHeaders.Set("Content-Type", "application/json")
6993	c.urlParams_.Set("alt", alt)
6994	c.urlParams_.Set("prettyPrint", "false")
6995	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tagTemplates")
6996	urls += "?" + c.urlParams_.Encode()
6997	req, err := http.NewRequest("POST", urls, body)
6998	if err != nil {
6999		return nil, err
7000	}
7001	req.Header = reqHeaders
7002	googleapi.Expand(req.URL, map[string]string{
7003		"parent": c.parent,
7004	})
7005	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7006}
7007
7008// Do executes the "datacatalog.projects.locations.tagTemplates.create" call.
7009// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
7010// will be non-nil. Any non-2xx status code is an error. Response
7011// headers are in either
7012// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7013// (if a response was returned at all) in
7014// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7015// whether the returned error was because http.StatusNotModified was
7016// returned.
7017func (c *ProjectsLocationsTagTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7018	gensupport.SetOptions(c.urlParams_, opts...)
7019	res, err := c.doRequest("json")
7020	if res != nil && res.StatusCode == http.StatusNotModified {
7021		if res.Body != nil {
7022			res.Body.Close()
7023		}
7024		return nil, &googleapi.Error{
7025			Code:   res.StatusCode,
7026			Header: res.Header,
7027		}
7028	}
7029	if err != nil {
7030		return nil, err
7031	}
7032	defer googleapi.CloseBody(res)
7033	if err := googleapi.CheckResponse(res); err != nil {
7034		return nil, err
7035	}
7036	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7037		ServerResponse: googleapi.ServerResponse{
7038			Header:         res.Header,
7039			HTTPStatusCode: res.StatusCode,
7040		},
7041	}
7042	target := &ret
7043	if err := gensupport.DecodeResponse(target, res); err != nil {
7044		return nil, err
7045	}
7046	return ret, nil
7047	// {
7048	//   "description": "Creates a tag template. The user should enable the Data Catalog API in\nthe project identified by the `parent` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
7049	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
7050	//   "httpMethod": "POST",
7051	//   "id": "datacatalog.projects.locations.tagTemplates.create",
7052	//   "parameterOrder": [
7053	//     "parent"
7054	//   ],
7055	//   "parameters": {
7056	//     "parent": {
7057	//       "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions.\n\nExample:\n\n* projects/{project_id}/locations/us-central1",
7058	//       "location": "path",
7059	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
7060	//       "required": true,
7061	//       "type": "string"
7062	//     },
7063	//     "tagTemplateId": {
7064	//       "description": "Required. The id of the tag template to create.",
7065	//       "location": "query",
7066	//       "type": "string"
7067	//     }
7068	//   },
7069	//   "path": "v1beta1/{+parent}/tagTemplates",
7070	//   "request": {
7071	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7072	//   },
7073	//   "response": {
7074	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7075	//   },
7076	//   "scopes": [
7077	//     "https://www.googleapis.com/auth/cloud-platform"
7078	//   ]
7079	// }
7080
7081}
7082
7083// method id "datacatalog.projects.locations.tagTemplates.delete":
7084
7085type ProjectsLocationsTagTemplatesDeleteCall struct {
7086	s          *Service
7087	name       string
7088	urlParams_ gensupport.URLParams
7089	ctx_       context.Context
7090	header_    http.Header
7091}
7092
7093// Delete: Deletes a tag template and all tags using the template.
7094// Users should enable the Data Catalog API in the project identified
7095// by
7096// the `name` parameter (see [Data Catalog Resource
7097// Project]
7098// (https://cloud.google.com/data-catalog/docs/concepts/resource
7099// -project) for
7100// more information).
7101func (r *ProjectsLocationsTagTemplatesService) Delete(name string) *ProjectsLocationsTagTemplatesDeleteCall {
7102	c := &ProjectsLocationsTagTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7103	c.name = name
7104	return c
7105}
7106
7107// Force sets the optional parameter "force": Required. Currently, this
7108// field must always be set to `true`.
7109// This confirms the deletion of any possible tags using this
7110// template.
7111// `force = false` will be supported in the future.
7112func (c *ProjectsLocationsTagTemplatesDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesDeleteCall {
7113	c.urlParams_.Set("force", fmt.Sprint(force))
7114	return c
7115}
7116
7117// Fields allows partial responses to be retrieved. See
7118// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7119// for more information.
7120func (c *ProjectsLocationsTagTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesDeleteCall {
7121	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7122	return c
7123}
7124
7125// Context sets the context to be used in this call's Do method. Any
7126// pending HTTP request will be aborted if the provided context is
7127// canceled.
7128func (c *ProjectsLocationsTagTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesDeleteCall {
7129	c.ctx_ = ctx
7130	return c
7131}
7132
7133// Header returns an http.Header that can be modified by the caller to
7134// add HTTP headers to the request.
7135func (c *ProjectsLocationsTagTemplatesDeleteCall) Header() http.Header {
7136	if c.header_ == nil {
7137		c.header_ = make(http.Header)
7138	}
7139	return c.header_
7140}
7141
7142func (c *ProjectsLocationsTagTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
7143	reqHeaders := make(http.Header)
7144	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7145	for k, v := range c.header_ {
7146		reqHeaders[k] = v
7147	}
7148	reqHeaders.Set("User-Agent", c.s.userAgent())
7149	var body io.Reader = nil
7150	c.urlParams_.Set("alt", alt)
7151	c.urlParams_.Set("prettyPrint", "false")
7152	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7153	urls += "?" + c.urlParams_.Encode()
7154	req, err := http.NewRequest("DELETE", urls, body)
7155	if err != nil {
7156		return nil, err
7157	}
7158	req.Header = reqHeaders
7159	googleapi.Expand(req.URL, map[string]string{
7160		"name": c.name,
7161	})
7162	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7163}
7164
7165// Do executes the "datacatalog.projects.locations.tagTemplates.delete" call.
7166// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7167// code is an error. Response headers are in either
7168// *Empty.ServerResponse.Header or (if a response was returned at all)
7169// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7170// check whether the returned error was because http.StatusNotModified
7171// was returned.
7172func (c *ProjectsLocationsTagTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7173	gensupport.SetOptions(c.urlParams_, opts...)
7174	res, err := c.doRequest("json")
7175	if res != nil && res.StatusCode == http.StatusNotModified {
7176		if res.Body != nil {
7177			res.Body.Close()
7178		}
7179		return nil, &googleapi.Error{
7180			Code:   res.StatusCode,
7181			Header: res.Header,
7182		}
7183	}
7184	if err != nil {
7185		return nil, err
7186	}
7187	defer googleapi.CloseBody(res)
7188	if err := googleapi.CheckResponse(res); err != nil {
7189		return nil, err
7190	}
7191	ret := &Empty{
7192		ServerResponse: googleapi.ServerResponse{
7193			Header:         res.Header,
7194			HTTPStatusCode: res.StatusCode,
7195		},
7196	}
7197	target := &ret
7198	if err := gensupport.DecodeResponse(target, res); err != nil {
7199		return nil, err
7200	}
7201	return ret, nil
7202	// {
7203	//   "description": "Deletes a tag template and all tags using the template.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
7204	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7205	//   "httpMethod": "DELETE",
7206	//   "id": "datacatalog.projects.locations.tagTemplates.delete",
7207	//   "parameterOrder": [
7208	//     "name"
7209	//   ],
7210	//   "parameters": {
7211	//     "force": {
7212	//       "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of any possible tags using this template.\n`force = false` will be supported in the future.",
7213	//       "location": "query",
7214	//       "type": "boolean"
7215	//     },
7216	//     "name": {
7217	//       "description": "Required. The name of the tag template to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
7218	//       "location": "path",
7219	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7220	//       "required": true,
7221	//       "type": "string"
7222	//     }
7223	//   },
7224	//   "path": "v1beta1/{+name}",
7225	//   "response": {
7226	//     "$ref": "Empty"
7227	//   },
7228	//   "scopes": [
7229	//     "https://www.googleapis.com/auth/cloud-platform"
7230	//   ]
7231	// }
7232
7233}
7234
7235// method id "datacatalog.projects.locations.tagTemplates.get":
7236
7237type ProjectsLocationsTagTemplatesGetCall struct {
7238	s            *Service
7239	name         string
7240	urlParams_   gensupport.URLParams
7241	ifNoneMatch_ string
7242	ctx_         context.Context
7243	header_      http.Header
7244}
7245
7246// Get: Gets a tag template.
7247func (r *ProjectsLocationsTagTemplatesService) Get(name string) *ProjectsLocationsTagTemplatesGetCall {
7248	c := &ProjectsLocationsTagTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7249	c.name = name
7250	return c
7251}
7252
7253// Fields allows partial responses to be retrieved. See
7254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7255// for more information.
7256func (c *ProjectsLocationsTagTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetCall {
7257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7258	return c
7259}
7260
7261// IfNoneMatch sets the optional parameter which makes the operation
7262// fail if the object's ETag matches the given value. This is useful for
7263// getting updates only after the object has changed since the last
7264// request. Use googleapi.IsNotModified to check whether the response
7265// error from Do is the result of In-None-Match.
7266func (c *ProjectsLocationsTagTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTagTemplatesGetCall {
7267	c.ifNoneMatch_ = entityTag
7268	return c
7269}
7270
7271// Context sets the context to be used in this call's Do method. Any
7272// pending HTTP request will be aborted if the provided context is
7273// canceled.
7274func (c *ProjectsLocationsTagTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetCall {
7275	c.ctx_ = ctx
7276	return c
7277}
7278
7279// Header returns an http.Header that can be modified by the caller to
7280// add HTTP headers to the request.
7281func (c *ProjectsLocationsTagTemplatesGetCall) Header() http.Header {
7282	if c.header_ == nil {
7283		c.header_ = make(http.Header)
7284	}
7285	return c.header_
7286}
7287
7288func (c *ProjectsLocationsTagTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
7289	reqHeaders := make(http.Header)
7290	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7291	for k, v := range c.header_ {
7292		reqHeaders[k] = v
7293	}
7294	reqHeaders.Set("User-Agent", c.s.userAgent())
7295	if c.ifNoneMatch_ != "" {
7296		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7297	}
7298	var body io.Reader = nil
7299	c.urlParams_.Set("alt", alt)
7300	c.urlParams_.Set("prettyPrint", "false")
7301	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7302	urls += "?" + c.urlParams_.Encode()
7303	req, err := http.NewRequest("GET", urls, body)
7304	if err != nil {
7305		return nil, err
7306	}
7307	req.Header = reqHeaders
7308	googleapi.Expand(req.URL, map[string]string{
7309		"name": c.name,
7310	})
7311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7312}
7313
7314// Do executes the "datacatalog.projects.locations.tagTemplates.get" call.
7315// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
7316// will be non-nil. Any non-2xx status code is an error. Response
7317// headers are in either
7318// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7319// (if a response was returned at all) in
7320// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7321// whether the returned error was because http.StatusNotModified was
7322// returned.
7323func (c *ProjectsLocationsTagTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7324	gensupport.SetOptions(c.urlParams_, opts...)
7325	res, err := c.doRequest("json")
7326	if res != nil && res.StatusCode == http.StatusNotModified {
7327		if res.Body != nil {
7328			res.Body.Close()
7329		}
7330		return nil, &googleapi.Error{
7331			Code:   res.StatusCode,
7332			Header: res.Header,
7333		}
7334	}
7335	if err != nil {
7336		return nil, err
7337	}
7338	defer googleapi.CloseBody(res)
7339	if err := googleapi.CheckResponse(res); err != nil {
7340		return nil, err
7341	}
7342	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7343		ServerResponse: googleapi.ServerResponse{
7344			Header:         res.Header,
7345			HTTPStatusCode: res.StatusCode,
7346		},
7347	}
7348	target := &ret
7349	if err := gensupport.DecodeResponse(target, res); err != nil {
7350		return nil, err
7351	}
7352	return ret, nil
7353	// {
7354	//   "description": "Gets a tag template.",
7355	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7356	//   "httpMethod": "GET",
7357	//   "id": "datacatalog.projects.locations.tagTemplates.get",
7358	//   "parameterOrder": [
7359	//     "name"
7360	//   ],
7361	//   "parameters": {
7362	//     "name": {
7363	//       "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
7364	//       "location": "path",
7365	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7366	//       "required": true,
7367	//       "type": "string"
7368	//     }
7369	//   },
7370	//   "path": "v1beta1/{+name}",
7371	//   "response": {
7372	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7373	//   },
7374	//   "scopes": [
7375	//     "https://www.googleapis.com/auth/cloud-platform"
7376	//   ]
7377	// }
7378
7379}
7380
7381// method id "datacatalog.projects.locations.tagTemplates.getIamPolicy":
7382
7383type ProjectsLocationsTagTemplatesGetIamPolicyCall struct {
7384	s                   *Service
7385	resource            string
7386	getiampolicyrequest *GetIamPolicyRequest
7387	urlParams_          gensupport.URLParams
7388	ctx_                context.Context
7389	header_             http.Header
7390}
7391
7392// GetIamPolicy: Gets the access control policy for a resource. A
7393// `NOT_FOUND` error
7394// is returned if the resource does not exist. An empty policy is
7395// returned
7396// if the resource exists but does not have a policy set on
7397// it.
7398//
7399// Supported resources are:
7400//   - Tag templates.
7401//   - Entries.
7402//   - Entry groups.
7403// Note, this method cannot be used to manage policies for BigQuery,
7404// Pub/Sub
7405// and any external Google Cloud Platform resources synced to Data
7406// Catalog.
7407//
7408// Callers must have following Google IAM permission
7409//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
7410//     templates.
7411//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
7412//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
7413// groups.
7414func (r *ProjectsLocationsTagTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7415	c := &ProjectsLocationsTagTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7416	c.resource = resource
7417	c.getiampolicyrequest = getiampolicyrequest
7418	return c
7419}
7420
7421// Fields allows partial responses to be retrieved. See
7422// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7423// for more information.
7424func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7425	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7426	return c
7427}
7428
7429// Context sets the context to be used in this call's Do method. Any
7430// pending HTTP request will be aborted if the provided context is
7431// canceled.
7432func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7433	c.ctx_ = ctx
7434	return c
7435}
7436
7437// Header returns an http.Header that can be modified by the caller to
7438// add HTTP headers to the request.
7439func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Header() http.Header {
7440	if c.header_ == nil {
7441		c.header_ = make(http.Header)
7442	}
7443	return c.header_
7444}
7445
7446func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7447	reqHeaders := make(http.Header)
7448	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7449	for k, v := range c.header_ {
7450		reqHeaders[k] = v
7451	}
7452	reqHeaders.Set("User-Agent", c.s.userAgent())
7453	var body io.Reader = nil
7454	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
7455	if err != nil {
7456		return nil, err
7457	}
7458	reqHeaders.Set("Content-Type", "application/json")
7459	c.urlParams_.Set("alt", alt)
7460	c.urlParams_.Set("prettyPrint", "false")
7461	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7462	urls += "?" + c.urlParams_.Encode()
7463	req, err := http.NewRequest("POST", urls, body)
7464	if err != nil {
7465		return nil, err
7466	}
7467	req.Header = reqHeaders
7468	googleapi.Expand(req.URL, map[string]string{
7469		"resource": c.resource,
7470	})
7471	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7472}
7473
7474// Do executes the "datacatalog.projects.locations.tagTemplates.getIamPolicy" call.
7475// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7476// code is an error. Response headers are in either
7477// *Policy.ServerResponse.Header or (if a response was returned at all)
7478// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7479// check whether the returned error was because http.StatusNotModified
7480// was returned.
7481func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7482	gensupport.SetOptions(c.urlParams_, opts...)
7483	res, err := c.doRequest("json")
7484	if res != nil && res.StatusCode == http.StatusNotModified {
7485		if res.Body != nil {
7486			res.Body.Close()
7487		}
7488		return nil, &googleapi.Error{
7489			Code:   res.StatusCode,
7490			Header: res.Header,
7491		}
7492	}
7493	if err != nil {
7494		return nil, err
7495	}
7496	defer googleapi.CloseBody(res)
7497	if err := googleapi.CheckResponse(res); err != nil {
7498		return nil, err
7499	}
7500	ret := &Policy{
7501		ServerResponse: googleapi.ServerResponse{
7502			Header:         res.Header,
7503			HTTPStatusCode: res.StatusCode,
7504		},
7505	}
7506	target := &ret
7507	if err := gensupport.DecodeResponse(target, res); err != nil {
7508		return nil, err
7509	}
7510	return ret, nil
7511	// {
7512	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
7513	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
7514	//   "httpMethod": "POST",
7515	//   "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
7516	//   "parameterOrder": [
7517	//     "resource"
7518	//   ],
7519	//   "parameters": {
7520	//     "resource": {
7521	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
7522	//       "location": "path",
7523	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7524	//       "required": true,
7525	//       "type": "string"
7526	//     }
7527	//   },
7528	//   "path": "v1beta1/{+resource}:getIamPolicy",
7529	//   "request": {
7530	//     "$ref": "GetIamPolicyRequest"
7531	//   },
7532	//   "response": {
7533	//     "$ref": "Policy"
7534	//   },
7535	//   "scopes": [
7536	//     "https://www.googleapis.com/auth/cloud-platform"
7537	//   ]
7538	// }
7539
7540}
7541
7542// method id "datacatalog.projects.locations.tagTemplates.patch":
7543
7544type ProjectsLocationsTagTemplatesPatchCall struct {
7545	s                                        *Service
7546	name                                     string
7547	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
7548	urlParams_                               gensupport.URLParams
7549	ctx_                                     context.Context
7550	header_                                  http.Header
7551}
7552
7553// Patch: Updates a tag template. This method cannot be used to update
7554// the fields of
7555// a template. The tag template fields are represented as separate
7556// resources
7557// and should be updated using their own create/update/delete
7558// methods.
7559// Users should enable the Data Catalog API in the project identified
7560// by
7561// the `tag_template.name` parameter (see [Data Catalog Resource
7562// Project]
7563// (https://cloud.google.com/data-catalog/docs/concepts/resource
7564// -project) for
7565// more information).
7566func (r *ProjectsLocationsTagTemplatesService) Patch(name string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesPatchCall {
7567	c := &ProjectsLocationsTagTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7568	c.name = name
7569	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
7570	return c
7571}
7572
7573// UpdateMask sets the optional parameter "updateMask": The field mask
7574// specifies the parts of the template to overwrite.
7575//
7576// Allowed fields:
7577//
7578//   * `display_name`
7579//
7580// If absent or empty, all of the allowed fields above will be updated.
7581func (c *ProjectsLocationsTagTemplatesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesPatchCall {
7582	c.urlParams_.Set("updateMask", updateMask)
7583	return c
7584}
7585
7586// Fields allows partial responses to be retrieved. See
7587// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7588// for more information.
7589func (c *ProjectsLocationsTagTemplatesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesPatchCall {
7590	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7591	return c
7592}
7593
7594// Context sets the context to be used in this call's Do method. Any
7595// pending HTTP request will be aborted if the provided context is
7596// canceled.
7597func (c *ProjectsLocationsTagTemplatesPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesPatchCall {
7598	c.ctx_ = ctx
7599	return c
7600}
7601
7602// Header returns an http.Header that can be modified by the caller to
7603// add HTTP headers to the request.
7604func (c *ProjectsLocationsTagTemplatesPatchCall) Header() http.Header {
7605	if c.header_ == nil {
7606		c.header_ = make(http.Header)
7607	}
7608	return c.header_
7609}
7610
7611func (c *ProjectsLocationsTagTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
7612	reqHeaders := make(http.Header)
7613	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7614	for k, v := range c.header_ {
7615		reqHeaders[k] = v
7616	}
7617	reqHeaders.Set("User-Agent", c.s.userAgent())
7618	var body io.Reader = nil
7619	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
7620	if err != nil {
7621		return nil, err
7622	}
7623	reqHeaders.Set("Content-Type", "application/json")
7624	c.urlParams_.Set("alt", alt)
7625	c.urlParams_.Set("prettyPrint", "false")
7626	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7627	urls += "?" + c.urlParams_.Encode()
7628	req, err := http.NewRequest("PATCH", urls, body)
7629	if err != nil {
7630		return nil, err
7631	}
7632	req.Header = reqHeaders
7633	googleapi.Expand(req.URL, map[string]string{
7634		"name": c.name,
7635	})
7636	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7637}
7638
7639// Do executes the "datacatalog.projects.locations.tagTemplates.patch" call.
7640// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
7641// will be non-nil. Any non-2xx status code is an error. Response
7642// headers are in either
7643// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7644// (if a response was returned at all) in
7645// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7646// whether the returned error was because http.StatusNotModified was
7647// returned.
7648func (c *ProjectsLocationsTagTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7649	gensupport.SetOptions(c.urlParams_, opts...)
7650	res, err := c.doRequest("json")
7651	if res != nil && res.StatusCode == http.StatusNotModified {
7652		if res.Body != nil {
7653			res.Body.Close()
7654		}
7655		return nil, &googleapi.Error{
7656			Code:   res.StatusCode,
7657			Header: res.Header,
7658		}
7659	}
7660	if err != nil {
7661		return nil, err
7662	}
7663	defer googleapi.CloseBody(res)
7664	if err := googleapi.CheckResponse(res); err != nil {
7665		return nil, err
7666	}
7667	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7668		ServerResponse: googleapi.ServerResponse{
7669			Header:         res.Header,
7670			HTTPStatusCode: res.StatusCode,
7671		},
7672	}
7673	target := &ret
7674	if err := gensupport.DecodeResponse(target, res); err != nil {
7675		return nil, err
7676	}
7677	return ret, nil
7678	// {
7679	//   "description": "Updates a tag template. This method cannot be used to update the fields of\na template. The tag template fields are represented as separate resources\nand should be updated using their own create/update/delete methods.\nUsers should enable the Data Catalog API in the project identified by\nthe `tag_template.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
7680	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7681	//   "httpMethod": "PATCH",
7682	//   "id": "datacatalog.projects.locations.tagTemplates.patch",
7683	//   "parameterOrder": [
7684	//     "name"
7685	//   ],
7686	//   "parameters": {
7687	//     "name": {
7688	//       "description": "The resource name of the tag template in URL format. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}\n\nNote that this TagTemplate and its child resources may not actually be\nstored in the location in this name.",
7689	//       "location": "path",
7690	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7691	//       "required": true,
7692	//       "type": "string"
7693	//     },
7694	//     "updateMask": {
7695	//       "description": "The field mask specifies the parts of the template to overwrite.\n\nAllowed fields:\n\n  * `display_name`\n\nIf absent or empty, all of the allowed fields above will be updated.",
7696	//       "format": "google-fieldmask",
7697	//       "location": "query",
7698	//       "type": "string"
7699	//     }
7700	//   },
7701	//   "path": "v1beta1/{+name}",
7702	//   "request": {
7703	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7704	//   },
7705	//   "response": {
7706	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7707	//   },
7708	//   "scopes": [
7709	//     "https://www.googleapis.com/auth/cloud-platform"
7710	//   ]
7711	// }
7712
7713}
7714
7715// method id "datacatalog.projects.locations.tagTemplates.setIamPolicy":
7716
7717type ProjectsLocationsTagTemplatesSetIamPolicyCall struct {
7718	s                   *Service
7719	resource            string
7720	setiampolicyrequest *SetIamPolicyRequest
7721	urlParams_          gensupport.URLParams
7722	ctx_                context.Context
7723	header_             http.Header
7724}
7725
7726// SetIamPolicy: Sets the access control policy for a resource. Replaces
7727// any existing
7728// policy.
7729// Supported resources are:
7730//   - Tag templates.
7731//   - Entries.
7732//   - Entry groups.
7733// Note, this method cannot be used to manage policies for BigQuery,
7734// Pub/Sub
7735// and any external Google Cloud Platform resources synced to Data
7736// Catalog.
7737//
7738// Callers must have following Google IAM permission
7739//   - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
7740//     templates.
7741//   - `datacatalog.entries.setIamPolicy` to set policies on entries.
7742//   - `datacatalog.entryGroups.setIamPolicy` to set policies on entry
7743// groups.
7744func (r *ProjectsLocationsTagTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7745	c := &ProjectsLocationsTagTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7746	c.resource = resource
7747	c.setiampolicyrequest = setiampolicyrequest
7748	return c
7749}
7750
7751// Fields allows partial responses to be retrieved. See
7752// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7753// for more information.
7754func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7755	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7756	return c
7757}
7758
7759// Context sets the context to be used in this call's Do method. Any
7760// pending HTTP request will be aborted if the provided context is
7761// canceled.
7762func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7763	c.ctx_ = ctx
7764	return c
7765}
7766
7767// Header returns an http.Header that can be modified by the caller to
7768// add HTTP headers to the request.
7769func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Header() http.Header {
7770	if c.header_ == nil {
7771		c.header_ = make(http.Header)
7772	}
7773	return c.header_
7774}
7775
7776func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7777	reqHeaders := make(http.Header)
7778	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7779	for k, v := range c.header_ {
7780		reqHeaders[k] = v
7781	}
7782	reqHeaders.Set("User-Agent", c.s.userAgent())
7783	var body io.Reader = nil
7784	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
7785	if err != nil {
7786		return nil, err
7787	}
7788	reqHeaders.Set("Content-Type", "application/json")
7789	c.urlParams_.Set("alt", alt)
7790	c.urlParams_.Set("prettyPrint", "false")
7791	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
7792	urls += "?" + c.urlParams_.Encode()
7793	req, err := http.NewRequest("POST", urls, body)
7794	if err != nil {
7795		return nil, err
7796	}
7797	req.Header = reqHeaders
7798	googleapi.Expand(req.URL, map[string]string{
7799		"resource": c.resource,
7800	})
7801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7802}
7803
7804// Do executes the "datacatalog.projects.locations.tagTemplates.setIamPolicy" call.
7805// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7806// code is an error. Response headers are in either
7807// *Policy.ServerResponse.Header or (if a response was returned at all)
7808// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7809// check whether the returned error was because http.StatusNotModified
7810// was returned.
7811func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7812	gensupport.SetOptions(c.urlParams_, opts...)
7813	res, err := c.doRequest("json")
7814	if res != nil && res.StatusCode == http.StatusNotModified {
7815		if res.Body != nil {
7816			res.Body.Close()
7817		}
7818		return nil, &googleapi.Error{
7819			Code:   res.StatusCode,
7820			Header: res.Header,
7821		}
7822	}
7823	if err != nil {
7824		return nil, err
7825	}
7826	defer googleapi.CloseBody(res)
7827	if err := googleapi.CheckResponse(res); err != nil {
7828		return nil, err
7829	}
7830	ret := &Policy{
7831		ServerResponse: googleapi.ServerResponse{
7832			Header:         res.Header,
7833			HTTPStatusCode: res.StatusCode,
7834		},
7835	}
7836	target := &ret
7837	if err := gensupport.DecodeResponse(target, res); err != nil {
7838		return nil, err
7839	}
7840	return ret, nil
7841	// {
7842	//   "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
7843	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
7844	//   "httpMethod": "POST",
7845	//   "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
7846	//   "parameterOrder": [
7847	//     "resource"
7848	//   ],
7849	//   "parameters": {
7850	//     "resource": {
7851	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
7852	//       "location": "path",
7853	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7854	//       "required": true,
7855	//       "type": "string"
7856	//     }
7857	//   },
7858	//   "path": "v1beta1/{+resource}:setIamPolicy",
7859	//   "request": {
7860	//     "$ref": "SetIamPolicyRequest"
7861	//   },
7862	//   "response": {
7863	//     "$ref": "Policy"
7864	//   },
7865	//   "scopes": [
7866	//     "https://www.googleapis.com/auth/cloud-platform"
7867	//   ]
7868	// }
7869
7870}
7871
7872// method id "datacatalog.projects.locations.tagTemplates.testIamPermissions":
7873
7874type ProjectsLocationsTagTemplatesTestIamPermissionsCall struct {
7875	s                         *Service
7876	resource                  string
7877	testiampermissionsrequest *TestIamPermissionsRequest
7878	urlParams_                gensupport.URLParams
7879	ctx_                      context.Context
7880	header_                   http.Header
7881}
7882
7883// TestIamPermissions: Returns the caller's permissions on a
7884// resource.
7885// If the resource does not exist, an empty set of permissions is
7886// returned
7887// (We don't return a `NOT_FOUND` error).
7888//
7889// Supported resources are:
7890//   - Tag templates.
7891//   - Entries.
7892//   - Entry groups.
7893// Note, this method cannot be used to manage policies for BigQuery,
7894// Pub/Sub
7895// and any external Google Cloud Platform resources synced to Data
7896// Catalog.
7897//
7898// A caller is not required to have Google IAM permission to make
7899// this
7900// request.
7901func (r *ProjectsLocationsTagTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7902	c := &ProjectsLocationsTagTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7903	c.resource = resource
7904	c.testiampermissionsrequest = testiampermissionsrequest
7905	return c
7906}
7907
7908// Fields allows partial responses to be retrieved. See
7909// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7910// for more information.
7911func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7912	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7913	return c
7914}
7915
7916// Context sets the context to be used in this call's Do method. Any
7917// pending HTTP request will be aborted if the provided context is
7918// canceled.
7919func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7920	c.ctx_ = ctx
7921	return c
7922}
7923
7924// Header returns an http.Header that can be modified by the caller to
7925// add HTTP headers to the request.
7926func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Header() http.Header {
7927	if c.header_ == nil {
7928		c.header_ = make(http.Header)
7929	}
7930	return c.header_
7931}
7932
7933func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
7934	reqHeaders := make(http.Header)
7935	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
7936	for k, v := range c.header_ {
7937		reqHeaders[k] = v
7938	}
7939	reqHeaders.Set("User-Agent", c.s.userAgent())
7940	var body io.Reader = nil
7941	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
7942	if err != nil {
7943		return nil, err
7944	}
7945	reqHeaders.Set("Content-Type", "application/json")
7946	c.urlParams_.Set("alt", alt)
7947	c.urlParams_.Set("prettyPrint", "false")
7948	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
7949	urls += "?" + c.urlParams_.Encode()
7950	req, err := http.NewRequest("POST", urls, body)
7951	if err != nil {
7952		return nil, err
7953	}
7954	req.Header = reqHeaders
7955	googleapi.Expand(req.URL, map[string]string{
7956		"resource": c.resource,
7957	})
7958	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7959}
7960
7961// Do executes the "datacatalog.projects.locations.tagTemplates.testIamPermissions" call.
7962// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
7963// Any non-2xx status code is an error. Response headers are in either
7964// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
7965// was returned at all) in error.(*googleapi.Error).Header. Use
7966// googleapi.IsNotModified to check whether the returned error was
7967// because http.StatusNotModified was returned.
7968func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
7969	gensupport.SetOptions(c.urlParams_, opts...)
7970	res, err := c.doRequest("json")
7971	if res != nil && res.StatusCode == http.StatusNotModified {
7972		if res.Body != nil {
7973			res.Body.Close()
7974		}
7975		return nil, &googleapi.Error{
7976			Code:   res.StatusCode,
7977			Header: res.Header,
7978		}
7979	}
7980	if err != nil {
7981		return nil, err
7982	}
7983	defer googleapi.CloseBody(res)
7984	if err := googleapi.CheckResponse(res); err != nil {
7985		return nil, err
7986	}
7987	ret := &TestIamPermissionsResponse{
7988		ServerResponse: googleapi.ServerResponse{
7989			Header:         res.Header,
7990			HTTPStatusCode: res.StatusCode,
7991		},
7992	}
7993	target := &ret
7994	if err := gensupport.DecodeResponse(target, res); err != nil {
7995		return nil, err
7996	}
7997	return ret, nil
7998	// {
7999	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
8000	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
8001	//   "httpMethod": "POST",
8002	//   "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
8003	//   "parameterOrder": [
8004	//     "resource"
8005	//   ],
8006	//   "parameters": {
8007	//     "resource": {
8008	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
8009	//       "location": "path",
8010	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
8011	//       "required": true,
8012	//       "type": "string"
8013	//     }
8014	//   },
8015	//   "path": "v1beta1/{+resource}:testIamPermissions",
8016	//   "request": {
8017	//     "$ref": "TestIamPermissionsRequest"
8018	//   },
8019	//   "response": {
8020	//     "$ref": "TestIamPermissionsResponse"
8021	//   },
8022	//   "scopes": [
8023	//     "https://www.googleapis.com/auth/cloud-platform"
8024	//   ]
8025	// }
8026
8027}
8028
8029// method id "datacatalog.projects.locations.tagTemplates.fields.create":
8030
8031type ProjectsLocationsTagTemplatesFieldsCreateCall struct {
8032	s                                             *Service
8033	parent                                        string
8034	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
8035	urlParams_                                    gensupport.URLParams
8036	ctx_                                          context.Context
8037	header_                                       http.Header
8038}
8039
8040// Create: Creates a field in a tag template. The user should enable the
8041// Data Catalog
8042// API in the project identified by the `parent` parameter (see
8043// [Data Catalog
8044// Resource
8045// Project](https://cloud.google.com/data-catalog/docs/concepts/
8046// resource-project)
8047// for more information).
8048func (r *ProjectsLocationsTagTemplatesFieldsService) Create(parent string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsCreateCall {
8049	c := &ProjectsLocationsTagTemplatesFieldsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8050	c.parent = parent
8051	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
8052	return c
8053}
8054
8055// TagTemplateFieldId sets the optional parameter "tagTemplateFieldId":
8056// Required. The ID of the tag template field to create.
8057// Field ids can contain letters (both uppercase and lowercase),
8058// numbers
8059// (0-9), underscores (_) and dashes (-). Field IDs must be at least
8060// 1
8061// character long and at most 128 characters long. Field IDs must also
8062// be
8063// unique within their template.
8064func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) TagTemplateFieldId(tagTemplateFieldId string) *ProjectsLocationsTagTemplatesFieldsCreateCall {
8065	c.urlParams_.Set("tagTemplateFieldId", tagTemplateFieldId)
8066	return c
8067}
8068
8069// Fields allows partial responses to be retrieved. See
8070// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8071// for more information.
8072func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsCreateCall {
8073	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8074	return c
8075}
8076
8077// Context sets the context to be used in this call's Do method. Any
8078// pending HTTP request will be aborted if the provided context is
8079// canceled.
8080func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsCreateCall {
8081	c.ctx_ = ctx
8082	return c
8083}
8084
8085// Header returns an http.Header that can be modified by the caller to
8086// add HTTP headers to the request.
8087func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Header() http.Header {
8088	if c.header_ == nil {
8089		c.header_ = make(http.Header)
8090	}
8091	return c.header_
8092}
8093
8094func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) doRequest(alt string) (*http.Response, error) {
8095	reqHeaders := make(http.Header)
8096	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8097	for k, v := range c.header_ {
8098		reqHeaders[k] = v
8099	}
8100	reqHeaders.Set("User-Agent", c.s.userAgent())
8101	var body io.Reader = nil
8102	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
8103	if err != nil {
8104		return nil, err
8105	}
8106	reqHeaders.Set("Content-Type", "application/json")
8107	c.urlParams_.Set("alt", alt)
8108	c.urlParams_.Set("prettyPrint", "false")
8109	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fields")
8110	urls += "?" + c.urlParams_.Encode()
8111	req, err := http.NewRequest("POST", urls, body)
8112	if err != nil {
8113		return nil, err
8114	}
8115	req.Header = reqHeaders
8116	googleapi.Expand(req.URL, map[string]string{
8117		"parent": c.parent,
8118	})
8119	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8120}
8121
8122// Do executes the "datacatalog.projects.locations.tagTemplates.fields.create" call.
8123// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8124// error will be non-nil. Any non-2xx status code is an error. Response
8125// headers are in either
8126// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8127// or (if a response was returned at all) in
8128// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8129// whether the returned error was because http.StatusNotModified was
8130// returned.
8131func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8132	gensupport.SetOptions(c.urlParams_, opts...)
8133	res, err := c.doRequest("json")
8134	if res != nil && res.StatusCode == http.StatusNotModified {
8135		if res.Body != nil {
8136			res.Body.Close()
8137		}
8138		return nil, &googleapi.Error{
8139			Code:   res.StatusCode,
8140			Header: res.Header,
8141		}
8142	}
8143	if err != nil {
8144		return nil, err
8145	}
8146	defer googleapi.CloseBody(res)
8147	if err := googleapi.CheckResponse(res); err != nil {
8148		return nil, err
8149	}
8150	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8151		ServerResponse: googleapi.ServerResponse{
8152			Header:         res.Header,
8153			HTTPStatusCode: res.StatusCode,
8154		},
8155	}
8156	target := &ret
8157	if err := gensupport.DecodeResponse(target, res); err != nil {
8158		return nil, err
8159	}
8160	return ret, nil
8161	// {
8162	//   "description": "Creates a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `parent` parameter (see\n[Data Catalog Resource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
8163	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
8164	//   "httpMethod": "POST",
8165	//   "id": "datacatalog.projects.locations.tagTemplates.fields.create",
8166	//   "parameterOrder": [
8167	//     "parent"
8168	//   ],
8169	//   "parameters": {
8170	//     "parent": {
8171	//       "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions).\n\nExample:\n\n* projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
8172	//       "location": "path",
8173	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
8174	//       "required": true,
8175	//       "type": "string"
8176	//     },
8177	//     "tagTemplateFieldId": {
8178	//       "description": "Required. The ID of the tag template field to create.\nField ids can contain letters (both uppercase and lowercase), numbers\n(0-9), underscores (_) and dashes (-). Field IDs must be at least 1\ncharacter long and at most 128 characters long. Field IDs must also be\nunique within their template.",
8179	//       "location": "query",
8180	//       "type": "string"
8181	//     }
8182	//   },
8183	//   "path": "v1beta1/{+parent}/fields",
8184	//   "request": {
8185	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8186	//   },
8187	//   "response": {
8188	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8189	//   },
8190	//   "scopes": [
8191	//     "https://www.googleapis.com/auth/cloud-platform"
8192	//   ]
8193	// }
8194
8195}
8196
8197// method id "datacatalog.projects.locations.tagTemplates.fields.delete":
8198
8199type ProjectsLocationsTagTemplatesFieldsDeleteCall struct {
8200	s          *Service
8201	name       string
8202	urlParams_ gensupport.URLParams
8203	ctx_       context.Context
8204	header_    http.Header
8205}
8206
8207// Delete: Deletes a field in a tag template and all uses of that
8208// field.
8209// Users should enable the Data Catalog API in the project identified
8210// by
8211// the `name` parameter (see [Data Catalog Resource
8212// Project]
8213// (https://cloud.google.com/data-catalog/docs/concepts/resource
8214// -project) for
8215// more information).
8216func (r *ProjectsLocationsTagTemplatesFieldsService) Delete(name string) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
8217	c := &ProjectsLocationsTagTemplatesFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8218	c.name = name
8219	return c
8220}
8221
8222// Force sets the optional parameter "force": Required. Currently, this
8223// field must always be set to `true`.
8224// This confirms the deletion of this field from any tags using this
8225// field.
8226// `force = false` will be supported in the future.
8227func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
8228	c.urlParams_.Set("force", fmt.Sprint(force))
8229	return c
8230}
8231
8232// Fields allows partial responses to be retrieved. See
8233// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8234// for more information.
8235func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
8236	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8237	return c
8238}
8239
8240// Context sets the context to be used in this call's Do method. Any
8241// pending HTTP request will be aborted if the provided context is
8242// canceled.
8243func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
8244	c.ctx_ = ctx
8245	return c
8246}
8247
8248// Header returns an http.Header that can be modified by the caller to
8249// add HTTP headers to the request.
8250func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Header() http.Header {
8251	if c.header_ == nil {
8252		c.header_ = make(http.Header)
8253	}
8254	return c.header_
8255}
8256
8257func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
8258	reqHeaders := make(http.Header)
8259	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8260	for k, v := range c.header_ {
8261		reqHeaders[k] = v
8262	}
8263	reqHeaders.Set("User-Agent", c.s.userAgent())
8264	var body io.Reader = nil
8265	c.urlParams_.Set("alt", alt)
8266	c.urlParams_.Set("prettyPrint", "false")
8267	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8268	urls += "?" + c.urlParams_.Encode()
8269	req, err := http.NewRequest("DELETE", urls, body)
8270	if err != nil {
8271		return nil, err
8272	}
8273	req.Header = reqHeaders
8274	googleapi.Expand(req.URL, map[string]string{
8275		"name": c.name,
8276	})
8277	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8278}
8279
8280// Do executes the "datacatalog.projects.locations.tagTemplates.fields.delete" call.
8281// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8282// code is an error. Response headers are in either
8283// *Empty.ServerResponse.Header or (if a response was returned at all)
8284// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8285// check whether the returned error was because http.StatusNotModified
8286// was returned.
8287func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8288	gensupport.SetOptions(c.urlParams_, opts...)
8289	res, err := c.doRequest("json")
8290	if res != nil && res.StatusCode == http.StatusNotModified {
8291		if res.Body != nil {
8292			res.Body.Close()
8293		}
8294		return nil, &googleapi.Error{
8295			Code:   res.StatusCode,
8296			Header: res.Header,
8297		}
8298	}
8299	if err != nil {
8300		return nil, err
8301	}
8302	defer googleapi.CloseBody(res)
8303	if err := googleapi.CheckResponse(res); err != nil {
8304		return nil, err
8305	}
8306	ret := &Empty{
8307		ServerResponse: googleapi.ServerResponse{
8308			Header:         res.Header,
8309			HTTPStatusCode: res.StatusCode,
8310		},
8311	}
8312	target := &ret
8313	if err := gensupport.DecodeResponse(target, res); err != nil {
8314		return nil, err
8315	}
8316	return ret, nil
8317	// {
8318	//   "description": "Deletes a field in a tag template and all uses of that field.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
8319	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
8320	//   "httpMethod": "DELETE",
8321	//   "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
8322	//   "parameterOrder": [
8323	//     "name"
8324	//   ],
8325	//   "parameters": {
8326	//     "force": {
8327	//       "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of this field from any tags using this field.\n`force = false` will be supported in the future.",
8328	//       "location": "query",
8329	//       "type": "boolean"
8330	//     },
8331	//     "name": {
8332	//       "description": "Required. The name of the tag template field to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8333	//       "location": "path",
8334	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8335	//       "required": true,
8336	//       "type": "string"
8337	//     }
8338	//   },
8339	//   "path": "v1beta1/{+name}",
8340	//   "response": {
8341	//     "$ref": "Empty"
8342	//   },
8343	//   "scopes": [
8344	//     "https://www.googleapis.com/auth/cloud-platform"
8345	//   ]
8346	// }
8347
8348}
8349
8350// method id "datacatalog.projects.locations.tagTemplates.fields.patch":
8351
8352type ProjectsLocationsTagTemplatesFieldsPatchCall struct {
8353	s                                             *Service
8354	name                                          string
8355	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
8356	urlParams_                                    gensupport.URLParams
8357	ctx_                                          context.Context
8358	header_                                       http.Header
8359}
8360
8361// Patch: Updates a field in a tag template. This method cannot be used
8362// to update the
8363// field type. Users should enable the Data Catalog API in the
8364// project
8365// identified by the `name` parameter (see [Data Catalog Resource
8366// Project]
8367// (https://cloud.google.com/data-catalog/docs/concepts/resource
8368// -project) for
8369// more information).
8370func (r *ProjectsLocationsTagTemplatesFieldsService) Patch(name string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8371	c := &ProjectsLocationsTagTemplatesFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8372	c.name = name
8373	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
8374	return c
8375}
8376
8377// UpdateMask sets the optional parameter "updateMask": The field mask
8378// specifies the parts of the template to be updated.
8379// Allowed fields:
8380//
8381//   * `display_name`
8382//   * `type.enum_type`
8383//   * `is_required`
8384//
8385// If `update_mask` is not set or empty, all of the allowed fields above
8386// will
8387// be updated.
8388//
8389// When updating an enum type, the provided values will be merged with
8390// the
8391// existing values. Therefore, enum values can only be added, existing
8392// enum
8393// values cannot be deleted nor renamed. Updating a template field
8394// from
8395// optional to required is NOT allowed.
8396func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8397	c.urlParams_.Set("updateMask", updateMask)
8398	return c
8399}
8400
8401// Fields allows partial responses to be retrieved. See
8402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8403// for more information.
8404func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8406	return c
8407}
8408
8409// Context sets the context to be used in this call's Do method. Any
8410// pending HTTP request will be aborted if the provided context is
8411// canceled.
8412func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsPatchCall {
8413	c.ctx_ = ctx
8414	return c
8415}
8416
8417// Header returns an http.Header that can be modified by the caller to
8418// add HTTP headers to the request.
8419func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Header() http.Header {
8420	if c.header_ == nil {
8421		c.header_ = make(http.Header)
8422	}
8423	return c.header_
8424}
8425
8426func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
8427	reqHeaders := make(http.Header)
8428	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8429	for k, v := range c.header_ {
8430		reqHeaders[k] = v
8431	}
8432	reqHeaders.Set("User-Agent", c.s.userAgent())
8433	var body io.Reader = nil
8434	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
8435	if err != nil {
8436		return nil, err
8437	}
8438	reqHeaders.Set("Content-Type", "application/json")
8439	c.urlParams_.Set("alt", alt)
8440	c.urlParams_.Set("prettyPrint", "false")
8441	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8442	urls += "?" + c.urlParams_.Encode()
8443	req, err := http.NewRequest("PATCH", urls, body)
8444	if err != nil {
8445		return nil, err
8446	}
8447	req.Header = reqHeaders
8448	googleapi.Expand(req.URL, map[string]string{
8449		"name": c.name,
8450	})
8451	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8452}
8453
8454// Do executes the "datacatalog.projects.locations.tagTemplates.fields.patch" call.
8455// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8456// error will be non-nil. Any non-2xx status code is an error. Response
8457// headers are in either
8458// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8459// or (if a response was returned at all) in
8460// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8461// whether the returned error was because http.StatusNotModified was
8462// returned.
8463func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8464	gensupport.SetOptions(c.urlParams_, opts...)
8465	res, err := c.doRequest("json")
8466	if res != nil && res.StatusCode == http.StatusNotModified {
8467		if res.Body != nil {
8468			res.Body.Close()
8469		}
8470		return nil, &googleapi.Error{
8471			Code:   res.StatusCode,
8472			Header: res.Header,
8473		}
8474	}
8475	if err != nil {
8476		return nil, err
8477	}
8478	defer googleapi.CloseBody(res)
8479	if err := googleapi.CheckResponse(res); err != nil {
8480		return nil, err
8481	}
8482	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8483		ServerResponse: googleapi.ServerResponse{
8484			Header:         res.Header,
8485			HTTPStatusCode: res.StatusCode,
8486		},
8487	}
8488	target := &ret
8489	if err := gensupport.DecodeResponse(target, res); err != nil {
8490		return nil, err
8491	}
8492	return ret, nil
8493	// {
8494	//   "description": "Updates a field in a tag template. This method cannot be used to update the\nfield type. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
8495	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
8496	//   "httpMethod": "PATCH",
8497	//   "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
8498	//   "parameterOrder": [
8499	//     "name"
8500	//   ],
8501	//   "parameters": {
8502	//     "name": {
8503	//       "description": "Required. The name of the tag template field. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8504	//       "location": "path",
8505	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8506	//       "required": true,
8507	//       "type": "string"
8508	//     },
8509	//     "updateMask": {
8510	//       "description": "Optional. The field mask specifies the parts of the template to be updated.\nAllowed fields:\n\n  * `display_name`\n  * `type.enum_type`\n  * `is_required`\n\nIf `update_mask` is not set or empty, all of the allowed fields above will\nbe updated.\n\nWhen updating an enum type, the provided values will be merged with the\nexisting values. Therefore, enum values can only be added, existing enum\nvalues cannot be deleted nor renamed. Updating a template field from\noptional to required is NOT allowed.",
8511	//       "format": "google-fieldmask",
8512	//       "location": "query",
8513	//       "type": "string"
8514	//     }
8515	//   },
8516	//   "path": "v1beta1/{+name}",
8517	//   "request": {
8518	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8519	//   },
8520	//   "response": {
8521	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8522	//   },
8523	//   "scopes": [
8524	//     "https://www.googleapis.com/auth/cloud-platform"
8525	//   ]
8526	// }
8527
8528}
8529
8530// method id "datacatalog.projects.locations.tagTemplates.fields.rename":
8531
8532type ProjectsLocationsTagTemplatesFieldsRenameCall struct {
8533	s                                                          *Service
8534	name                                                       string
8535	googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
8536	urlParams_                                                 gensupport.URLParams
8537	ctx_                                                       context.Context
8538	header_                                                    http.Header
8539}
8540
8541// Rename: Renames a field in a tag template. The user should enable the
8542// Data Catalog
8543// API in the project identified by the `name` parameter (see [Data
8544// Catalog
8545// Resource
8546// Project](https://cloud.google.com/data-catalog/docs/c
8547// oncepts/resource-project)
8548// for more information).
8549func (r *ProjectsLocationsTagTemplatesFieldsService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8550	c := &ProjectsLocationsTagTemplatesFieldsRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8551	c.name = name
8552	c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest = googleclouddatacatalogv1beta1renametagtemplatefieldrequest
8553	return c
8554}
8555
8556// Fields allows partial responses to be retrieved. See
8557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8558// for more information.
8559func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8561	return c
8562}
8563
8564// Context sets the context to be used in this call's Do method. Any
8565// pending HTTP request will be aborted if the provided context is
8566// canceled.
8567func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8568	c.ctx_ = ctx
8569	return c
8570}
8571
8572// Header returns an http.Header that can be modified by the caller to
8573// add HTTP headers to the request.
8574func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Header() http.Header {
8575	if c.header_ == nil {
8576		c.header_ = make(http.Header)
8577	}
8578	return c.header_
8579}
8580
8581func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) doRequest(alt string) (*http.Response, error) {
8582	reqHeaders := make(http.Header)
8583	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8584	for k, v := range c.header_ {
8585		reqHeaders[k] = v
8586	}
8587	reqHeaders.Set("User-Agent", c.s.userAgent())
8588	var body io.Reader = nil
8589	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest)
8590	if err != nil {
8591		return nil, err
8592	}
8593	reqHeaders.Set("Content-Type", "application/json")
8594	c.urlParams_.Set("alt", alt)
8595	c.urlParams_.Set("prettyPrint", "false")
8596	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8597	urls += "?" + c.urlParams_.Encode()
8598	req, err := http.NewRequest("POST", urls, body)
8599	if err != nil {
8600		return nil, err
8601	}
8602	req.Header = reqHeaders
8603	googleapi.Expand(req.URL, map[string]string{
8604		"name": c.name,
8605	})
8606	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8607}
8608
8609// Do executes the "datacatalog.projects.locations.tagTemplates.fields.rename" call.
8610// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8611// error will be non-nil. Any non-2xx status code is an error. Response
8612// headers are in either
8613// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8614// or (if a response was returned at all) in
8615// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8616// whether the returned error was because http.StatusNotModified was
8617// returned.
8618func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8619	gensupport.SetOptions(c.urlParams_, opts...)
8620	res, err := c.doRequest("json")
8621	if res != nil && res.StatusCode == http.StatusNotModified {
8622		if res.Body != nil {
8623			res.Body.Close()
8624		}
8625		return nil, &googleapi.Error{
8626			Code:   res.StatusCode,
8627			Header: res.Header,
8628		}
8629	}
8630	if err != nil {
8631		return nil, err
8632	}
8633	defer googleapi.CloseBody(res)
8634	if err := googleapi.CheckResponse(res); err != nil {
8635		return nil, err
8636	}
8637	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8638		ServerResponse: googleapi.ServerResponse{
8639			Header:         res.Header,
8640			HTTPStatusCode: res.StatusCode,
8641		},
8642	}
8643	target := &ret
8644	if err := gensupport.DecodeResponse(target, res); err != nil {
8645		return nil, err
8646	}
8647	return ret, nil
8648	// {
8649	//   "description": "Renames a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `name` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
8650	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
8651	//   "httpMethod": "POST",
8652	//   "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
8653	//   "parameterOrder": [
8654	//     "name"
8655	//   ],
8656	//   "parameters": {
8657	//     "name": {
8658	//       "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8659	//       "location": "path",
8660	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8661	//       "required": true,
8662	//       "type": "string"
8663	//     }
8664	//   },
8665	//   "path": "v1beta1/{+name}:rename",
8666	//   "request": {
8667	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest"
8668	//   },
8669	//   "response": {
8670	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8671	//   },
8672	//   "scopes": [
8673	//     "https://www.googleapis.com/auth/cloud-platform"
8674	//   ]
8675	// }
8676
8677}
8678
8679// method id "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename":
8680
8681type ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall struct {
8682	s                                                                   *Service
8683	name                                                                string
8684	googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
8685	urlParams_                                                          gensupport.URLParams
8686	ctx_                                                                context.Context
8687	header_                                                             http.Header
8688}
8689
8690// Rename: Renames an enum value in a tag template. The enum values have
8691// to be unique
8692// within one enum field. Thus, an enum value cannot be renamed with a
8693// name
8694// used in any other enum value within the same enum field.
8695func (r *ProjectsLocationsTagTemplatesFieldsEnumValuesService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8696	c := &ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8697	c.name = name
8698	c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest = googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest
8699	return c
8700}
8701
8702// Fields allows partial responses to be retrieved. See
8703// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8704// for more information.
8705func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8706	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8707	return c
8708}
8709
8710// Context sets the context to be used in this call's Do method. Any
8711// pending HTTP request will be aborted if the provided context is
8712// canceled.
8713func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8714	c.ctx_ = ctx
8715	return c
8716}
8717
8718// Header returns an http.Header that can be modified by the caller to
8719// add HTTP headers to the request.
8720func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Header() http.Header {
8721	if c.header_ == nil {
8722		c.header_ = make(http.Header)
8723	}
8724	return c.header_
8725}
8726
8727func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) doRequest(alt string) (*http.Response, error) {
8728	reqHeaders := make(http.Header)
8729	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8730	for k, v := range c.header_ {
8731		reqHeaders[k] = v
8732	}
8733	reqHeaders.Set("User-Agent", c.s.userAgent())
8734	var body io.Reader = nil
8735	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest)
8736	if err != nil {
8737		return nil, err
8738	}
8739	reqHeaders.Set("Content-Type", "application/json")
8740	c.urlParams_.Set("alt", alt)
8741	c.urlParams_.Set("prettyPrint", "false")
8742	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8743	urls += "?" + c.urlParams_.Encode()
8744	req, err := http.NewRequest("POST", urls, body)
8745	if err != nil {
8746		return nil, err
8747	}
8748	req.Header = reqHeaders
8749	googleapi.Expand(req.URL, map[string]string{
8750		"name": c.name,
8751	})
8752	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8753}
8754
8755// Do executes the "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename" call.
8756// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8757// error will be non-nil. Any non-2xx status code is an error. Response
8758// headers are in either
8759// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8760// or (if a response was returned at all) in
8761// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8762// whether the returned error was because http.StatusNotModified was
8763// returned.
8764func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8765	gensupport.SetOptions(c.urlParams_, opts...)
8766	res, err := c.doRequest("json")
8767	if res != nil && res.StatusCode == http.StatusNotModified {
8768		if res.Body != nil {
8769			res.Body.Close()
8770		}
8771		return nil, &googleapi.Error{
8772			Code:   res.StatusCode,
8773			Header: res.Header,
8774		}
8775	}
8776	if err != nil {
8777		return nil, err
8778	}
8779	defer googleapi.CloseBody(res)
8780	if err := googleapi.CheckResponse(res); err != nil {
8781		return nil, err
8782	}
8783	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8784		ServerResponse: googleapi.ServerResponse{
8785			Header:         res.Header,
8786			HTTPStatusCode: res.StatusCode,
8787		},
8788	}
8789	target := &ret
8790	if err := gensupport.DecodeResponse(target, res); err != nil {
8791		return nil, err
8792	}
8793	return ret, nil
8794	// {
8795	//   "description": "Renames an enum value in a tag template. The enum values have to be unique\nwithin one enum field. Thus, an enum value cannot be renamed with a name\nused in any other enum value within the same enum field.",
8796	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
8797	//   "httpMethod": "POST",
8798	//   "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
8799	//   "parameterOrder": [
8800	//     "name"
8801	//   ],
8802	//   "parameters": {
8803	//     "name": {
8804	//       "description": "Required. The name of the enum field value. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
8805	//       "location": "path",
8806	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
8807	//       "required": true,
8808	//       "type": "string"
8809	//     }
8810	//   },
8811	//   "path": "v1beta1/{+name}:rename",
8812	//   "request": {
8813	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest"
8814	//   },
8815	//   "response": {
8816	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8817	//   },
8818	//   "scopes": [
8819	//     "https://www.googleapis.com/auth/cloud-platform"
8820	//   ]
8821	// }
8822
8823}
8824
8825// method id "datacatalog.projects.locations.taxonomies.create":
8826
8827type ProjectsLocationsTaxonomiesCreateCall struct {
8828	s                                     *Service
8829	parent                                string
8830	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
8831	urlParams_                            gensupport.URLParams
8832	ctx_                                  context.Context
8833	header_                               http.Header
8834}
8835
8836// Create: Creates a taxonomy in the specified project.
8837func (r *ProjectsLocationsTaxonomiesService) Create(parent string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesCreateCall {
8838	c := &ProjectsLocationsTaxonomiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8839	c.parent = parent
8840	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
8841	return c
8842}
8843
8844// Fields allows partial responses to be retrieved. See
8845// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8846// for more information.
8847func (c *ProjectsLocationsTaxonomiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesCreateCall {
8848	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8849	return c
8850}
8851
8852// Context sets the context to be used in this call's Do method. Any
8853// pending HTTP request will be aborted if the provided context is
8854// canceled.
8855func (c *ProjectsLocationsTaxonomiesCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesCreateCall {
8856	c.ctx_ = ctx
8857	return c
8858}
8859
8860// Header returns an http.Header that can be modified by the caller to
8861// add HTTP headers to the request.
8862func (c *ProjectsLocationsTaxonomiesCreateCall) Header() http.Header {
8863	if c.header_ == nil {
8864		c.header_ = make(http.Header)
8865	}
8866	return c.header_
8867}
8868
8869func (c *ProjectsLocationsTaxonomiesCreateCall) doRequest(alt string) (*http.Response, error) {
8870	reqHeaders := make(http.Header)
8871	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
8872	for k, v := range c.header_ {
8873		reqHeaders[k] = v
8874	}
8875	reqHeaders.Set("User-Agent", c.s.userAgent())
8876	var body io.Reader = nil
8877	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
8878	if err != nil {
8879		return nil, err
8880	}
8881	reqHeaders.Set("Content-Type", "application/json")
8882	c.urlParams_.Set("alt", alt)
8883	c.urlParams_.Set("prettyPrint", "false")
8884	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
8885	urls += "?" + c.urlParams_.Encode()
8886	req, err := http.NewRequest("POST", urls, body)
8887	if err != nil {
8888		return nil, err
8889	}
8890	req.Header = reqHeaders
8891	googleapi.Expand(req.URL, map[string]string{
8892		"parent": c.parent,
8893	})
8894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8895}
8896
8897// Do executes the "datacatalog.projects.locations.taxonomies.create" call.
8898// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
8899// be non-nil. Any non-2xx status code is an error. Response headers are
8900// in either
8901// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
8902// response was returned at all) in error.(*googleapi.Error).Header. Use
8903// googleapi.IsNotModified to check whether the returned error was
8904// because http.StatusNotModified was returned.
8905func (c *ProjectsLocationsTaxonomiesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
8906	gensupport.SetOptions(c.urlParams_, opts...)
8907	res, err := c.doRequest("json")
8908	if res != nil && res.StatusCode == http.StatusNotModified {
8909		if res.Body != nil {
8910			res.Body.Close()
8911		}
8912		return nil, &googleapi.Error{
8913			Code:   res.StatusCode,
8914			Header: res.Header,
8915		}
8916	}
8917	if err != nil {
8918		return nil, err
8919	}
8920	defer googleapi.CloseBody(res)
8921	if err := googleapi.CheckResponse(res); err != nil {
8922		return nil, err
8923	}
8924	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
8925		ServerResponse: googleapi.ServerResponse{
8926			Header:         res.Header,
8927			HTTPStatusCode: res.StatusCode,
8928		},
8929	}
8930	target := &ret
8931	if err := gensupport.DecodeResponse(target, res); err != nil {
8932		return nil, err
8933	}
8934	return ret, nil
8935	// {
8936	//   "description": "Creates a taxonomy in the specified project.",
8937	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
8938	//   "httpMethod": "POST",
8939	//   "id": "datacatalog.projects.locations.taxonomies.create",
8940	//   "parameterOrder": [
8941	//     "parent"
8942	//   ],
8943	//   "parameters": {
8944	//     "parent": {
8945	//       "description": "Required. Resource name of the project that the taxonomy will belong to.",
8946	//       "location": "path",
8947	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8948	//       "required": true,
8949	//       "type": "string"
8950	//     }
8951	//   },
8952	//   "path": "v1beta1/{+parent}/taxonomies",
8953	//   "request": {
8954	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8955	//   },
8956	//   "response": {
8957	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8958	//   },
8959	//   "scopes": [
8960	//     "https://www.googleapis.com/auth/cloud-platform"
8961	//   ]
8962	// }
8963
8964}
8965
8966// method id "datacatalog.projects.locations.taxonomies.delete":
8967
8968type ProjectsLocationsTaxonomiesDeleteCall struct {
8969	s          *Service
8970	name       string
8971	urlParams_ gensupport.URLParams
8972	ctx_       context.Context
8973	header_    http.Header
8974}
8975
8976// Delete: Deletes a taxonomy. This operation will also delete
8977// all
8978// policy tags in this taxonomy along with their associated policies.
8979func (r *ProjectsLocationsTaxonomiesService) Delete(name string) *ProjectsLocationsTaxonomiesDeleteCall {
8980	c := &ProjectsLocationsTaxonomiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8981	c.name = name
8982	return c
8983}
8984
8985// Fields allows partial responses to be retrieved. See
8986// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8987// for more information.
8988func (c *ProjectsLocationsTaxonomiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesDeleteCall {
8989	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8990	return c
8991}
8992
8993// Context sets the context to be used in this call's Do method. Any
8994// pending HTTP request will be aborted if the provided context is
8995// canceled.
8996func (c *ProjectsLocationsTaxonomiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesDeleteCall {
8997	c.ctx_ = ctx
8998	return c
8999}
9000
9001// Header returns an http.Header that can be modified by the caller to
9002// add HTTP headers to the request.
9003func (c *ProjectsLocationsTaxonomiesDeleteCall) Header() http.Header {
9004	if c.header_ == nil {
9005		c.header_ = make(http.Header)
9006	}
9007	return c.header_
9008}
9009
9010func (c *ProjectsLocationsTaxonomiesDeleteCall) doRequest(alt string) (*http.Response, error) {
9011	reqHeaders := make(http.Header)
9012	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9013	for k, v := range c.header_ {
9014		reqHeaders[k] = v
9015	}
9016	reqHeaders.Set("User-Agent", c.s.userAgent())
9017	var body io.Reader = nil
9018	c.urlParams_.Set("alt", alt)
9019	c.urlParams_.Set("prettyPrint", "false")
9020	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9021	urls += "?" + c.urlParams_.Encode()
9022	req, err := http.NewRequest("DELETE", urls, body)
9023	if err != nil {
9024		return nil, err
9025	}
9026	req.Header = reqHeaders
9027	googleapi.Expand(req.URL, map[string]string{
9028		"name": c.name,
9029	})
9030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9031}
9032
9033// Do executes the "datacatalog.projects.locations.taxonomies.delete" call.
9034// Exactly one of *Empty or error will be non-nil. Any non-2xx status
9035// code is an error. Response headers are in either
9036// *Empty.ServerResponse.Header or (if a response was returned at all)
9037// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9038// check whether the returned error was because http.StatusNotModified
9039// was returned.
9040func (c *ProjectsLocationsTaxonomiesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
9041	gensupport.SetOptions(c.urlParams_, opts...)
9042	res, err := c.doRequest("json")
9043	if res != nil && res.StatusCode == http.StatusNotModified {
9044		if res.Body != nil {
9045			res.Body.Close()
9046		}
9047		return nil, &googleapi.Error{
9048			Code:   res.StatusCode,
9049			Header: res.Header,
9050		}
9051	}
9052	if err != nil {
9053		return nil, err
9054	}
9055	defer googleapi.CloseBody(res)
9056	if err := googleapi.CheckResponse(res); err != nil {
9057		return nil, err
9058	}
9059	ret := &Empty{
9060		ServerResponse: googleapi.ServerResponse{
9061			Header:         res.Header,
9062			HTTPStatusCode: res.StatusCode,
9063		},
9064	}
9065	target := &ret
9066	if err := gensupport.DecodeResponse(target, res); err != nil {
9067		return nil, err
9068	}
9069	return ret, nil
9070	// {
9071	//   "description": "Deletes a taxonomy. This operation will also delete all\npolicy tags in this taxonomy along with their associated policies.",
9072	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
9073	//   "httpMethod": "DELETE",
9074	//   "id": "datacatalog.projects.locations.taxonomies.delete",
9075	//   "parameterOrder": [
9076	//     "name"
9077	//   ],
9078	//   "parameters": {
9079	//     "name": {
9080	//       "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in\nthis taxonomy will also be deleted.",
9081	//       "location": "path",
9082	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9083	//       "required": true,
9084	//       "type": "string"
9085	//     }
9086	//   },
9087	//   "path": "v1beta1/{+name}",
9088	//   "response": {
9089	//     "$ref": "Empty"
9090	//   },
9091	//   "scopes": [
9092	//     "https://www.googleapis.com/auth/cloud-platform"
9093	//   ]
9094	// }
9095
9096}
9097
9098// method id "datacatalog.projects.locations.taxonomies.export":
9099
9100type ProjectsLocationsTaxonomiesExportCall struct {
9101	s            *Service
9102	parent       string
9103	urlParams_   gensupport.URLParams
9104	ifNoneMatch_ string
9105	ctx_         context.Context
9106	header_      http.Header
9107}
9108
9109// Export: Exports all taxonomies and their policy tags in a
9110// project.
9111//
9112// This method generates SerializedTaxonomy protos with nested policy
9113// tags
9114// that can be used as an input for future ImportTaxonomies calls.
9115func (r *ProjectsLocationsTaxonomiesService) Export(parent string) *ProjectsLocationsTaxonomiesExportCall {
9116	c := &ProjectsLocationsTaxonomiesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9117	c.parent = parent
9118	return c
9119}
9120
9121// SerializedTaxonomies sets the optional parameter
9122// "serializedTaxonomies": Export taxonomies as serialized taxonomies.
9123func (c *ProjectsLocationsTaxonomiesExportCall) SerializedTaxonomies(serializedTaxonomies bool) *ProjectsLocationsTaxonomiesExportCall {
9124	c.urlParams_.Set("serializedTaxonomies", fmt.Sprint(serializedTaxonomies))
9125	return c
9126}
9127
9128// Taxonomies sets the optional parameter "taxonomies": Required.
9129// Resource names of the taxonomies to be exported.
9130func (c *ProjectsLocationsTaxonomiesExportCall) Taxonomies(taxonomies ...string) *ProjectsLocationsTaxonomiesExportCall {
9131	c.urlParams_.SetMulti("taxonomies", append([]string{}, taxonomies...))
9132	return c
9133}
9134
9135// Fields allows partial responses to be retrieved. See
9136// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9137// for more information.
9138func (c *ProjectsLocationsTaxonomiesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesExportCall {
9139	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9140	return c
9141}
9142
9143// IfNoneMatch sets the optional parameter which makes the operation
9144// fail if the object's ETag matches the given value. This is useful for
9145// getting updates only after the object has changed since the last
9146// request. Use googleapi.IsNotModified to check whether the response
9147// error from Do is the result of In-None-Match.
9148func (c *ProjectsLocationsTaxonomiesExportCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesExportCall {
9149	c.ifNoneMatch_ = entityTag
9150	return c
9151}
9152
9153// Context sets the context to be used in this call's Do method. Any
9154// pending HTTP request will be aborted if the provided context is
9155// canceled.
9156func (c *ProjectsLocationsTaxonomiesExportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesExportCall {
9157	c.ctx_ = ctx
9158	return c
9159}
9160
9161// Header returns an http.Header that can be modified by the caller to
9162// add HTTP headers to the request.
9163func (c *ProjectsLocationsTaxonomiesExportCall) Header() http.Header {
9164	if c.header_ == nil {
9165		c.header_ = make(http.Header)
9166	}
9167	return c.header_
9168}
9169
9170func (c *ProjectsLocationsTaxonomiesExportCall) doRequest(alt string) (*http.Response, error) {
9171	reqHeaders := make(http.Header)
9172	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9173	for k, v := range c.header_ {
9174		reqHeaders[k] = v
9175	}
9176	reqHeaders.Set("User-Agent", c.s.userAgent())
9177	if c.ifNoneMatch_ != "" {
9178		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9179	}
9180	var body io.Reader = nil
9181	c.urlParams_.Set("alt", alt)
9182	c.urlParams_.Set("prettyPrint", "false")
9183	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:export")
9184	urls += "?" + c.urlParams_.Encode()
9185	req, err := http.NewRequest("GET", urls, body)
9186	if err != nil {
9187		return nil, err
9188	}
9189	req.Header = reqHeaders
9190	googleapi.Expand(req.URL, map[string]string{
9191		"parent": c.parent,
9192	})
9193	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9194}
9195
9196// Do executes the "datacatalog.projects.locations.taxonomies.export" call.
9197// Exactly one of *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
9198// or error will be non-nil. Any non-2xx status code is an error.
9199// Response headers are in either
9200// *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse.ServerResponse.
9201// Header or (if a response was returned at all) in
9202// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9203// whether the returned error was because http.StatusNotModified was
9204// returned.
9205func (c *ProjectsLocationsTaxonomiesExportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse, error) {
9206	gensupport.SetOptions(c.urlParams_, opts...)
9207	res, err := c.doRequest("json")
9208	if res != nil && res.StatusCode == http.StatusNotModified {
9209		if res.Body != nil {
9210			res.Body.Close()
9211		}
9212		return nil, &googleapi.Error{
9213			Code:   res.StatusCode,
9214			Header: res.Header,
9215		}
9216	}
9217	if err != nil {
9218		return nil, err
9219	}
9220	defer googleapi.CloseBody(res)
9221	if err := googleapi.CheckResponse(res); err != nil {
9222		return nil, err
9223	}
9224	ret := &GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse{
9225		ServerResponse: googleapi.ServerResponse{
9226			Header:         res.Header,
9227			HTTPStatusCode: res.StatusCode,
9228		},
9229	}
9230	target := &ret
9231	if err := gensupport.DecodeResponse(target, res); err != nil {
9232		return nil, err
9233	}
9234	return ret, nil
9235	// {
9236	//   "description": "Exports all taxonomies and their policy tags in a project.\n\nThis method generates SerializedTaxonomy protos with nested policy tags\nthat can be used as an input for future ImportTaxonomies calls.",
9237	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
9238	//   "httpMethod": "GET",
9239	//   "id": "datacatalog.projects.locations.taxonomies.export",
9240	//   "parameterOrder": [
9241	//     "parent"
9242	//   ],
9243	//   "parameters": {
9244	//     "parent": {
9245	//       "description": "Required. Resource name of the project that taxonomies to be exported\nwill share.",
9246	//       "location": "path",
9247	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9248	//       "required": true,
9249	//       "type": "string"
9250	//     },
9251	//     "serializedTaxonomies": {
9252	//       "description": "Export taxonomies as serialized taxonomies.",
9253	//       "location": "query",
9254	//       "type": "boolean"
9255	//     },
9256	//     "taxonomies": {
9257	//       "description": "Required. Resource names of the taxonomies to be exported.",
9258	//       "location": "query",
9259	//       "repeated": true,
9260	//       "type": "string"
9261	//     }
9262	//   },
9263	//   "path": "v1beta1/{+parent}/taxonomies:export",
9264	//   "response": {
9265	//     "$ref": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse"
9266	//   },
9267	//   "scopes": [
9268	//     "https://www.googleapis.com/auth/cloud-platform"
9269	//   ]
9270	// }
9271
9272}
9273
9274// method id "datacatalog.projects.locations.taxonomies.get":
9275
9276type ProjectsLocationsTaxonomiesGetCall struct {
9277	s            *Service
9278	name         string
9279	urlParams_   gensupport.URLParams
9280	ifNoneMatch_ string
9281	ctx_         context.Context
9282	header_      http.Header
9283}
9284
9285// Get: Gets a taxonomy.
9286func (r *ProjectsLocationsTaxonomiesService) Get(name string) *ProjectsLocationsTaxonomiesGetCall {
9287	c := &ProjectsLocationsTaxonomiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9288	c.name = name
9289	return c
9290}
9291
9292// Fields allows partial responses to be retrieved. See
9293// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9294// for more information.
9295func (c *ProjectsLocationsTaxonomiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetCall {
9296	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9297	return c
9298}
9299
9300// IfNoneMatch sets the optional parameter which makes the operation
9301// fail if the object's ETag matches the given value. This is useful for
9302// getting updates only after the object has changed since the last
9303// request. Use googleapi.IsNotModified to check whether the response
9304// error from Do is the result of In-None-Match.
9305func (c *ProjectsLocationsTaxonomiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesGetCall {
9306	c.ifNoneMatch_ = entityTag
9307	return c
9308}
9309
9310// Context sets the context to be used in this call's Do method. Any
9311// pending HTTP request will be aborted if the provided context is
9312// canceled.
9313func (c *ProjectsLocationsTaxonomiesGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetCall {
9314	c.ctx_ = ctx
9315	return c
9316}
9317
9318// Header returns an http.Header that can be modified by the caller to
9319// add HTTP headers to the request.
9320func (c *ProjectsLocationsTaxonomiesGetCall) Header() http.Header {
9321	if c.header_ == nil {
9322		c.header_ = make(http.Header)
9323	}
9324	return c.header_
9325}
9326
9327func (c *ProjectsLocationsTaxonomiesGetCall) doRequest(alt string) (*http.Response, error) {
9328	reqHeaders := make(http.Header)
9329	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9330	for k, v := range c.header_ {
9331		reqHeaders[k] = v
9332	}
9333	reqHeaders.Set("User-Agent", c.s.userAgent())
9334	if c.ifNoneMatch_ != "" {
9335		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9336	}
9337	var body io.Reader = nil
9338	c.urlParams_.Set("alt", alt)
9339	c.urlParams_.Set("prettyPrint", "false")
9340	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9341	urls += "?" + c.urlParams_.Encode()
9342	req, err := http.NewRequest("GET", urls, body)
9343	if err != nil {
9344		return nil, err
9345	}
9346	req.Header = reqHeaders
9347	googleapi.Expand(req.URL, map[string]string{
9348		"name": c.name,
9349	})
9350	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9351}
9352
9353// Do executes the "datacatalog.projects.locations.taxonomies.get" call.
9354// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
9355// be non-nil. Any non-2xx status code is an error. Response headers are
9356// in either
9357// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
9358// response was returned at all) in error.(*googleapi.Error).Header. Use
9359// googleapi.IsNotModified to check whether the returned error was
9360// because http.StatusNotModified was returned.
9361func (c *ProjectsLocationsTaxonomiesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
9362	gensupport.SetOptions(c.urlParams_, opts...)
9363	res, err := c.doRequest("json")
9364	if res != nil && res.StatusCode == http.StatusNotModified {
9365		if res.Body != nil {
9366			res.Body.Close()
9367		}
9368		return nil, &googleapi.Error{
9369			Code:   res.StatusCode,
9370			Header: res.Header,
9371		}
9372	}
9373	if err != nil {
9374		return nil, err
9375	}
9376	defer googleapi.CloseBody(res)
9377	if err := googleapi.CheckResponse(res); err != nil {
9378		return nil, err
9379	}
9380	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
9381		ServerResponse: googleapi.ServerResponse{
9382			Header:         res.Header,
9383			HTTPStatusCode: res.StatusCode,
9384		},
9385	}
9386	target := &ret
9387	if err := gensupport.DecodeResponse(target, res); err != nil {
9388		return nil, err
9389	}
9390	return ret, nil
9391	// {
9392	//   "description": "Gets a taxonomy.",
9393	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
9394	//   "httpMethod": "GET",
9395	//   "id": "datacatalog.projects.locations.taxonomies.get",
9396	//   "parameterOrder": [
9397	//     "name"
9398	//   ],
9399	//   "parameters": {
9400	//     "name": {
9401	//       "description": "Required. Resource name of the requested taxonomy.",
9402	//       "location": "path",
9403	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9404	//       "required": true,
9405	//       "type": "string"
9406	//     }
9407	//   },
9408	//   "path": "v1beta1/{+name}",
9409	//   "response": {
9410	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9411	//   },
9412	//   "scopes": [
9413	//     "https://www.googleapis.com/auth/cloud-platform"
9414	//   ]
9415	// }
9416
9417}
9418
9419// method id "datacatalog.projects.locations.taxonomies.getIamPolicy":
9420
9421type ProjectsLocationsTaxonomiesGetIamPolicyCall struct {
9422	s                   *Service
9423	resource            string
9424	getiampolicyrequest *GetIamPolicyRequest
9425	urlParams_          gensupport.URLParams
9426	ctx_                context.Context
9427	header_             http.Header
9428}
9429
9430// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
9431func (r *ProjectsLocationsTaxonomiesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9432	c := &ProjectsLocationsTaxonomiesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9433	c.resource = resource
9434	c.getiampolicyrequest = getiampolicyrequest
9435	return c
9436}
9437
9438// Fields allows partial responses to be retrieved. See
9439// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9440// for more information.
9441func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9442	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9443	return c
9444}
9445
9446// Context sets the context to be used in this call's Do method. Any
9447// pending HTTP request will be aborted if the provided context is
9448// canceled.
9449func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9450	c.ctx_ = ctx
9451	return c
9452}
9453
9454// Header returns an http.Header that can be modified by the caller to
9455// add HTTP headers to the request.
9456func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Header() http.Header {
9457	if c.header_ == nil {
9458		c.header_ = make(http.Header)
9459	}
9460	return c.header_
9461}
9462
9463func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9464	reqHeaders := make(http.Header)
9465	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9466	for k, v := range c.header_ {
9467		reqHeaders[k] = v
9468	}
9469	reqHeaders.Set("User-Agent", c.s.userAgent())
9470	var body io.Reader = nil
9471	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
9472	if err != nil {
9473		return nil, err
9474	}
9475	reqHeaders.Set("Content-Type", "application/json")
9476	c.urlParams_.Set("alt", alt)
9477	c.urlParams_.Set("prettyPrint", "false")
9478	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9479	urls += "?" + c.urlParams_.Encode()
9480	req, err := http.NewRequest("POST", urls, body)
9481	if err != nil {
9482		return nil, err
9483	}
9484	req.Header = reqHeaders
9485	googleapi.Expand(req.URL, map[string]string{
9486		"resource": c.resource,
9487	})
9488	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9489}
9490
9491// Do executes the "datacatalog.projects.locations.taxonomies.getIamPolicy" call.
9492// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9493// code is an error. Response headers are in either
9494// *Policy.ServerResponse.Header or (if a response was returned at all)
9495// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9496// check whether the returned error was because http.StatusNotModified
9497// was returned.
9498func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9499	gensupport.SetOptions(c.urlParams_, opts...)
9500	res, err := c.doRequest("json")
9501	if res != nil && res.StatusCode == http.StatusNotModified {
9502		if res.Body != nil {
9503			res.Body.Close()
9504		}
9505		return nil, &googleapi.Error{
9506			Code:   res.StatusCode,
9507			Header: res.Header,
9508		}
9509	}
9510	if err != nil {
9511		return nil, err
9512	}
9513	defer googleapi.CloseBody(res)
9514	if err := googleapi.CheckResponse(res); err != nil {
9515		return nil, err
9516	}
9517	ret := &Policy{
9518		ServerResponse: googleapi.ServerResponse{
9519			Header:         res.Header,
9520			HTTPStatusCode: res.StatusCode,
9521		},
9522	}
9523	target := &ret
9524	if err := gensupport.DecodeResponse(target, res); err != nil {
9525		return nil, err
9526	}
9527	return ret, nil
9528	// {
9529	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
9530	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:getIamPolicy",
9531	//   "httpMethod": "POST",
9532	//   "id": "datacatalog.projects.locations.taxonomies.getIamPolicy",
9533	//   "parameterOrder": [
9534	//     "resource"
9535	//   ],
9536	//   "parameters": {
9537	//     "resource": {
9538	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
9539	//       "location": "path",
9540	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9541	//       "required": true,
9542	//       "type": "string"
9543	//     }
9544	//   },
9545	//   "path": "v1beta1/{+resource}:getIamPolicy",
9546	//   "request": {
9547	//     "$ref": "GetIamPolicyRequest"
9548	//   },
9549	//   "response": {
9550	//     "$ref": "Policy"
9551	//   },
9552	//   "scopes": [
9553	//     "https://www.googleapis.com/auth/cloud-platform"
9554	//   ]
9555	// }
9556
9557}
9558
9559// method id "datacatalog.projects.locations.taxonomies.import":
9560
9561type ProjectsLocationsTaxonomiesImportCall struct {
9562	s                                                    *Service
9563	parent                                               string
9564	googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
9565	urlParams_                                           gensupport.URLParams
9566	ctx_                                                 context.Context
9567	header_                                              http.Header
9568}
9569
9570// Import: Imports all taxonomies and their policy tags to a project as
9571// new
9572// taxonomies.
9573//
9574// This method provides a bulk taxonomy / policy tag creation using
9575// nested
9576// proto structure.
9577func (r *ProjectsLocationsTaxonomiesService) Import(parent string, googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) *ProjectsLocationsTaxonomiesImportCall {
9578	c := &ProjectsLocationsTaxonomiesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9579	c.parent = parent
9580	c.googleclouddatacatalogv1beta1importtaxonomiesrequest = googleclouddatacatalogv1beta1importtaxonomiesrequest
9581	return c
9582}
9583
9584// Fields allows partial responses to be retrieved. See
9585// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9586// for more information.
9587func (c *ProjectsLocationsTaxonomiesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesImportCall {
9588	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9589	return c
9590}
9591
9592// Context sets the context to be used in this call's Do method. Any
9593// pending HTTP request will be aborted if the provided context is
9594// canceled.
9595func (c *ProjectsLocationsTaxonomiesImportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesImportCall {
9596	c.ctx_ = ctx
9597	return c
9598}
9599
9600// Header returns an http.Header that can be modified by the caller to
9601// add HTTP headers to the request.
9602func (c *ProjectsLocationsTaxonomiesImportCall) Header() http.Header {
9603	if c.header_ == nil {
9604		c.header_ = make(http.Header)
9605	}
9606	return c.header_
9607}
9608
9609func (c *ProjectsLocationsTaxonomiesImportCall) doRequest(alt string) (*http.Response, error) {
9610	reqHeaders := make(http.Header)
9611	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9612	for k, v := range c.header_ {
9613		reqHeaders[k] = v
9614	}
9615	reqHeaders.Set("User-Agent", c.s.userAgent())
9616	var body io.Reader = nil
9617	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1importtaxonomiesrequest)
9618	if err != nil {
9619		return nil, err
9620	}
9621	reqHeaders.Set("Content-Type", "application/json")
9622	c.urlParams_.Set("alt", alt)
9623	c.urlParams_.Set("prettyPrint", "false")
9624	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:import")
9625	urls += "?" + c.urlParams_.Encode()
9626	req, err := http.NewRequest("POST", urls, body)
9627	if err != nil {
9628		return nil, err
9629	}
9630	req.Header = reqHeaders
9631	googleapi.Expand(req.URL, map[string]string{
9632		"parent": c.parent,
9633	})
9634	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9635}
9636
9637// Do executes the "datacatalog.projects.locations.taxonomies.import" call.
9638// Exactly one of *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
9639// or error will be non-nil. Any non-2xx status code is an error.
9640// Response headers are in either
9641// *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse.ServerResponse.
9642// Header or (if a response was returned at all) in
9643// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9644// whether the returned error was because http.StatusNotModified was
9645// returned.
9646func (c *ProjectsLocationsTaxonomiesImportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse, error) {
9647	gensupport.SetOptions(c.urlParams_, opts...)
9648	res, err := c.doRequest("json")
9649	if res != nil && res.StatusCode == http.StatusNotModified {
9650		if res.Body != nil {
9651			res.Body.Close()
9652		}
9653		return nil, &googleapi.Error{
9654			Code:   res.StatusCode,
9655			Header: res.Header,
9656		}
9657	}
9658	if err != nil {
9659		return nil, err
9660	}
9661	defer googleapi.CloseBody(res)
9662	if err := googleapi.CheckResponse(res); err != nil {
9663		return nil, err
9664	}
9665	ret := &GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse{
9666		ServerResponse: googleapi.ServerResponse{
9667			Header:         res.Header,
9668			HTTPStatusCode: res.StatusCode,
9669		},
9670	}
9671	target := &ret
9672	if err := gensupport.DecodeResponse(target, res); err != nil {
9673		return nil, err
9674	}
9675	return ret, nil
9676	// {
9677	//   "description": "Imports all taxonomies and their policy tags to a project as new\ntaxonomies.\n\nThis method provides a bulk taxonomy / policy tag creation using nested\nproto structure.",
9678	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
9679	//   "httpMethod": "POST",
9680	//   "id": "datacatalog.projects.locations.taxonomies.import",
9681	//   "parameterOrder": [
9682	//     "parent"
9683	//   ],
9684	//   "parameters": {
9685	//     "parent": {
9686	//       "description": "Required. Resource name of project that the imported taxonomies will belong to.",
9687	//       "location": "path",
9688	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9689	//       "required": true,
9690	//       "type": "string"
9691	//     }
9692	//   },
9693	//   "path": "v1beta1/{+parent}/taxonomies:import",
9694	//   "request": {
9695	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest"
9696	//   },
9697	//   "response": {
9698	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse"
9699	//   },
9700	//   "scopes": [
9701	//     "https://www.googleapis.com/auth/cloud-platform"
9702	//   ]
9703	// }
9704
9705}
9706
9707// method id "datacatalog.projects.locations.taxonomies.list":
9708
9709type ProjectsLocationsTaxonomiesListCall struct {
9710	s            *Service
9711	parent       string
9712	urlParams_   gensupport.URLParams
9713	ifNoneMatch_ string
9714	ctx_         context.Context
9715	header_      http.Header
9716}
9717
9718// List: Lists all taxonomies in a project in a particular location that
9719// the caller
9720// has permission to view.
9721func (r *ProjectsLocationsTaxonomiesService) List(parent string) *ProjectsLocationsTaxonomiesListCall {
9722	c := &ProjectsLocationsTaxonomiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9723	c.parent = parent
9724	return c
9725}
9726
9727// PageSize sets the optional parameter "pageSize": The maximum number
9728// of items to return. Must be a value between 1 and 1000.
9729// If not set, defaults to 50.
9730func (c *ProjectsLocationsTaxonomiesListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesListCall {
9731	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9732	return c
9733}
9734
9735// PageToken sets the optional parameter "pageToken": The
9736// next_page_token value returned from a previous list request, if any.
9737// If
9738// not set, defaults to an empty string.
9739func (c *ProjectsLocationsTaxonomiesListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesListCall {
9740	c.urlParams_.Set("pageToken", pageToken)
9741	return c
9742}
9743
9744// Fields allows partial responses to be retrieved. See
9745// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9746// for more information.
9747func (c *ProjectsLocationsTaxonomiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesListCall {
9748	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9749	return c
9750}
9751
9752// IfNoneMatch sets the optional parameter which makes the operation
9753// fail if the object's ETag matches the given value. This is useful for
9754// getting updates only after the object has changed since the last
9755// request. Use googleapi.IsNotModified to check whether the response
9756// error from Do is the result of In-None-Match.
9757func (c *ProjectsLocationsTaxonomiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesListCall {
9758	c.ifNoneMatch_ = entityTag
9759	return c
9760}
9761
9762// Context sets the context to be used in this call's Do method. Any
9763// pending HTTP request will be aborted if the provided context is
9764// canceled.
9765func (c *ProjectsLocationsTaxonomiesListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesListCall {
9766	c.ctx_ = ctx
9767	return c
9768}
9769
9770// Header returns an http.Header that can be modified by the caller to
9771// add HTTP headers to the request.
9772func (c *ProjectsLocationsTaxonomiesListCall) Header() http.Header {
9773	if c.header_ == nil {
9774		c.header_ = make(http.Header)
9775	}
9776	return c.header_
9777}
9778
9779func (c *ProjectsLocationsTaxonomiesListCall) doRequest(alt string) (*http.Response, error) {
9780	reqHeaders := make(http.Header)
9781	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9782	for k, v := range c.header_ {
9783		reqHeaders[k] = v
9784	}
9785	reqHeaders.Set("User-Agent", c.s.userAgent())
9786	if c.ifNoneMatch_ != "" {
9787		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9788	}
9789	var body io.Reader = nil
9790	c.urlParams_.Set("alt", alt)
9791	c.urlParams_.Set("prettyPrint", "false")
9792	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
9793	urls += "?" + c.urlParams_.Encode()
9794	req, err := http.NewRequest("GET", urls, body)
9795	if err != nil {
9796		return nil, err
9797	}
9798	req.Header = reqHeaders
9799	googleapi.Expand(req.URL, map[string]string{
9800		"parent": c.parent,
9801	})
9802	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9803}
9804
9805// Do executes the "datacatalog.projects.locations.taxonomies.list" call.
9806// Exactly one of *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
9807// or error will be non-nil. Any non-2xx status code is an error.
9808// Response headers are in either
9809// *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse.ServerResponse.He
9810// ader or (if a response was returned at all) in
9811// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9812// whether the returned error was because http.StatusNotModified was
9813// returned.
9814func (c *ProjectsLocationsTaxonomiesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse, error) {
9815	gensupport.SetOptions(c.urlParams_, opts...)
9816	res, err := c.doRequest("json")
9817	if res != nil && res.StatusCode == http.StatusNotModified {
9818		if res.Body != nil {
9819			res.Body.Close()
9820		}
9821		return nil, &googleapi.Error{
9822			Code:   res.StatusCode,
9823			Header: res.Header,
9824		}
9825	}
9826	if err != nil {
9827		return nil, err
9828	}
9829	defer googleapi.CloseBody(res)
9830	if err := googleapi.CheckResponse(res); err != nil {
9831		return nil, err
9832	}
9833	ret := &GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse{
9834		ServerResponse: googleapi.ServerResponse{
9835			Header:         res.Header,
9836			HTTPStatusCode: res.StatusCode,
9837		},
9838	}
9839	target := &ret
9840	if err := gensupport.DecodeResponse(target, res); err != nil {
9841		return nil, err
9842	}
9843	return ret, nil
9844	// {
9845	//   "description": "Lists all taxonomies in a project in a particular location that the caller\nhas permission to view.",
9846	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
9847	//   "httpMethod": "GET",
9848	//   "id": "datacatalog.projects.locations.taxonomies.list",
9849	//   "parameterOrder": [
9850	//     "parent"
9851	//   ],
9852	//   "parameters": {
9853	//     "pageSize": {
9854	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
9855	//       "format": "int32",
9856	//       "location": "query",
9857	//       "type": "integer"
9858	//     },
9859	//     "pageToken": {
9860	//       "description": "The next_page_token value returned from a previous list request, if any. If\nnot set, defaults to an empty string.",
9861	//       "location": "query",
9862	//       "type": "string"
9863	//     },
9864	//     "parent": {
9865	//       "description": "Required. Resource name of the project to list the taxonomies of.",
9866	//       "location": "path",
9867	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9868	//       "required": true,
9869	//       "type": "string"
9870	//     }
9871	//   },
9872	//   "path": "v1beta1/{+parent}/taxonomies",
9873	//   "response": {
9874	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse"
9875	//   },
9876	//   "scopes": [
9877	//     "https://www.googleapis.com/auth/cloud-platform"
9878	//   ]
9879	// }
9880
9881}
9882
9883// Pages invokes f for each page of results.
9884// A non-nil error returned from f will halt the iteration.
9885// The provided context supersedes any context provided to the Context method.
9886func (c *ProjectsLocationsTaxonomiesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) error) error {
9887	c.ctx_ = ctx
9888	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9889	for {
9890		x, err := c.Do()
9891		if err != nil {
9892			return err
9893		}
9894		if err := f(x); err != nil {
9895			return err
9896		}
9897		if x.NextPageToken == "" {
9898			return nil
9899		}
9900		c.PageToken(x.NextPageToken)
9901	}
9902}
9903
9904// method id "datacatalog.projects.locations.taxonomies.patch":
9905
9906type ProjectsLocationsTaxonomiesPatchCall struct {
9907	s                                     *Service
9908	name                                  string
9909	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
9910	urlParams_                            gensupport.URLParams
9911	ctx_                                  context.Context
9912	header_                               http.Header
9913}
9914
9915// Patch: Updates a taxonomy.
9916func (r *ProjectsLocationsTaxonomiesService) Patch(name string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesPatchCall {
9917	c := &ProjectsLocationsTaxonomiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9918	c.name = name
9919	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
9920	return c
9921}
9922
9923// UpdateMask sets the optional parameter "updateMask": The update mask
9924// applies to the resource. For the `FieldMask`
9925// definition,
9926// see
9927// https://developers.google.com/protocol-buffers/docs/re
9928// ference/google.protobuf#fieldmask
9929// If not set, defaults to all of the fields that are allowed to update.
9930func (c *ProjectsLocationsTaxonomiesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPatchCall {
9931	c.urlParams_.Set("updateMask", updateMask)
9932	return c
9933}
9934
9935// Fields allows partial responses to be retrieved. See
9936// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9937// for more information.
9938func (c *ProjectsLocationsTaxonomiesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPatchCall {
9939	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9940	return c
9941}
9942
9943// Context sets the context to be used in this call's Do method. Any
9944// pending HTTP request will be aborted if the provided context is
9945// canceled.
9946func (c *ProjectsLocationsTaxonomiesPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPatchCall {
9947	c.ctx_ = ctx
9948	return c
9949}
9950
9951// Header returns an http.Header that can be modified by the caller to
9952// add HTTP headers to the request.
9953func (c *ProjectsLocationsTaxonomiesPatchCall) Header() http.Header {
9954	if c.header_ == nil {
9955		c.header_ = make(http.Header)
9956	}
9957	return c.header_
9958}
9959
9960func (c *ProjectsLocationsTaxonomiesPatchCall) doRequest(alt string) (*http.Response, error) {
9961	reqHeaders := make(http.Header)
9962	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
9963	for k, v := range c.header_ {
9964		reqHeaders[k] = v
9965	}
9966	reqHeaders.Set("User-Agent", c.s.userAgent())
9967	var body io.Reader = nil
9968	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
9969	if err != nil {
9970		return nil, err
9971	}
9972	reqHeaders.Set("Content-Type", "application/json")
9973	c.urlParams_.Set("alt", alt)
9974	c.urlParams_.Set("prettyPrint", "false")
9975	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9976	urls += "?" + c.urlParams_.Encode()
9977	req, err := http.NewRequest("PATCH", urls, body)
9978	if err != nil {
9979		return nil, err
9980	}
9981	req.Header = reqHeaders
9982	googleapi.Expand(req.URL, map[string]string{
9983		"name": c.name,
9984	})
9985	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9986}
9987
9988// Do executes the "datacatalog.projects.locations.taxonomies.patch" call.
9989// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
9990// be non-nil. Any non-2xx status code is an error. Response headers are
9991// in either
9992// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
9993// response was returned at all) in error.(*googleapi.Error).Header. Use
9994// googleapi.IsNotModified to check whether the returned error was
9995// because http.StatusNotModified was returned.
9996func (c *ProjectsLocationsTaxonomiesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
9997	gensupport.SetOptions(c.urlParams_, opts...)
9998	res, err := c.doRequest("json")
9999	if res != nil && res.StatusCode == http.StatusNotModified {
10000		if res.Body != nil {
10001			res.Body.Close()
10002		}
10003		return nil, &googleapi.Error{
10004			Code:   res.StatusCode,
10005			Header: res.Header,
10006		}
10007	}
10008	if err != nil {
10009		return nil, err
10010	}
10011	defer googleapi.CloseBody(res)
10012	if err := googleapi.CheckResponse(res); err != nil {
10013		return nil, err
10014	}
10015	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
10016		ServerResponse: googleapi.ServerResponse{
10017			Header:         res.Header,
10018			HTTPStatusCode: res.StatusCode,
10019		},
10020	}
10021	target := &ret
10022	if err := gensupport.DecodeResponse(target, res); err != nil {
10023		return nil, err
10024	}
10025	return ret, nil
10026	// {
10027	//   "description": "Updates a taxonomy.",
10028	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
10029	//   "httpMethod": "PATCH",
10030	//   "id": "datacatalog.projects.locations.taxonomies.patch",
10031	//   "parameterOrder": [
10032	//     "name"
10033	//   ],
10034	//   "parameters": {
10035	//     "name": {
10036	//       "description": "Output only. Resource name of this taxonomy, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
10037	//       "location": "path",
10038	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10039	//       "required": true,
10040	//       "type": "string"
10041	//     },
10042	//     "updateMask": {
10043	//       "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
10044	//       "format": "google-fieldmask",
10045	//       "location": "query",
10046	//       "type": "string"
10047	//     }
10048	//   },
10049	//   "path": "v1beta1/{+name}",
10050	//   "request": {
10051	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
10052	//   },
10053	//   "response": {
10054	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
10055	//   },
10056	//   "scopes": [
10057	//     "https://www.googleapis.com/auth/cloud-platform"
10058	//   ]
10059	// }
10060
10061}
10062
10063// method id "datacatalog.projects.locations.taxonomies.setIamPolicy":
10064
10065type ProjectsLocationsTaxonomiesSetIamPolicyCall struct {
10066	s                   *Service
10067	resource            string
10068	setiampolicyrequest *SetIamPolicyRequest
10069	urlParams_          gensupport.URLParams
10070	ctx_                context.Context
10071	header_             http.Header
10072}
10073
10074// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
10075func (r *ProjectsLocationsTaxonomiesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
10076	c := &ProjectsLocationsTaxonomiesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10077	c.resource = resource
10078	c.setiampolicyrequest = setiampolicyrequest
10079	return c
10080}
10081
10082// Fields allows partial responses to be retrieved. See
10083// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10084// for more information.
10085func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
10086	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10087	return c
10088}
10089
10090// Context sets the context to be used in this call's Do method. Any
10091// pending HTTP request will be aborted if the provided context is
10092// canceled.
10093func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
10094	c.ctx_ = ctx
10095	return c
10096}
10097
10098// Header returns an http.Header that can be modified by the caller to
10099// add HTTP headers to the request.
10100func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Header() http.Header {
10101	if c.header_ == nil {
10102		c.header_ = make(http.Header)
10103	}
10104	return c.header_
10105}
10106
10107func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10108	reqHeaders := make(http.Header)
10109	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10110	for k, v := range c.header_ {
10111		reqHeaders[k] = v
10112	}
10113	reqHeaders.Set("User-Agent", c.s.userAgent())
10114	var body io.Reader = nil
10115	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
10116	if err != nil {
10117		return nil, err
10118	}
10119	reqHeaders.Set("Content-Type", "application/json")
10120	c.urlParams_.Set("alt", alt)
10121	c.urlParams_.Set("prettyPrint", "false")
10122	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
10123	urls += "?" + c.urlParams_.Encode()
10124	req, err := http.NewRequest("POST", urls, body)
10125	if err != nil {
10126		return nil, err
10127	}
10128	req.Header = reqHeaders
10129	googleapi.Expand(req.URL, map[string]string{
10130		"resource": c.resource,
10131	})
10132	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10133}
10134
10135// Do executes the "datacatalog.projects.locations.taxonomies.setIamPolicy" call.
10136// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10137// code is an error. Response headers are in either
10138// *Policy.ServerResponse.Header or (if a response was returned at all)
10139// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10140// check whether the returned error was because http.StatusNotModified
10141// was returned.
10142func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10143	gensupport.SetOptions(c.urlParams_, opts...)
10144	res, err := c.doRequest("json")
10145	if res != nil && res.StatusCode == http.StatusNotModified {
10146		if res.Body != nil {
10147			res.Body.Close()
10148		}
10149		return nil, &googleapi.Error{
10150			Code:   res.StatusCode,
10151			Header: res.Header,
10152		}
10153	}
10154	if err != nil {
10155		return nil, err
10156	}
10157	defer googleapi.CloseBody(res)
10158	if err := googleapi.CheckResponse(res); err != nil {
10159		return nil, err
10160	}
10161	ret := &Policy{
10162		ServerResponse: googleapi.ServerResponse{
10163			Header:         res.Header,
10164			HTTPStatusCode: res.StatusCode,
10165		},
10166	}
10167	target := &ret
10168	if err := gensupport.DecodeResponse(target, res); err != nil {
10169		return nil, err
10170	}
10171	return ret, nil
10172	// {
10173	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
10174	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:setIamPolicy",
10175	//   "httpMethod": "POST",
10176	//   "id": "datacatalog.projects.locations.taxonomies.setIamPolicy",
10177	//   "parameterOrder": [
10178	//     "resource"
10179	//   ],
10180	//   "parameters": {
10181	//     "resource": {
10182	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
10183	//       "location": "path",
10184	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10185	//       "required": true,
10186	//       "type": "string"
10187	//     }
10188	//   },
10189	//   "path": "v1beta1/{+resource}:setIamPolicy",
10190	//   "request": {
10191	//     "$ref": "SetIamPolicyRequest"
10192	//   },
10193	//   "response": {
10194	//     "$ref": "Policy"
10195	//   },
10196	//   "scopes": [
10197	//     "https://www.googleapis.com/auth/cloud-platform"
10198	//   ]
10199	// }
10200
10201}
10202
10203// method id "datacatalog.projects.locations.taxonomies.testIamPermissions":
10204
10205type ProjectsLocationsTaxonomiesTestIamPermissionsCall struct {
10206	s                         *Service
10207	resource                  string
10208	testiampermissionsrequest *TestIamPermissionsRequest
10209	urlParams_                gensupport.URLParams
10210	ctx_                      context.Context
10211	header_                   http.Header
10212}
10213
10214// TestIamPermissions: Returns the permissions that a caller has on the
10215// specified taxonomy or
10216// policy tag.
10217func (r *ProjectsLocationsTaxonomiesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
10218	c := &ProjectsLocationsTaxonomiesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10219	c.resource = resource
10220	c.testiampermissionsrequest = testiampermissionsrequest
10221	return c
10222}
10223
10224// Fields allows partial responses to be retrieved. See
10225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10226// for more information.
10227func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
10228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10229	return c
10230}
10231
10232// Context sets the context to be used in this call's Do method. Any
10233// pending HTTP request will be aborted if the provided context is
10234// canceled.
10235func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
10236	c.ctx_ = ctx
10237	return c
10238}
10239
10240// Header returns an http.Header that can be modified by the caller to
10241// add HTTP headers to the request.
10242func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Header() http.Header {
10243	if c.header_ == nil {
10244		c.header_ = make(http.Header)
10245	}
10246	return c.header_
10247}
10248
10249func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
10250	reqHeaders := make(http.Header)
10251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10252	for k, v := range c.header_ {
10253		reqHeaders[k] = v
10254	}
10255	reqHeaders.Set("User-Agent", c.s.userAgent())
10256	var body io.Reader = nil
10257	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
10258	if err != nil {
10259		return nil, err
10260	}
10261	reqHeaders.Set("Content-Type", "application/json")
10262	c.urlParams_.Set("alt", alt)
10263	c.urlParams_.Set("prettyPrint", "false")
10264	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
10265	urls += "?" + c.urlParams_.Encode()
10266	req, err := http.NewRequest("POST", urls, body)
10267	if err != nil {
10268		return nil, err
10269	}
10270	req.Header = reqHeaders
10271	googleapi.Expand(req.URL, map[string]string{
10272		"resource": c.resource,
10273	})
10274	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10275}
10276
10277// Do executes the "datacatalog.projects.locations.taxonomies.testIamPermissions" call.
10278// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
10279// Any non-2xx status code is an error. Response headers are in either
10280// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
10281// was returned at all) in error.(*googleapi.Error).Header. Use
10282// googleapi.IsNotModified to check whether the returned error was
10283// because http.StatusNotModified was returned.
10284func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
10285	gensupport.SetOptions(c.urlParams_, opts...)
10286	res, err := c.doRequest("json")
10287	if res != nil && res.StatusCode == http.StatusNotModified {
10288		if res.Body != nil {
10289			res.Body.Close()
10290		}
10291		return nil, &googleapi.Error{
10292			Code:   res.StatusCode,
10293			Header: res.Header,
10294		}
10295	}
10296	if err != nil {
10297		return nil, err
10298	}
10299	defer googleapi.CloseBody(res)
10300	if err := googleapi.CheckResponse(res); err != nil {
10301		return nil, err
10302	}
10303	ret := &TestIamPermissionsResponse{
10304		ServerResponse: googleapi.ServerResponse{
10305			Header:         res.Header,
10306			HTTPStatusCode: res.StatusCode,
10307		},
10308	}
10309	target := &ret
10310	if err := gensupport.DecodeResponse(target, res); err != nil {
10311		return nil, err
10312	}
10313	return ret, nil
10314	// {
10315	//   "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
10316	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
10317	//   "httpMethod": "POST",
10318	//   "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
10319	//   "parameterOrder": [
10320	//     "resource"
10321	//   ],
10322	//   "parameters": {
10323	//     "resource": {
10324	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
10325	//       "location": "path",
10326	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10327	//       "required": true,
10328	//       "type": "string"
10329	//     }
10330	//   },
10331	//   "path": "v1beta1/{+resource}:testIamPermissions",
10332	//   "request": {
10333	//     "$ref": "TestIamPermissionsRequest"
10334	//   },
10335	//   "response": {
10336	//     "$ref": "TestIamPermissionsResponse"
10337	//   },
10338	//   "scopes": [
10339	//     "https://www.googleapis.com/auth/cloud-platform"
10340	//   ]
10341	// }
10342
10343}
10344
10345// method id "datacatalog.projects.locations.taxonomies.policyTags.create":
10346
10347type ProjectsLocationsTaxonomiesPolicyTagsCreateCall struct {
10348	s                                      *Service
10349	parent                                 string
10350	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
10351	urlParams_                             gensupport.URLParams
10352	ctx_                                   context.Context
10353	header_                                http.Header
10354}
10355
10356// Create: Creates a policy tag in the specified taxonomy.
10357func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Create(parent string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10358	c := &ProjectsLocationsTaxonomiesPolicyTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10359	c.parent = parent
10360	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
10361	return c
10362}
10363
10364// Fields allows partial responses to be retrieved. See
10365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10366// for more information.
10367func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10369	return c
10370}
10371
10372// Context sets the context to be used in this call's Do method. Any
10373// pending HTTP request will be aborted if the provided context is
10374// canceled.
10375func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
10376	c.ctx_ = ctx
10377	return c
10378}
10379
10380// Header returns an http.Header that can be modified by the caller to
10381// add HTTP headers to the request.
10382func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Header() http.Header {
10383	if c.header_ == nil {
10384		c.header_ = make(http.Header)
10385	}
10386	return c.header_
10387}
10388
10389func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) doRequest(alt string) (*http.Response, error) {
10390	reqHeaders := make(http.Header)
10391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10392	for k, v := range c.header_ {
10393		reqHeaders[k] = v
10394	}
10395	reqHeaders.Set("User-Agent", c.s.userAgent())
10396	var body io.Reader = nil
10397	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
10398	if err != nil {
10399		return nil, err
10400	}
10401	reqHeaders.Set("Content-Type", "application/json")
10402	c.urlParams_.Set("alt", alt)
10403	c.urlParams_.Set("prettyPrint", "false")
10404	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
10405	urls += "?" + c.urlParams_.Encode()
10406	req, err := http.NewRequest("POST", urls, body)
10407	if err != nil {
10408		return nil, err
10409	}
10410	req.Header = reqHeaders
10411	googleapi.Expand(req.URL, map[string]string{
10412		"parent": c.parent,
10413	})
10414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10415}
10416
10417// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.create" call.
10418// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10419// be non-nil. Any non-2xx status code is an error. Response headers are
10420// in either
10421// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10422// a response was returned at all) in error.(*googleapi.Error).Header.
10423// Use googleapi.IsNotModified to check whether the returned error was
10424// because http.StatusNotModified was returned.
10425func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10426	gensupport.SetOptions(c.urlParams_, opts...)
10427	res, err := c.doRequest("json")
10428	if res != nil && res.StatusCode == http.StatusNotModified {
10429		if res.Body != nil {
10430			res.Body.Close()
10431		}
10432		return nil, &googleapi.Error{
10433			Code:   res.StatusCode,
10434			Header: res.Header,
10435		}
10436	}
10437	if err != nil {
10438		return nil, err
10439	}
10440	defer googleapi.CloseBody(res)
10441	if err := googleapi.CheckResponse(res); err != nil {
10442		return nil, err
10443	}
10444	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10445		ServerResponse: googleapi.ServerResponse{
10446			Header:         res.Header,
10447			HTTPStatusCode: res.StatusCode,
10448		},
10449	}
10450	target := &ret
10451	if err := gensupport.DecodeResponse(target, res); err != nil {
10452		return nil, err
10453	}
10454	return ret, nil
10455	// {
10456	//   "description": "Creates a policy tag in the specified taxonomy.",
10457	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
10458	//   "httpMethod": "POST",
10459	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.create",
10460	//   "parameterOrder": [
10461	//     "parent"
10462	//   ],
10463	//   "parameters": {
10464	//     "parent": {
10465	//       "description": "Required. Resource name of the taxonomy that the policy tag will belong to.",
10466	//       "location": "path",
10467	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10468	//       "required": true,
10469	//       "type": "string"
10470	//     }
10471	//   },
10472	//   "path": "v1beta1/{+parent}/policyTags",
10473	//   "request": {
10474	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10475	//   },
10476	//   "response": {
10477	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10478	//   },
10479	//   "scopes": [
10480	//     "https://www.googleapis.com/auth/cloud-platform"
10481	//   ]
10482	// }
10483
10484}
10485
10486// method id "datacatalog.projects.locations.taxonomies.policyTags.delete":
10487
10488type ProjectsLocationsTaxonomiesPolicyTagsDeleteCall struct {
10489	s          *Service
10490	name       string
10491	urlParams_ gensupport.URLParams
10492	ctx_       context.Context
10493	header_    http.Header
10494}
10495
10496// Delete: Deletes a policy tag. Also deletes all of its descendant
10497// policy tags.
10498func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Delete(name string) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10499	c := &ProjectsLocationsTaxonomiesPolicyTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10500	c.name = name
10501	return c
10502}
10503
10504// Fields allows partial responses to be retrieved. See
10505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10506// for more information.
10507func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10509	return c
10510}
10511
10512// Context sets the context to be used in this call's Do method. Any
10513// pending HTTP request will be aborted if the provided context is
10514// canceled.
10515func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10516	c.ctx_ = ctx
10517	return c
10518}
10519
10520// Header returns an http.Header that can be modified by the caller to
10521// add HTTP headers to the request.
10522func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Header() http.Header {
10523	if c.header_ == nil {
10524		c.header_ = make(http.Header)
10525	}
10526	return c.header_
10527}
10528
10529func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
10530	reqHeaders := make(http.Header)
10531	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10532	for k, v := range c.header_ {
10533		reqHeaders[k] = v
10534	}
10535	reqHeaders.Set("User-Agent", c.s.userAgent())
10536	var body io.Reader = nil
10537	c.urlParams_.Set("alt", alt)
10538	c.urlParams_.Set("prettyPrint", "false")
10539	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10540	urls += "?" + c.urlParams_.Encode()
10541	req, err := http.NewRequest("DELETE", urls, body)
10542	if err != nil {
10543		return nil, err
10544	}
10545	req.Header = reqHeaders
10546	googleapi.Expand(req.URL, map[string]string{
10547		"name": c.name,
10548	})
10549	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10550}
10551
10552// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.delete" call.
10553// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10554// code is an error. Response headers are in either
10555// *Empty.ServerResponse.Header or (if a response was returned at all)
10556// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10557// check whether the returned error was because http.StatusNotModified
10558// was returned.
10559func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10560	gensupport.SetOptions(c.urlParams_, opts...)
10561	res, err := c.doRequest("json")
10562	if res != nil && res.StatusCode == http.StatusNotModified {
10563		if res.Body != nil {
10564			res.Body.Close()
10565		}
10566		return nil, &googleapi.Error{
10567			Code:   res.StatusCode,
10568			Header: res.Header,
10569		}
10570	}
10571	if err != nil {
10572		return nil, err
10573	}
10574	defer googleapi.CloseBody(res)
10575	if err := googleapi.CheckResponse(res); err != nil {
10576		return nil, err
10577	}
10578	ret := &Empty{
10579		ServerResponse: googleapi.ServerResponse{
10580			Header:         res.Header,
10581			HTTPStatusCode: res.StatusCode,
10582		},
10583	}
10584	target := &ret
10585	if err := gensupport.DecodeResponse(target, res); err != nil {
10586		return nil, err
10587	}
10588	return ret, nil
10589	// {
10590	//   "description": "Deletes a policy tag. Also deletes all of its descendant policy tags.",
10591	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10592	//   "httpMethod": "DELETE",
10593	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.delete",
10594	//   "parameterOrder": [
10595	//     "name"
10596	//   ],
10597	//   "parameters": {
10598	//     "name": {
10599	//       "description": "Required. Resource name of the policy tag to be deleted. All of its descendant\npolicy tags will also be deleted.",
10600	//       "location": "path",
10601	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10602	//       "required": true,
10603	//       "type": "string"
10604	//     }
10605	//   },
10606	//   "path": "v1beta1/{+name}",
10607	//   "response": {
10608	//     "$ref": "Empty"
10609	//   },
10610	//   "scopes": [
10611	//     "https://www.googleapis.com/auth/cloud-platform"
10612	//   ]
10613	// }
10614
10615}
10616
10617// method id "datacatalog.projects.locations.taxonomies.policyTags.get":
10618
10619type ProjectsLocationsTaxonomiesPolicyTagsGetCall struct {
10620	s            *Service
10621	name         string
10622	urlParams_   gensupport.URLParams
10623	ifNoneMatch_ string
10624	ctx_         context.Context
10625	header_      http.Header
10626}
10627
10628// Get: Gets a policy tag.
10629func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Get(name string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10630	c := &ProjectsLocationsTaxonomiesPolicyTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10631	c.name = name
10632	return c
10633}
10634
10635// Fields allows partial responses to be retrieved. See
10636// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10637// for more information.
10638func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10639	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10640	return c
10641}
10642
10643// IfNoneMatch sets the optional parameter which makes the operation
10644// fail if the object's ETag matches the given value. This is useful for
10645// getting updates only after the object has changed since the last
10646// request. Use googleapi.IsNotModified to check whether the response
10647// error from Do is the result of In-None-Match.
10648func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10649	c.ifNoneMatch_ = entityTag
10650	return c
10651}
10652
10653// Context sets the context to be used in this call's Do method. Any
10654// pending HTTP request will be aborted if the provided context is
10655// canceled.
10656func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10657	c.ctx_ = ctx
10658	return c
10659}
10660
10661// Header returns an http.Header that can be modified by the caller to
10662// add HTTP headers to the request.
10663func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Header() http.Header {
10664	if c.header_ == nil {
10665		c.header_ = make(http.Header)
10666	}
10667	return c.header_
10668}
10669
10670func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) doRequest(alt string) (*http.Response, error) {
10671	reqHeaders := make(http.Header)
10672	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10673	for k, v := range c.header_ {
10674		reqHeaders[k] = v
10675	}
10676	reqHeaders.Set("User-Agent", c.s.userAgent())
10677	if c.ifNoneMatch_ != "" {
10678		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10679	}
10680	var body io.Reader = nil
10681	c.urlParams_.Set("alt", alt)
10682	c.urlParams_.Set("prettyPrint", "false")
10683	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10684	urls += "?" + c.urlParams_.Encode()
10685	req, err := http.NewRequest("GET", urls, body)
10686	if err != nil {
10687		return nil, err
10688	}
10689	req.Header = reqHeaders
10690	googleapi.Expand(req.URL, map[string]string{
10691		"name": c.name,
10692	})
10693	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10694}
10695
10696// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.get" call.
10697// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10698// be non-nil. Any non-2xx status code is an error. Response headers are
10699// in either
10700// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10701// a response was returned at all) in error.(*googleapi.Error).Header.
10702// Use googleapi.IsNotModified to check whether the returned error was
10703// because http.StatusNotModified was returned.
10704func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10705	gensupport.SetOptions(c.urlParams_, opts...)
10706	res, err := c.doRequest("json")
10707	if res != nil && res.StatusCode == http.StatusNotModified {
10708		if res.Body != nil {
10709			res.Body.Close()
10710		}
10711		return nil, &googleapi.Error{
10712			Code:   res.StatusCode,
10713			Header: res.Header,
10714		}
10715	}
10716	if err != nil {
10717		return nil, err
10718	}
10719	defer googleapi.CloseBody(res)
10720	if err := googleapi.CheckResponse(res); err != nil {
10721		return nil, err
10722	}
10723	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10724		ServerResponse: googleapi.ServerResponse{
10725			Header:         res.Header,
10726			HTTPStatusCode: res.StatusCode,
10727		},
10728	}
10729	target := &ret
10730	if err := gensupport.DecodeResponse(target, res); err != nil {
10731		return nil, err
10732	}
10733	return ret, nil
10734	// {
10735	//   "description": "Gets a policy tag.",
10736	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10737	//   "httpMethod": "GET",
10738	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.get",
10739	//   "parameterOrder": [
10740	//     "name"
10741	//   ],
10742	//   "parameters": {
10743	//     "name": {
10744	//       "description": "Required. Resource name of the requested policy tag.",
10745	//       "location": "path",
10746	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10747	//       "required": true,
10748	//       "type": "string"
10749	//     }
10750	//   },
10751	//   "path": "v1beta1/{+name}",
10752	//   "response": {
10753	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10754	//   },
10755	//   "scopes": [
10756	//     "https://www.googleapis.com/auth/cloud-platform"
10757	//   ]
10758	// }
10759
10760}
10761
10762// method id "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy":
10763
10764type ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall struct {
10765	s                   *Service
10766	resource            string
10767	getiampolicyrequest *GetIamPolicyRequest
10768	urlParams_          gensupport.URLParams
10769	ctx_                context.Context
10770	header_             http.Header
10771}
10772
10773// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
10774func (r *ProjectsLocationsTaxonomiesPolicyTagsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10775	c := &ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10776	c.resource = resource
10777	c.getiampolicyrequest = getiampolicyrequest
10778	return c
10779}
10780
10781// Fields allows partial responses to be retrieved. See
10782// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10783// for more information.
10784func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10785	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10786	return c
10787}
10788
10789// Context sets the context to be used in this call's Do method. Any
10790// pending HTTP request will be aborted if the provided context is
10791// canceled.
10792func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10793	c.ctx_ = ctx
10794	return c
10795}
10796
10797// Header returns an http.Header that can be modified by the caller to
10798// add HTTP headers to the request.
10799func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Header() http.Header {
10800	if c.header_ == nil {
10801		c.header_ = make(http.Header)
10802	}
10803	return c.header_
10804}
10805
10806func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10807	reqHeaders := make(http.Header)
10808	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10809	for k, v := range c.header_ {
10810		reqHeaders[k] = v
10811	}
10812	reqHeaders.Set("User-Agent", c.s.userAgent())
10813	var body io.Reader = nil
10814	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
10815	if err != nil {
10816		return nil, err
10817	}
10818	reqHeaders.Set("Content-Type", "application/json")
10819	c.urlParams_.Set("alt", alt)
10820	c.urlParams_.Set("prettyPrint", "false")
10821	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
10822	urls += "?" + c.urlParams_.Encode()
10823	req, err := http.NewRequest("POST", urls, body)
10824	if err != nil {
10825		return nil, err
10826	}
10827	req.Header = reqHeaders
10828	googleapi.Expand(req.URL, map[string]string{
10829		"resource": c.resource,
10830	})
10831	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10832}
10833
10834// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy" call.
10835// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10836// code is an error. Response headers are in either
10837// *Policy.ServerResponse.Header or (if a response was returned at all)
10838// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10839// check whether the returned error was because http.StatusNotModified
10840// was returned.
10841func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10842	gensupport.SetOptions(c.urlParams_, opts...)
10843	res, err := c.doRequest("json")
10844	if res != nil && res.StatusCode == http.StatusNotModified {
10845		if res.Body != nil {
10846			res.Body.Close()
10847		}
10848		return nil, &googleapi.Error{
10849			Code:   res.StatusCode,
10850			Header: res.Header,
10851		}
10852	}
10853	if err != nil {
10854		return nil, err
10855	}
10856	defer googleapi.CloseBody(res)
10857	if err := googleapi.CheckResponse(res); err != nil {
10858		return nil, err
10859	}
10860	ret := &Policy{
10861		ServerResponse: googleapi.ServerResponse{
10862			Header:         res.Header,
10863			HTTPStatusCode: res.StatusCode,
10864		},
10865	}
10866	target := &ret
10867	if err := gensupport.DecodeResponse(target, res); err != nil {
10868		return nil, err
10869	}
10870	return ret, nil
10871	// {
10872	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
10873	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:getIamPolicy",
10874	//   "httpMethod": "POST",
10875	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy",
10876	//   "parameterOrder": [
10877	//     "resource"
10878	//   ],
10879	//   "parameters": {
10880	//     "resource": {
10881	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
10882	//       "location": "path",
10883	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10884	//       "required": true,
10885	//       "type": "string"
10886	//     }
10887	//   },
10888	//   "path": "v1beta1/{+resource}:getIamPolicy",
10889	//   "request": {
10890	//     "$ref": "GetIamPolicyRequest"
10891	//   },
10892	//   "response": {
10893	//     "$ref": "Policy"
10894	//   },
10895	//   "scopes": [
10896	//     "https://www.googleapis.com/auth/cloud-platform"
10897	//   ]
10898	// }
10899
10900}
10901
10902// method id "datacatalog.projects.locations.taxonomies.policyTags.list":
10903
10904type ProjectsLocationsTaxonomiesPolicyTagsListCall struct {
10905	s            *Service
10906	parent       string
10907	urlParams_   gensupport.URLParams
10908	ifNoneMatch_ string
10909	ctx_         context.Context
10910	header_      http.Header
10911}
10912
10913// List: Lists all policy tags in a taxonomy.
10914func (r *ProjectsLocationsTaxonomiesPolicyTagsService) List(parent string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10915	c := &ProjectsLocationsTaxonomiesPolicyTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10916	c.parent = parent
10917	return c
10918}
10919
10920// PageSize sets the optional parameter "pageSize": The maximum number
10921// of items to return. Must be a value between 1 and 1000.
10922// If not set, defaults to 50.
10923func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10924	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10925	return c
10926}
10927
10928// PageToken sets the optional parameter "pageToken": The
10929// next_page_token value returned from a previous List request, if any.
10930// If
10931// not set, defaults to an empty string.
10932func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10933	c.urlParams_.Set("pageToken", pageToken)
10934	return c
10935}
10936
10937// Fields allows partial responses to be retrieved. See
10938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10939// for more information.
10940func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10942	return c
10943}
10944
10945// IfNoneMatch sets the optional parameter which makes the operation
10946// fail if the object's ETag matches the given value. This is useful for
10947// getting updates only after the object has changed since the last
10948// request. Use googleapi.IsNotModified to check whether the response
10949// error from Do is the result of In-None-Match.
10950func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10951	c.ifNoneMatch_ = entityTag
10952	return c
10953}
10954
10955// Context sets the context to be used in this call's Do method. Any
10956// pending HTTP request will be aborted if the provided context is
10957// canceled.
10958func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10959	c.ctx_ = ctx
10960	return c
10961}
10962
10963// Header returns an http.Header that can be modified by the caller to
10964// add HTTP headers to the request.
10965func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Header() http.Header {
10966	if c.header_ == nil {
10967		c.header_ = make(http.Header)
10968	}
10969	return c.header_
10970}
10971
10972func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) doRequest(alt string) (*http.Response, error) {
10973	reqHeaders := make(http.Header)
10974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
10975	for k, v := range c.header_ {
10976		reqHeaders[k] = v
10977	}
10978	reqHeaders.Set("User-Agent", c.s.userAgent())
10979	if c.ifNoneMatch_ != "" {
10980		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10981	}
10982	var body io.Reader = nil
10983	c.urlParams_.Set("alt", alt)
10984	c.urlParams_.Set("prettyPrint", "false")
10985	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
10986	urls += "?" + c.urlParams_.Encode()
10987	req, err := http.NewRequest("GET", urls, body)
10988	if err != nil {
10989		return nil, err
10990	}
10991	req.Header = reqHeaders
10992	googleapi.Expand(req.URL, map[string]string{
10993		"parent": c.parent,
10994	})
10995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10996}
10997
10998// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.list" call.
10999// Exactly one of *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
11000// or error will be non-nil. Any non-2xx status code is an error.
11001// Response headers are in either
11002// *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse.ServerResponse.He
11003// ader or (if a response was returned at all) in
11004// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
11005// whether the returned error was because http.StatusNotModified was
11006// returned.
11007func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse, error) {
11008	gensupport.SetOptions(c.urlParams_, opts...)
11009	res, err := c.doRequest("json")
11010	if res != nil && res.StatusCode == http.StatusNotModified {
11011		if res.Body != nil {
11012			res.Body.Close()
11013		}
11014		return nil, &googleapi.Error{
11015			Code:   res.StatusCode,
11016			Header: res.Header,
11017		}
11018	}
11019	if err != nil {
11020		return nil, err
11021	}
11022	defer googleapi.CloseBody(res)
11023	if err := googleapi.CheckResponse(res); err != nil {
11024		return nil, err
11025	}
11026	ret := &GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse{
11027		ServerResponse: googleapi.ServerResponse{
11028			Header:         res.Header,
11029			HTTPStatusCode: res.StatusCode,
11030		},
11031	}
11032	target := &ret
11033	if err := gensupport.DecodeResponse(target, res); err != nil {
11034		return nil, err
11035	}
11036	return ret, nil
11037	// {
11038	//   "description": "Lists all policy tags in a taxonomy.",
11039	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
11040	//   "httpMethod": "GET",
11041	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.list",
11042	//   "parameterOrder": [
11043	//     "parent"
11044	//   ],
11045	//   "parameters": {
11046	//     "pageSize": {
11047	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
11048	//       "format": "int32",
11049	//       "location": "query",
11050	//       "type": "integer"
11051	//     },
11052	//     "pageToken": {
11053	//       "description": "The next_page_token value returned from a previous List request, if any. If\nnot set, defaults to an empty string.",
11054	//       "location": "query",
11055	//       "type": "string"
11056	//     },
11057	//     "parent": {
11058	//       "description": "Required. Resource name of the taxonomy to list the policy tags of.",
11059	//       "location": "path",
11060	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
11061	//       "required": true,
11062	//       "type": "string"
11063	//     }
11064	//   },
11065	//   "path": "v1beta1/{+parent}/policyTags",
11066	//   "response": {
11067	//     "$ref": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse"
11068	//   },
11069	//   "scopes": [
11070	//     "https://www.googleapis.com/auth/cloud-platform"
11071	//   ]
11072	// }
11073
11074}
11075
11076// Pages invokes f for each page of results.
11077// A non-nil error returned from f will halt the iteration.
11078// The provided context supersedes any context provided to the Context method.
11079func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) error) error {
11080	c.ctx_ = ctx
11081	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11082	for {
11083		x, err := c.Do()
11084		if err != nil {
11085			return err
11086		}
11087		if err := f(x); err != nil {
11088			return err
11089		}
11090		if x.NextPageToken == "" {
11091			return nil
11092		}
11093		c.PageToken(x.NextPageToken)
11094	}
11095}
11096
11097// method id "datacatalog.projects.locations.taxonomies.policyTags.patch":
11098
11099type ProjectsLocationsTaxonomiesPolicyTagsPatchCall struct {
11100	s                                      *Service
11101	name                                   string
11102	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
11103	urlParams_                             gensupport.URLParams
11104	ctx_                                   context.Context
11105	header_                                http.Header
11106}
11107
11108// Patch: Updates a policy tag.
11109func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Patch(name string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
11110	c := &ProjectsLocationsTaxonomiesPolicyTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11111	c.name = name
11112	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
11113	return c
11114}
11115
11116// UpdateMask sets the optional parameter "updateMask": The update mask
11117// applies to the resource. Only display_name, description
11118// and
11119// parent_policy_tag can be updated and thus can be listed in the mask.
11120// If
11121// update_mask is not provided, all allowed fields (i.e.
11122// display_name,
11123// description and parent) will be updated. For more information
11124// including the
11125// `FieldMask` definition,
11126// see
11127// https://developers.google.com/protocol-buffers/docs/reference/goog
11128// le.protobuf#fieldmask
11129// If not set, defaults to all of the fields that are allowed to update.
11130func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
11131	c.urlParams_.Set("updateMask", updateMask)
11132	return c
11133}
11134
11135// Fields allows partial responses to be retrieved. See
11136// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11137// for more information.
11138func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
11139	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11140	return c
11141}
11142
11143// Context sets the context to be used in this call's Do method. Any
11144// pending HTTP request will be aborted if the provided context is
11145// canceled.
11146func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
11147	c.ctx_ = ctx
11148	return c
11149}
11150
11151// Header returns an http.Header that can be modified by the caller to
11152// add HTTP headers to the request.
11153func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Header() http.Header {
11154	if c.header_ == nil {
11155		c.header_ = make(http.Header)
11156	}
11157	return c.header_
11158}
11159
11160func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) doRequest(alt string) (*http.Response, error) {
11161	reqHeaders := make(http.Header)
11162	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
11163	for k, v := range c.header_ {
11164		reqHeaders[k] = v
11165	}
11166	reqHeaders.Set("User-Agent", c.s.userAgent())
11167	var body io.Reader = nil
11168	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
11169	if err != nil {
11170		return nil, err
11171	}
11172	reqHeaders.Set("Content-Type", "application/json")
11173	c.urlParams_.Set("alt", alt)
11174	c.urlParams_.Set("prettyPrint", "false")
11175	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
11176	urls += "?" + c.urlParams_.Encode()
11177	req, err := http.NewRequest("PATCH", urls, body)
11178	if err != nil {
11179		return nil, err
11180	}
11181	req.Header = reqHeaders
11182	googleapi.Expand(req.URL, map[string]string{
11183		"name": c.name,
11184	})
11185	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11186}
11187
11188// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.patch" call.
11189// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
11190// be non-nil. Any non-2xx status code is an error. Response headers are
11191// in either
11192// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
11193// a response was returned at all) in error.(*googleapi.Error).Header.
11194// Use googleapi.IsNotModified to check whether the returned error was
11195// because http.StatusNotModified was returned.
11196func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
11197	gensupport.SetOptions(c.urlParams_, opts...)
11198	res, err := c.doRequest("json")
11199	if res != nil && res.StatusCode == http.StatusNotModified {
11200		if res.Body != nil {
11201			res.Body.Close()
11202		}
11203		return nil, &googleapi.Error{
11204			Code:   res.StatusCode,
11205			Header: res.Header,
11206		}
11207	}
11208	if err != nil {
11209		return nil, err
11210	}
11211	defer googleapi.CloseBody(res)
11212	if err := googleapi.CheckResponse(res); err != nil {
11213		return nil, err
11214	}
11215	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
11216		ServerResponse: googleapi.ServerResponse{
11217			Header:         res.Header,
11218			HTTPStatusCode: res.StatusCode,
11219		},
11220	}
11221	target := &ret
11222	if err := gensupport.DecodeResponse(target, res); err != nil {
11223		return nil, err
11224	}
11225	return ret, nil
11226	// {
11227	//   "description": "Updates a policy tag.",
11228	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
11229	//   "httpMethod": "PATCH",
11230	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.patch",
11231	//   "parameterOrder": [
11232	//     "name"
11233	//   ],
11234	//   "parameters": {
11235	//     "name": {
11236	//       "description": "Output only. Resource name of this policy tag, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
11237	//       "location": "path",
11238	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11239	//       "required": true,
11240	//       "type": "string"
11241	//     },
11242	//     "updateMask": {
11243	//       "description": "The update mask applies to the resource. Only display_name, description and\nparent_policy_tag can be updated and thus can be listed in the mask. If\nupdate_mask is not provided, all allowed fields (i.e. display_name,\ndescription and parent) will be updated. For more information including the\n`FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
11244	//       "format": "google-fieldmask",
11245	//       "location": "query",
11246	//       "type": "string"
11247	//     }
11248	//   },
11249	//   "path": "v1beta1/{+name}",
11250	//   "request": {
11251	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
11252	//   },
11253	//   "response": {
11254	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
11255	//   },
11256	//   "scopes": [
11257	//     "https://www.googleapis.com/auth/cloud-platform"
11258	//   ]
11259	// }
11260
11261}
11262
11263// method id "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy":
11264
11265type ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall struct {
11266	s                   *Service
11267	resource            string
11268	setiampolicyrequest *SetIamPolicyRequest
11269	urlParams_          gensupport.URLParams
11270	ctx_                context.Context
11271	header_             http.Header
11272}
11273
11274// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
11275func (r *ProjectsLocationsTaxonomiesPolicyTagsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
11276	c := &ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11277	c.resource = resource
11278	c.setiampolicyrequest = setiampolicyrequest
11279	return c
11280}
11281
11282// Fields allows partial responses to be retrieved. See
11283// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11284// for more information.
11285func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
11286	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11287	return c
11288}
11289
11290// Context sets the context to be used in this call's Do method. Any
11291// pending HTTP request will be aborted if the provided context is
11292// canceled.
11293func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
11294	c.ctx_ = ctx
11295	return c
11296}
11297
11298// Header returns an http.Header that can be modified by the caller to
11299// add HTTP headers to the request.
11300func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Header() http.Header {
11301	if c.header_ == nil {
11302		c.header_ = make(http.Header)
11303	}
11304	return c.header_
11305}
11306
11307func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
11308	reqHeaders := make(http.Header)
11309	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
11310	for k, v := range c.header_ {
11311		reqHeaders[k] = v
11312	}
11313	reqHeaders.Set("User-Agent", c.s.userAgent())
11314	var body io.Reader = nil
11315	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
11316	if err != nil {
11317		return nil, err
11318	}
11319	reqHeaders.Set("Content-Type", "application/json")
11320	c.urlParams_.Set("alt", alt)
11321	c.urlParams_.Set("prettyPrint", "false")
11322	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
11323	urls += "?" + c.urlParams_.Encode()
11324	req, err := http.NewRequest("POST", urls, body)
11325	if err != nil {
11326		return nil, err
11327	}
11328	req.Header = reqHeaders
11329	googleapi.Expand(req.URL, map[string]string{
11330		"resource": c.resource,
11331	})
11332	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11333}
11334
11335// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy" call.
11336// Exactly one of *Policy or error will be non-nil. Any non-2xx status
11337// code is an error. Response headers are in either
11338// *Policy.ServerResponse.Header or (if a response was returned at all)
11339// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11340// check whether the returned error was because http.StatusNotModified
11341// was returned.
11342func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
11343	gensupport.SetOptions(c.urlParams_, opts...)
11344	res, err := c.doRequest("json")
11345	if res != nil && res.StatusCode == http.StatusNotModified {
11346		if res.Body != nil {
11347			res.Body.Close()
11348		}
11349		return nil, &googleapi.Error{
11350			Code:   res.StatusCode,
11351			Header: res.Header,
11352		}
11353	}
11354	if err != nil {
11355		return nil, err
11356	}
11357	defer googleapi.CloseBody(res)
11358	if err := googleapi.CheckResponse(res); err != nil {
11359		return nil, err
11360	}
11361	ret := &Policy{
11362		ServerResponse: googleapi.ServerResponse{
11363			Header:         res.Header,
11364			HTTPStatusCode: res.StatusCode,
11365		},
11366	}
11367	target := &ret
11368	if err := gensupport.DecodeResponse(target, res); err != nil {
11369		return nil, err
11370	}
11371	return ret, nil
11372	// {
11373	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
11374	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:setIamPolicy",
11375	//   "httpMethod": "POST",
11376	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy",
11377	//   "parameterOrder": [
11378	//     "resource"
11379	//   ],
11380	//   "parameters": {
11381	//     "resource": {
11382	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
11383	//       "location": "path",
11384	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11385	//       "required": true,
11386	//       "type": "string"
11387	//     }
11388	//   },
11389	//   "path": "v1beta1/{+resource}:setIamPolicy",
11390	//   "request": {
11391	//     "$ref": "SetIamPolicyRequest"
11392	//   },
11393	//   "response": {
11394	//     "$ref": "Policy"
11395	//   },
11396	//   "scopes": [
11397	//     "https://www.googleapis.com/auth/cloud-platform"
11398	//   ]
11399	// }
11400
11401}
11402
11403// method id "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions":
11404
11405type ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall struct {
11406	s                         *Service
11407	resource                  string
11408	testiampermissionsrequest *TestIamPermissionsRequest
11409	urlParams_                gensupport.URLParams
11410	ctx_                      context.Context
11411	header_                   http.Header
11412}
11413
11414// TestIamPermissions: Returns the permissions that a caller has on the
11415// specified taxonomy or
11416// policy tag.
11417func (r *ProjectsLocationsTaxonomiesPolicyTagsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11418	c := &ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11419	c.resource = resource
11420	c.testiampermissionsrequest = testiampermissionsrequest
11421	return c
11422}
11423
11424// Fields allows partial responses to be retrieved. See
11425// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11426// for more information.
11427func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11428	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11429	return c
11430}
11431
11432// Context sets the context to be used in this call's Do method. Any
11433// pending HTTP request will be aborted if the provided context is
11434// canceled.
11435func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11436	c.ctx_ = ctx
11437	return c
11438}
11439
11440// Header returns an http.Header that can be modified by the caller to
11441// add HTTP headers to the request.
11442func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Header() http.Header {
11443	if c.header_ == nil {
11444		c.header_ = make(http.Header)
11445	}
11446	return c.header_
11447}
11448
11449func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
11450	reqHeaders := make(http.Header)
11451	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200627")
11452	for k, v := range c.header_ {
11453		reqHeaders[k] = v
11454	}
11455	reqHeaders.Set("User-Agent", c.s.userAgent())
11456	var body io.Reader = nil
11457	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
11458	if err != nil {
11459		return nil, err
11460	}
11461	reqHeaders.Set("Content-Type", "application/json")
11462	c.urlParams_.Set("alt", alt)
11463	c.urlParams_.Set("prettyPrint", "false")
11464	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
11465	urls += "?" + c.urlParams_.Encode()
11466	req, err := http.NewRequest("POST", urls, body)
11467	if err != nil {
11468		return nil, err
11469	}
11470	req.Header = reqHeaders
11471	googleapi.Expand(req.URL, map[string]string{
11472		"resource": c.resource,
11473	})
11474	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11475}
11476
11477// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions" call.
11478// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
11479// Any non-2xx status code is an error. Response headers are in either
11480// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
11481// was returned at all) in error.(*googleapi.Error).Header. Use
11482// googleapi.IsNotModified to check whether the returned error was
11483// because http.StatusNotModified was returned.
11484func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
11485	gensupport.SetOptions(c.urlParams_, opts...)
11486	res, err := c.doRequest("json")
11487	if res != nil && res.StatusCode == http.StatusNotModified {
11488		if res.Body != nil {
11489			res.Body.Close()
11490		}
11491		return nil, &googleapi.Error{
11492			Code:   res.StatusCode,
11493			Header: res.Header,
11494		}
11495	}
11496	if err != nil {
11497		return nil, err
11498	}
11499	defer googleapi.CloseBody(res)
11500	if err := googleapi.CheckResponse(res); err != nil {
11501		return nil, err
11502	}
11503	ret := &TestIamPermissionsResponse{
11504		ServerResponse: googleapi.ServerResponse{
11505			Header:         res.Header,
11506			HTTPStatusCode: res.StatusCode,
11507		},
11508	}
11509	target := &ret
11510	if err := gensupport.DecodeResponse(target, res); err != nil {
11511		return nil, err
11512	}
11513	return ret, nil
11514	// {
11515	//   "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
11516	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
11517	//   "httpMethod": "POST",
11518	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
11519	//   "parameterOrder": [
11520	//     "resource"
11521	//   ],
11522	//   "parameters": {
11523	//     "resource": {
11524	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
11525	//       "location": "path",
11526	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11527	//       "required": true,
11528	//       "type": "string"
11529	//     }
11530	//   },
11531	//   "path": "v1beta1/{+resource}:testIamPermissions",
11532	//   "request": {
11533	//     "$ref": "TestIamPermissionsRequest"
11534	//   },
11535	//   "response": {
11536	//     "$ref": "TestIamPermissionsResponse"
11537	//   },
11538	//   "scopes": [
11539	//     "https://www.googleapis.com/auth/cloud-platform"
11540	//   ]
11541	// }
11542
11543}
11544