1// Copyright 2021 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	// See, edit, configure, and delete your Google Cloud Platform data
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. If the
294	// condition evaluates to `true`, then this binding applies to the
295	// current request. If the condition evaluates to `false`, then this
296	// binding does not apply to the current request. However, a different
297	// role binding might grant the same role to one or more of the members
298	// in this binding. To learn which resources support conditions in their
299	// IAM policies, see the IAM documentation
300	// (https://cloud.google.com/iam/help/conditions/resource-policies).
301	Condition *Expr `json:"condition,omitempty"`
302
303	// Members: Specifies the identities requesting access for a Cloud
304	// Platform resource. `members` can have the following values: *
305	// `allUsers`: A special identifier that represents anyone who is on the
306	// internet; with or without a Google account. *
307	// `allAuthenticatedUsers`: A special identifier that represents anyone
308	// who is authenticated with a Google account or a service account. *
309	// `user:{emailid}`: An email address that represents a specific Google
310	// account. For example, `alice@example.com` . *
311	// `serviceAccount:{emailid}`: An email address that represents a
312	// service account. For example,
313	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
314	// email address that represents a Google group. For example,
315	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
316	// email address (plus unique identifier) representing a user that has
317	// been recently deleted. For example,
318	// `alice@example.com?uid=123456789012345678901`. If the user is
319	// recovered, this value reverts to `user:{emailid}` and the recovered
320	// user retains the role in the binding. *
321	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
322	// (plus unique identifier) representing a service account that has been
323	// recently deleted. For example,
324	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
325	// If the service account is undeleted, this value reverts to
326	// `serviceAccount:{emailid}` and the undeleted service account retains
327	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
328	// An email address (plus unique identifier) representing a Google group
329	// that has been recently deleted. For example,
330	// `admins@example.com?uid=123456789012345678901`. If the group is
331	// recovered, this value reverts to `group:{emailid}` and the recovered
332	// group retains the role in the binding. * `domain:{domain}`: The G
333	// Suite domain (primary) that represents all the users of that domain.
334	// For example, `google.com` or `example.com`.
335	Members []string `json:"members,omitempty"`
336
337	// Role: Role that is assigned to `members`. For example,
338	// `roles/viewer`, `roles/editor`, or `roles/owner`.
339	Role string `json:"role,omitempty"`
340
341	// ForceSendFields is a list of field names (e.g. "Condition") to
342	// unconditionally include in API requests. By default, fields with
343	// empty values are omitted from API requests. However, any non-pointer,
344	// non-interface field appearing in ForceSendFields will be sent to the
345	// server regardless of whether the field is empty or not. This may be
346	// used to include empty fields in Patch requests.
347	ForceSendFields []string `json:"-"`
348
349	// NullFields is a list of field names (e.g. "Condition") to include in
350	// API requests with the JSON null value. By default, fields with empty
351	// values are omitted from API requests. However, any field with an
352	// empty value appearing in NullFields will be sent to the server as
353	// null. It is an error if a field in this list has a non-empty value.
354	// This may be used to include null fields in Patch requests.
355	NullFields []string `json:"-"`
356}
357
358func (s *Binding) MarshalJSON() ([]byte, error) {
359	type NoMethod Binding
360	raw := NoMethod(*s)
361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
362}
363
364// Empty: A generic empty message that you can re-use to avoid defining
365// duplicated empty messages in your APIs. A typical example is to use
366// it as the request or the response type of an API method. For
367// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
368// (google.protobuf.Empty); } The JSON representation for `Empty` is
369// empty JSON object `{}`.
370type Empty struct {
371	// ServerResponse contains the HTTP response code and headers from the
372	// server.
373	googleapi.ServerResponse `json:"-"`
374}
375
376// Expr: Represents a textual expression in the Common Expression
377// Language (CEL) syntax. CEL is a C-like expression language. The
378// syntax and semantics of CEL are documented at
379// https://github.com/google/cel-spec. Example (Comparison): title:
380// "Summary size limit" description: "Determines if a summary is less
381// than 100 chars" expression: "document.summary.size() < 100" Example
382// (Equality): title: "Requestor is owner" description: "Determines if
383// requestor is the document owner" expression: "document.owner ==
384// request.auth.claims.email" Example (Logic): title: "Public documents"
385// description: "Determine whether the document should be publicly
386// visible" expression: "document.type != 'private' && document.type !=
387// 'internal'" Example (Data Manipulation): title: "Notification string"
388// description: "Create a notification string with a timestamp."
389// expression: "'New message received at ' +
390// string(document.create_time)" The exact variables and functions that
391// may be referenced within an expression are determined by the service
392// that evaluates it. See the service documentation for additional
393// information.
394type Expr struct {
395	// Description: Optional. Description of the expression. This is a
396	// longer text which describes the expression, e.g. when hovered over it
397	// in a UI.
398	Description string `json:"description,omitempty"`
399
400	// Expression: Textual representation of an expression in Common
401	// Expression Language syntax.
402	Expression string `json:"expression,omitempty"`
403
404	// Location: Optional. String indicating the location of the expression
405	// for error reporting, e.g. a file name and a position in the file.
406	Location string `json:"location,omitempty"`
407
408	// Title: Optional. Title for the expression, i.e. a short string
409	// describing its purpose. This can be used e.g. in UIs which allow to
410	// enter the expression.
411	Title string `json:"title,omitempty"`
412
413	// ForceSendFields is a list of field names (e.g. "Description") to
414	// unconditionally include in API requests. By default, fields with
415	// empty values are omitted from API requests. However, any non-pointer,
416	// non-interface field appearing in ForceSendFields will be sent to the
417	// server regardless of whether the field is empty or not. This may be
418	// used to include empty fields in Patch requests.
419	ForceSendFields []string `json:"-"`
420
421	// NullFields is a list of field names (e.g. "Description") to include
422	// in API requests with the JSON null value. By default, fields with
423	// empty values are omitted from API requests. However, any field with
424	// an empty value appearing in NullFields will be sent to the server as
425	// null. It is an error if a field in this list has a non-empty value.
426	// This may be used to include null fields in Patch requests.
427	NullFields []string `json:"-"`
428}
429
430func (s *Expr) MarshalJSON() ([]byte, error) {
431	type NoMethod Expr
432	raw := NoMethod(*s)
433	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
434}
435
436// GetIamPolicyRequest: Request message for `GetIamPolicy` method.
437type GetIamPolicyRequest struct {
438	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
439	// to `GetIamPolicy`.
440	Options *GetPolicyOptions `json:"options,omitempty"`
441
442	// ForceSendFields is a list of field names (e.g. "Options") to
443	// unconditionally include in API requests. By default, fields with
444	// empty values are omitted from API requests. However, any non-pointer,
445	// non-interface field appearing in ForceSendFields will be sent to the
446	// server regardless of whether the field is empty or not. This may be
447	// used to include empty fields in Patch requests.
448	ForceSendFields []string `json:"-"`
449
450	// NullFields is a list of field names (e.g. "Options") to include in
451	// API requests with the JSON null value. By default, fields with empty
452	// values are omitted from API requests. However, any field with an
453	// empty value appearing in NullFields will be sent to the server as
454	// null. It is an error if a field in this list has a non-empty value.
455	// This may be used to include null fields in Patch requests.
456	NullFields []string `json:"-"`
457}
458
459func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
460	type NoMethod GetIamPolicyRequest
461	raw := NoMethod(*s)
462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
463}
464
465// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
466type GetPolicyOptions struct {
467	// RequestedPolicyVersion: Optional. The policy format version to be
468	// returned. Valid values are 0, 1, and 3. Requests specifying an
469	// invalid value will be rejected. Requests for policies with any
470	// conditional bindings must specify version 3. Policies without any
471	// conditional bindings may specify any valid value or leave the field
472	// unset. To learn which resources support conditions in their IAM
473	// policies, see the IAM documentation
474	// (https://cloud.google.com/iam/help/conditions/resource-policies).
475	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
476
477	// ForceSendFields is a list of field names (e.g.
478	// "RequestedPolicyVersion") to unconditionally include in API requests.
479	// By default, fields with empty values are omitted from API requests.
480	// However, any non-pointer, non-interface field appearing in
481	// ForceSendFields will be sent to the server regardless of whether the
482	// field is empty or not. This may be used to include empty fields in
483	// Patch requests.
484	ForceSendFields []string `json:"-"`
485
486	// NullFields is a list of field names (e.g. "RequestedPolicyVersion")
487	// to include in API requests with the JSON null value. By default,
488	// fields with empty values are omitted from API requests. However, any
489	// field with an empty value appearing in NullFields will be sent to the
490	// server as null. It is an error if a field in this list has a
491	// non-empty value. This may be used to include null fields in Patch
492	// requests.
493	NullFields []string `json:"-"`
494}
495
496func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) {
497	type NoMethod GetPolicyOptions
498	raw := NoMethod(*s)
499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
500}
501
502// GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec: Spec for a
503// group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
504// Context:
505// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
506type GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec struct {
507	// Dataset: Output only. The Data Catalog resource name of the dataset
508	// entry the current table belongs to, for example,
509	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
510	// d}/entries/{entry_id}`.
511	Dataset string `json:"dataset,omitempty"`
512
513	// ShardCount: Output only. Total number of shards.
514	ShardCount int64 `json:"shardCount,omitempty,string"`
515
516	// TablePrefix: Output only. The table name prefix of the shards. The
517	// name of any given shard is `[table_prefix]YYYYMMDD`, for example, for
518	// shard `MyTable20180101`, the `table_prefix` is `MyTable`.
519	TablePrefix string `json:"tablePrefix,omitempty"`
520
521	// ForceSendFields is a list of field names (e.g. "Dataset") to
522	// unconditionally include in API requests. By default, fields with
523	// empty values are omitted from API requests. However, any non-pointer,
524	// non-interface field appearing in ForceSendFields will be sent to the
525	// server regardless of whether the field is empty or not. This may be
526	// used to include empty fields in Patch requests.
527	ForceSendFields []string `json:"-"`
528
529	// NullFields is a list of field names (e.g. "Dataset") to include in
530	// API requests with the JSON null value. By default, fields with empty
531	// values are omitted from API requests. However, any field with an
532	// empty value appearing in NullFields will be sent to the server as
533	// null. It is an error if a field in this list has a non-empty value.
534	// This may be used to include null fields in Patch requests.
535	NullFields []string `json:"-"`
536}
537
538func (s *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec) MarshalJSON() ([]byte, error) {
539	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec
540	raw := NoMethod(*s)
541	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
542}
543
544// GoogleCloudDatacatalogV1beta1BigQueryTableSpec: Describes a BigQuery
545// table.
546type GoogleCloudDatacatalogV1beta1BigQueryTableSpec struct {
547	// TableSourceType: Output only. The table source type.
548	//
549	// Possible values:
550	//   "TABLE_SOURCE_TYPE_UNSPECIFIED" - Default unknown type.
551	//   "BIGQUERY_VIEW" - Table view.
552	//   "BIGQUERY_TABLE" - BigQuery native table.
553	//   "BIGQUERY_MATERIALIZED_VIEW" - BigQuery materialized view.
554	TableSourceType string `json:"tableSourceType,omitempty"`
555
556	// TableSpec: Spec of a BigQuery table. This field should only be
557	// populated if `table_source_type` is `BIGQUERY_TABLE`.
558	TableSpec *GoogleCloudDatacatalogV1beta1TableSpec `json:"tableSpec,omitempty"`
559
560	// ViewSpec: Table view specification. This field should only be
561	// populated if `table_source_type` is `BIGQUERY_VIEW`.
562	ViewSpec *GoogleCloudDatacatalogV1beta1ViewSpec `json:"viewSpec,omitempty"`
563
564	// ForceSendFields is a list of field names (e.g. "TableSourceType") to
565	// unconditionally include in API requests. By default, fields with
566	// empty values are omitted from API requests. However, any non-pointer,
567	// non-interface field appearing in ForceSendFields will be sent to the
568	// server regardless of whether the field is empty or not. This may be
569	// used to include empty fields in Patch requests.
570	ForceSendFields []string `json:"-"`
571
572	// NullFields is a list of field names (e.g. "TableSourceType") to
573	// include in API requests with the JSON null value. By default, fields
574	// with empty values are omitted from API requests. However, any field
575	// 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 *GoogleCloudDatacatalogV1beta1BigQueryTableSpec) MarshalJSON() ([]byte, error) {
583	type NoMethod GoogleCloudDatacatalogV1beta1BigQueryTableSpec
584	raw := NoMethod(*s)
585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
586}
587
588// GoogleCloudDatacatalogV1beta1ColumnSchema: Representation of a column
589// within a schema. Columns could be nested inside other columns.
590type GoogleCloudDatacatalogV1beta1ColumnSchema struct {
591	// Column: Required. Name of the column.
592	Column string `json:"column,omitempty"`
593
594	// Description: Optional. Description of the column. Default value is an
595	// empty string.
596	Description string `json:"description,omitempty"`
597
598	// Mode: Optional. A column's mode indicates whether the values in this
599	// column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and
600	// `REPEATED` are supported. Default mode is `NULLABLE`.
601	Mode string `json:"mode,omitempty"`
602
603	// Subcolumns: Optional. Schema of sub-columns. A column can have zero
604	// or more sub-columns.
605	Subcolumns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"subcolumns,omitempty"`
606
607	// Type: Required. Type of the column.
608	Type string `json:"type,omitempty"`
609
610	// ForceSendFields is a list of field names (e.g. "Column") to
611	// unconditionally include in API requests. By default, fields with
612	// empty values are omitted from API requests. However, any non-pointer,
613	// non-interface field appearing in ForceSendFields will be sent to the
614	// server regardless of whether the field is empty or not. This may be
615	// used to include empty fields in Patch requests.
616	ForceSendFields []string `json:"-"`
617
618	// NullFields is a list of field names (e.g. "Column") to include in API
619	// requests with the JSON null value. By default, fields with empty
620	// values are omitted from API requests. However, any field with an
621	// empty value appearing in NullFields will be sent to the server as
622	// null. It is an error if a field in this list has a non-empty value.
623	// This may be used to include null fields in Patch requests.
624	NullFields []string `json:"-"`
625}
626
627func (s *GoogleCloudDatacatalogV1beta1ColumnSchema) MarshalJSON() ([]byte, error) {
628	type NoMethod GoogleCloudDatacatalogV1beta1ColumnSchema
629	raw := NoMethod(*s)
630	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
631}
632
633// GoogleCloudDatacatalogV1beta1Entry: Entry Metadata. A Data Catalog
634// Entry resource represents another resource in Google Cloud Platform
635// (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google
636// Cloud Platform. Clients can use the `linked_resource` field in the
637// Entry resource to refer to the original resource ID of the source
638// system. An Entry resource contains resource details, such as its
639// schema. An Entry can also be used to attach flexible metadata, such
640// as a Tag.
641type GoogleCloudDatacatalogV1beta1Entry struct {
642	// BigqueryDateShardedSpec: Specification for a group of BigQuery tables
643	// with name pattern `[prefix]YYYYMMDD`. Context:
644	// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
645	BigqueryDateShardedSpec *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec `json:"bigqueryDateShardedSpec,omitempty"`
646
647	// BigqueryTableSpec: Specification that applies to a BigQuery table.
648	// This is only valid on entries of type `TABLE`.
649	BigqueryTableSpec *GoogleCloudDatacatalogV1beta1BigQueryTableSpec `json:"bigqueryTableSpec,omitempty"`
650
651	// Description: Entry description, which can consist of several
652	// sentences or paragraphs that describe entry contents. Default value
653	// is an empty string.
654	Description string `json:"description,omitempty"`
655
656	// DisplayName: Display information such as title and description. A
657	// short name to identify the entry, for example, "Analytics Data - Jan
658	// 2011". Default value is an empty string.
659	DisplayName string `json:"displayName,omitempty"`
660
661	// GcsFilesetSpec: Specification that applies to a Cloud Storage
662	// fileset. This is only valid on entries of type FILESET.
663	GcsFilesetSpec *GoogleCloudDatacatalogV1beta1GcsFilesetSpec `json:"gcsFilesetSpec,omitempty"`
664
665	// IntegratedSystem: Output only. This field indicates the entry's
666	// source system that Data Catalog integrates with, such as BigQuery or
667	// Pub/Sub.
668	//
669	// Possible values:
670	//   "INTEGRATED_SYSTEM_UNSPECIFIED" - Default unknown system.
671	//   "BIGQUERY" - BigQuery.
672	//   "CLOUD_PUBSUB" - Cloud Pub/Sub.
673	IntegratedSystem string `json:"integratedSystem,omitempty"`
674
675	// LinkedResource: The resource this metadata entry refers to. For
676	// Google Cloud Platform resources, `linked_resource` is the full name
677	// of the resource
678	// (https://cloud.google.com/apis/design/resource_names#full_resource_name).
679	// For example, the `linked_resource` for a table resource from BigQuery
680	// is: *
681	// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
682	// /tableId Output only when Entry is of type in the EntryType enum. For
683	// entries with user_specified_type, this field is optional and defaults
684	// to an empty string.
685	LinkedResource string `json:"linkedResource,omitempty"`
686
687	// Name: Output only. The Data Catalog resource name of the entry in URL
688	// format. Example: *
689	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
690	// }/entries/{entry_id} Note that this Entry and its child resources may
691	// not actually be stored in the location in this name.
692	Name string `json:"name,omitempty"`
693
694	// Schema: Schema of the entry. An entry might not have any schema
695	// attached to it.
696	Schema *GoogleCloudDatacatalogV1beta1Schema `json:"schema,omitempty"`
697
698	// SourceSystemTimestamps: Output only. Timestamps about the underlying
699	// resource, not about this Data Catalog entry. Output only when Entry
700	// is of type in the EntryType enum. For entries with
701	// user_specified_type, this field is optional and defaults to an empty
702	// timestamp.
703	SourceSystemTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"sourceSystemTimestamps,omitempty"`
704
705	// Type: The type of the entry. Only used for Entries with types in the
706	// EntryType enum.
707	//
708	// Possible values:
709	//   "ENTRY_TYPE_UNSPECIFIED" - Default unknown type.
710	//   "TABLE" - Output only. The type of entry that has a GoogleSQL
711	// schema, including logical views.
712	//   "MODEL" - Output only. The type of models.
713	// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
714	//   "DATA_STREAM" - Output only. An entry type which is used for
715	// streaming entries. Example: Pub/Sub topic.
716	//   "FILESET" - An entry type which is a set of files or objects.
717	// Example: Cloud Storage fileset.
718	Type string `json:"type,omitempty"`
719
720	// UserSpecifiedSystem: This field indicates the entry's source system
721	// that Data Catalog does not integrate with. `user_specified_system`
722	// strings must begin with a letter or underscore and can only contain
723	// letters, numbers, and underscores; are case insensitive; must be at
724	// least 1 character and at most 64 characters long.
725	UserSpecifiedSystem string `json:"userSpecifiedSystem,omitempty"`
726
727	// UserSpecifiedType: Entry type if it does not fit any of the
728	// input-allowed values listed in `EntryType` enum above. When creating
729	// an entry, users should check the enum values first, if nothing
730	// matches the entry to be created, then provide a custom value, for
731	// example "my_special_type". `user_specified_type` strings must begin
732	// with a letter or underscore and can only contain letters, numbers,
733	// and underscores; are case insensitive; must be at least 1 character
734	// and at most 64 characters long. Currently, only FILESET enum value is
735	// allowed. All other entries created through Data Catalog must use
736	// `user_specified_type`.
737	UserSpecifiedType string `json:"userSpecifiedType,omitempty"`
738
739	// ServerResponse contains the HTTP response code and headers from the
740	// server.
741	googleapi.ServerResponse `json:"-"`
742
743	// ForceSendFields is a list of field names (e.g.
744	// "BigqueryDateShardedSpec") to unconditionally include in API
745	// requests. By default, fields with empty values are omitted from API
746	// requests. However, any non-pointer, non-interface field appearing in
747	// ForceSendFields will be sent to the server regardless of whether the
748	// field is empty or not. This may be used to include empty fields in
749	// Patch requests.
750	ForceSendFields []string `json:"-"`
751
752	// NullFields is a list of field names (e.g. "BigqueryDateShardedSpec")
753	// to include in API requests with the JSON null value. By default,
754	// fields with empty values are omitted from API requests. However, any
755	// field with an empty value appearing in NullFields will be sent to the
756	// server as null. It is an error if a field in this list has a
757	// non-empty value. This may be used to include null fields in Patch
758	// requests.
759	NullFields []string `json:"-"`
760}
761
762func (s *GoogleCloudDatacatalogV1beta1Entry) MarshalJSON() ([]byte, error) {
763	type NoMethod GoogleCloudDatacatalogV1beta1Entry
764	raw := NoMethod(*s)
765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
766}
767
768// GoogleCloudDatacatalogV1beta1EntryGroup: EntryGroup Metadata. An
769// EntryGroup resource represents a logical grouping of zero or more
770// Data Catalog Entry resources.
771type GoogleCloudDatacatalogV1beta1EntryGroup struct {
772	// DataCatalogTimestamps: Output only. Timestamps about this EntryGroup.
773	// Default value is empty timestamps.
774	DataCatalogTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"dataCatalogTimestamps,omitempty"`
775
776	// Description: Entry group description, which can consist of several
777	// sentences or paragraphs that describe entry group contents. Default
778	// value is an empty string.
779	Description string `json:"description,omitempty"`
780
781	// DisplayName: A short name to identify the entry group, for example,
782	// "analytics data - jan 2011". Default value is an empty string.
783	DisplayName string `json:"displayName,omitempty"`
784
785	// Name: The resource name of the entry group in URL format. Example: *
786	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
787	// } Note that this EntryGroup and its child resources may not actually
788	// be stored in the location in this name.
789	Name string `json:"name,omitempty"`
790
791	// ServerResponse contains the HTTP response code and headers from the
792	// server.
793	googleapi.ServerResponse `json:"-"`
794
795	// ForceSendFields is a list of field names (e.g.
796	// "DataCatalogTimestamps") to unconditionally include in API requests.
797	// By default, fields with empty values are omitted from API requests.
798	// However, any non-pointer, non-interface field appearing in
799	// ForceSendFields will be sent to the server regardless of whether the
800	// field is empty or not. This may be used to include empty fields in
801	// Patch requests.
802	ForceSendFields []string `json:"-"`
803
804	// NullFields is a list of field names (e.g. "DataCatalogTimestamps") to
805	// include in API requests with the JSON null value. By default, fields
806	// with empty values are omitted from API requests. However, any field
807	// with an empty value appearing in NullFields will be sent to the
808	// server as null. It is an error if a field in this list has a
809	// non-empty value. This may be used to include null fields in Patch
810	// requests.
811	NullFields []string `json:"-"`
812}
813
814func (s *GoogleCloudDatacatalogV1beta1EntryGroup) MarshalJSON() ([]byte, error) {
815	type NoMethod GoogleCloudDatacatalogV1beta1EntryGroup
816	raw := NoMethod(*s)
817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
818}
819
820// GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse: Response
821// message for ExportTaxonomies.
822type GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse struct {
823	// Taxonomies: List of taxonomies and policy tags in a tree structure.
824	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
825
826	// ServerResponse contains the HTTP response code and headers from the
827	// server.
828	googleapi.ServerResponse `json:"-"`
829
830	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
831	// unconditionally include in API requests. By default, fields with
832	// empty values are omitted from API requests. However, any non-pointer,
833	// non-interface field appearing in ForceSendFields will be sent to the
834	// server regardless of whether the field is empty or not. This may be
835	// used to include empty fields in Patch requests.
836	ForceSendFields []string `json:"-"`
837
838	// NullFields is a list of field names (e.g. "Taxonomies") to include in
839	// API requests with the JSON null value. By default, fields with empty
840	// values are omitted from API requests. However, any field with an
841	// empty value appearing in NullFields will be sent to the server as
842	// null. It is an error if a field in this list has a non-empty value.
843	// This may be used to include null fields in Patch requests.
844	NullFields []string `json:"-"`
845}
846
847func (s *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
848	type NoMethod GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
849	raw := NoMethod(*s)
850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
851}
852
853type GoogleCloudDatacatalogV1beta1FieldType struct {
854	// EnumType: Represents an enum type.
855	EnumType *GoogleCloudDatacatalogV1beta1FieldTypeEnumType `json:"enumType,omitempty"`
856
857	// PrimitiveType: Represents primitive types - string, bool etc.
858	//
859	// Possible values:
860	//   "PRIMITIVE_TYPE_UNSPECIFIED" - This is the default invalid value
861	// for a type.
862	//   "DOUBLE" - A double precision number.
863	//   "STRING" - An UTF-8 string.
864	//   "BOOL" - A boolean value.
865	//   "TIMESTAMP" - A timestamp.
866	PrimitiveType string `json:"primitiveType,omitempty"`
867
868	// ForceSendFields is a list of field names (e.g. "EnumType") to
869	// unconditionally include in API requests. By default, fields with
870	// empty values are omitted from API requests. However, any non-pointer,
871	// non-interface field appearing in ForceSendFields will be sent to the
872	// server regardless of whether the field is empty or not. This may be
873	// used to include empty fields in Patch requests.
874	ForceSendFields []string `json:"-"`
875
876	// NullFields is a list of field names (e.g. "EnumType") to include in
877	// API requests with the JSON null value. By default, fields with empty
878	// values are omitted from API requests. However, any field with an
879	// empty value appearing in NullFields will be sent to the server as
880	// null. It is an error if a field in this list has a non-empty value.
881	// This may be used to include null fields in Patch requests.
882	NullFields []string `json:"-"`
883}
884
885func (s *GoogleCloudDatacatalogV1beta1FieldType) MarshalJSON() ([]byte, error) {
886	type NoMethod GoogleCloudDatacatalogV1beta1FieldType
887	raw := NoMethod(*s)
888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
889}
890
891type GoogleCloudDatacatalogV1beta1FieldTypeEnumType struct {
892	AllowedValues []*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue `json:"allowedValues,omitempty"`
893
894	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
895	// unconditionally include in API requests. By default, fields with
896	// empty values are omitted from API requests. However, any non-pointer,
897	// non-interface field appearing in ForceSendFields will be sent to the
898	// server regardless of whether the field is empty or not. This may be
899	// used to include empty fields in Patch requests.
900	ForceSendFields []string `json:"-"`
901
902	// NullFields is a list of field names (e.g. "AllowedValues") to include
903	// in API requests with the JSON null value. By default, fields with
904	// empty values are omitted from API requests. However, any field with
905	// an empty value appearing in NullFields will be sent to the server as
906	// null. It is an error if a field in this list has a non-empty value.
907	// This may be used to include null fields in Patch requests.
908	NullFields []string `json:"-"`
909}
910
911func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumType) MarshalJSON() ([]byte, error) {
912	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumType
913	raw := NoMethod(*s)
914	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
915}
916
917type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue struct {
918	// DisplayName: Required. The display name of the enum value. Must not
919	// be an empty string.
920	DisplayName string `json:"displayName,omitempty"`
921
922	// ForceSendFields is a list of field names (e.g. "DisplayName") to
923	// unconditionally include in API requests. By default, fields with
924	// empty values are omitted from API requests. However, any non-pointer,
925	// non-interface field appearing in ForceSendFields will be sent to the
926	// server regardless of whether the field is empty or not. This may be
927	// used to include empty fields in Patch requests.
928	ForceSendFields []string `json:"-"`
929
930	// NullFields is a list of field names (e.g. "DisplayName") to include
931	// in API requests with the JSON null value. By default, fields with
932	// empty values are omitted from API requests. However, any field with
933	// an empty value appearing in NullFields will be sent to the server as
934	// null. It is an error if a field in this list has a non-empty value.
935	// This may be used to include null fields in Patch requests.
936	NullFields []string `json:"-"`
937}
938
939func (s *GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue) MarshalJSON() ([]byte, error) {
940	type NoMethod GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue
941	raw := NoMethod(*s)
942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
943}
944
945// GoogleCloudDatacatalogV1beta1GcsFileSpec: Specifications of a single
946// file in Cloud Storage.
947type GoogleCloudDatacatalogV1beta1GcsFileSpec struct {
948	// FilePath: Required. The full file path. Example:
949	// `gs://bucket_name/a/b.txt`.
950	FilePath string `json:"filePath,omitempty"`
951
952	// GcsTimestamps: Output only. Timestamps about the Cloud Storage file.
953	GcsTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"gcsTimestamps,omitempty"`
954
955	// SizeBytes: Output only. The size of the file, in bytes.
956	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
957
958	// ForceSendFields is a list of field names (e.g. "FilePath") to
959	// unconditionally include in API requests. By default, fields with
960	// empty values are omitted from API requests. However, any non-pointer,
961	// non-interface field appearing in ForceSendFields will be sent to the
962	// server regardless of whether the field is empty or not. This may be
963	// used to include empty fields in Patch requests.
964	ForceSendFields []string `json:"-"`
965
966	// NullFields is a list of field names (e.g. "FilePath") to include in
967	// API requests with the JSON null value. By default, fields with empty
968	// values are omitted from API requests. However, any field with an
969	// empty value appearing in NullFields will be sent to the server as
970	// null. It is an error if a field in this list has a non-empty value.
971	// This may be used to include null fields in Patch requests.
972	NullFields []string `json:"-"`
973}
974
975func (s *GoogleCloudDatacatalogV1beta1GcsFileSpec) MarshalJSON() ([]byte, error) {
976	type NoMethod GoogleCloudDatacatalogV1beta1GcsFileSpec
977	raw := NoMethod(*s)
978	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
979}
980
981// GoogleCloudDatacatalogV1beta1GcsFilesetSpec: Describes a Cloud
982// Storage fileset entry.
983type GoogleCloudDatacatalogV1beta1GcsFilesetSpec struct {
984	// FilePatterns: Required. Patterns to identify a set of files in Google
985	// Cloud Storage. See Cloud Storage documentation
986	// (https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames)
987	// for more information. Note that bucket wildcards are currently not
988	// supported. Examples of valid file_patterns: *
989	// `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
990	// directory. * `gs://bucket_name/dir/**`: matches all files in
991	// `bucket_name/dir` spanning all subdirectories. *
992	// `gs://bucket_name/file*`: matches files prefixed by `file` in
993	// `bucket_name` * `gs://bucket_name/??.txt`: matches files with two
994	// characters followed by `.txt` in `bucket_name` *
995	// `gs://bucket_name/[aeiou].txt`: matches files that contain a single
996	// vowel character followed by `.txt` in `bucket_name` *
997	// `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`,
998	// ... or `m` followed by `.txt` in `bucket_name` *
999	// `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that
1000	// match `a/*/b` pattern, such as `a/c/b`, `a/d/b` *
1001	// `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You
1002	// can combine wildcards to provide more powerful matches, for example:
1003	// * `gs://bucket_name/[a-m]??.j*g`
1004	FilePatterns []string `json:"filePatterns,omitempty"`
1005
1006	// SampleGcsFileSpecs: Output only. Sample files contained in this
1007	// fileset, not all files contained in this fileset are represented
1008	// here.
1009	SampleGcsFileSpecs []*GoogleCloudDatacatalogV1beta1GcsFileSpec `json:"sampleGcsFileSpecs,omitempty"`
1010
1011	// ForceSendFields is a list of field names (e.g. "FilePatterns") to
1012	// unconditionally include in API requests. By default, fields with
1013	// empty values are omitted from API requests. However, any non-pointer,
1014	// non-interface field appearing in ForceSendFields will be sent to the
1015	// server regardless of whether the field is empty or not. This may be
1016	// used to include empty fields in Patch requests.
1017	ForceSendFields []string `json:"-"`
1018
1019	// NullFields is a list of field names (e.g. "FilePatterns") to include
1020	// in API requests with the JSON null value. By default, fields with
1021	// empty values are omitted from API requests. However, any field with
1022	// an empty value appearing in NullFields will be sent to the server as
1023	// null. It is an error if a field in this list has a non-empty value.
1024	// This may be used to include null fields in Patch requests.
1025	NullFields []string `json:"-"`
1026}
1027
1028func (s *GoogleCloudDatacatalogV1beta1GcsFilesetSpec) MarshalJSON() ([]byte, error) {
1029	type NoMethod GoogleCloudDatacatalogV1beta1GcsFilesetSpec
1030	raw := NoMethod(*s)
1031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1032}
1033
1034// GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest: Request message
1035// for ImportTaxonomies.
1036type GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest struct {
1037	// InlineSource: Inline source used for taxonomies to be imported.
1038	InlineSource *GoogleCloudDatacatalogV1beta1InlineSource `json:"inlineSource,omitempty"`
1039
1040	// ForceSendFields is a list of field names (e.g. "InlineSource") to
1041	// unconditionally include in API requests. By default, fields with
1042	// empty values are omitted from API requests. However, any non-pointer,
1043	// non-interface field appearing in ForceSendFields will be sent to the
1044	// server regardless of whether the field is empty or not. This may be
1045	// used to include empty fields in Patch requests.
1046	ForceSendFields []string `json:"-"`
1047
1048	// NullFields is a list of field names (e.g. "InlineSource") to include
1049	// in API requests with the JSON null value. By default, fields with
1050	// empty values are omitted from API requests. However, any field with
1051	// an empty value appearing in NullFields will be sent to the server as
1052	// null. It is an error if a field in this list has a non-empty value.
1053	// This may be used to include null fields in Patch requests.
1054	NullFields []string `json:"-"`
1055}
1056
1057func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) MarshalJSON() ([]byte, error) {
1058	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
1059	raw := NoMethod(*s)
1060	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1061}
1062
1063// GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse: Response
1064// message for ImportTaxonomies.
1065type GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse struct {
1066	// Taxonomies: Taxonomies that were imported.
1067	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1068
1069	// ServerResponse contains the HTTP response code and headers from the
1070	// server.
1071	googleapi.ServerResponse `json:"-"`
1072
1073	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1074	// unconditionally include in API requests. By default, fields with
1075	// empty values are omitted from API requests. However, any non-pointer,
1076	// non-interface field appearing in ForceSendFields will be sent to the
1077	// server regardless of whether the field is empty or not. This may be
1078	// used to include empty fields in Patch requests.
1079	ForceSendFields []string `json:"-"`
1080
1081	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1082	// API requests with the JSON null value. By default, fields with empty
1083	// values are omitted from API requests. However, any field with an
1084	// empty value appearing in NullFields will be sent to the server as
1085	// null. It is an error if a field in this list has a non-empty value.
1086	// This may be used to include null fields in Patch requests.
1087	NullFields []string `json:"-"`
1088}
1089
1090func (s *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1091	type NoMethod GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
1092	raw := NoMethod(*s)
1093	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1094}
1095
1096// GoogleCloudDatacatalogV1beta1InlineSource: Inline source used for
1097// taxonomies import.
1098type GoogleCloudDatacatalogV1beta1InlineSource struct {
1099	// Taxonomies: Required. Taxonomies to be imported.
1100	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
1101
1102	// ForceSendFields is a list of field names (e.g. "Taxonomies") to
1103	// unconditionally include in API requests. By default, fields with
1104	// empty values are omitted from API requests. However, any non-pointer,
1105	// non-interface field appearing in ForceSendFields will be sent to the
1106	// server regardless of whether the field is empty or not. This may be
1107	// used to include empty fields in Patch requests.
1108	ForceSendFields []string `json:"-"`
1109
1110	// NullFields is a list of field names (e.g. "Taxonomies") to include in
1111	// API requests with the JSON null value. By default, fields with empty
1112	// values are omitted from API requests. However, any field with an
1113	// empty value appearing in NullFields will be sent to the server as
1114	// null. It is an error if a field in this list has a non-empty value.
1115	// This may be used to include null fields in Patch requests.
1116	NullFields []string `json:"-"`
1117}
1118
1119func (s *GoogleCloudDatacatalogV1beta1InlineSource) MarshalJSON() ([]byte, error) {
1120	type NoMethod GoogleCloudDatacatalogV1beta1InlineSource
1121	raw := NoMethod(*s)
1122	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1123}
1124
1125// GoogleCloudDatacatalogV1beta1ListEntriesResponse: Response message
1126// for ListEntries.
1127type GoogleCloudDatacatalogV1beta1ListEntriesResponse struct {
1128	// Entries: Entry details.
1129	Entries []*GoogleCloudDatacatalogV1beta1Entry `json:"entries,omitempty"`
1130
1131	// NextPageToken: Token to retrieve the next page of results. It is set
1132	// to empty if no items remain in results.
1133	NextPageToken string `json:"nextPageToken,omitempty"`
1134
1135	// ServerResponse contains the HTTP response code and headers from the
1136	// server.
1137	googleapi.ServerResponse `json:"-"`
1138
1139	// ForceSendFields is a list of field names (e.g. "Entries") to
1140	// unconditionally include in API requests. By default, fields with
1141	// empty values are omitted from API requests. However, any non-pointer,
1142	// non-interface field appearing in ForceSendFields will be sent to the
1143	// server regardless of whether the field is empty or not. This may be
1144	// used to include empty fields in Patch requests.
1145	ForceSendFields []string `json:"-"`
1146
1147	// NullFields is a list of field names (e.g. "Entries") to include in
1148	// API requests with the JSON null value. By default, fields with empty
1149	// values are omitted from API requests. However, any field with an
1150	// empty value appearing in NullFields will be sent to the server as
1151	// null. It is an error if a field in this list has a non-empty value.
1152	// This may be used to include null fields in Patch requests.
1153	NullFields []string `json:"-"`
1154}
1155
1156func (s *GoogleCloudDatacatalogV1beta1ListEntriesResponse) MarshalJSON() ([]byte, error) {
1157	type NoMethod GoogleCloudDatacatalogV1beta1ListEntriesResponse
1158	raw := NoMethod(*s)
1159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1160}
1161
1162// GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse: Response
1163// message for ListEntryGroups.
1164type GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse struct {
1165	// EntryGroups: EntryGroup details.
1166	EntryGroups []*GoogleCloudDatacatalogV1beta1EntryGroup `json:"entryGroups,omitempty"`
1167
1168	// NextPageToken: Token to retrieve the next page of results. It is set
1169	// to empty if no items remain in results.
1170	NextPageToken string `json:"nextPageToken,omitempty"`
1171
1172	// ServerResponse contains the HTTP response code and headers from the
1173	// server.
1174	googleapi.ServerResponse `json:"-"`
1175
1176	// ForceSendFields is a list of field names (e.g. "EntryGroups") to
1177	// unconditionally include in API requests. By default, fields with
1178	// empty values are omitted from API requests. However, any non-pointer,
1179	// non-interface field appearing in ForceSendFields will be sent to the
1180	// server regardless of whether the field is empty or not. This may be
1181	// used to include empty fields in Patch requests.
1182	ForceSendFields []string `json:"-"`
1183
1184	// NullFields is a list of field names (e.g. "EntryGroups") to include
1185	// in API requests with the JSON null value. By default, fields with
1186	// empty values are omitted from API requests. However, any field with
1187	// an empty value appearing in NullFields will be sent to the server as
1188	// null. It is an error if a field in this list has a non-empty value.
1189	// This may be used to include null fields in Patch requests.
1190	NullFields []string `json:"-"`
1191}
1192
1193func (s *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) MarshalJSON() ([]byte, error) {
1194	type NoMethod GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
1195	raw := NoMethod(*s)
1196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1197}
1198
1199// GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse: Response message
1200// for ListPolicyTags.
1201type GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse struct {
1202	// NextPageToken: Token used to retrieve the next page of results, or
1203	// empty if there are no more results in the list.
1204	NextPageToken string `json:"nextPageToken,omitempty"`
1205
1206	// PolicyTags: The policy tags that are in the requested taxonomy.
1207	PolicyTags []*GoogleCloudDatacatalogV1beta1PolicyTag `json:"policyTags,omitempty"`
1208
1209	// ServerResponse contains the HTTP response code and headers from the
1210	// server.
1211	googleapi.ServerResponse `json:"-"`
1212
1213	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1214	// unconditionally include in API requests. By default, fields with
1215	// empty values are omitted from API requests. However, any non-pointer,
1216	// non-interface field appearing in ForceSendFields will be sent to the
1217	// server regardless of whether the field is empty or not. This may be
1218	// used to include empty fields in Patch requests.
1219	ForceSendFields []string `json:"-"`
1220
1221	// NullFields is a list of field names (e.g. "NextPageToken") to include
1222	// in API requests with the JSON null value. By default, fields with
1223	// empty values are omitted from API requests. However, any field with
1224	// an empty value appearing in NullFields will be sent to the server as
1225	// null. It is an error if a field in this list has a non-empty value.
1226	// This may be used to include null fields in Patch requests.
1227	NullFields []string `json:"-"`
1228}
1229
1230func (s *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) MarshalJSON() ([]byte, error) {
1231	type NoMethod GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
1232	raw := NoMethod(*s)
1233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1234}
1235
1236// GoogleCloudDatacatalogV1beta1ListTagsResponse: Response message for
1237// ListTags.
1238type GoogleCloudDatacatalogV1beta1ListTagsResponse struct {
1239	// NextPageToken: Token to retrieve the next page of results. It is set
1240	// to empty if no items remain in results.
1241	NextPageToken string `json:"nextPageToken,omitempty"`
1242
1243	// Tags: Tag details.
1244	Tags []*GoogleCloudDatacatalogV1beta1Tag `json:"tags,omitempty"`
1245
1246	// ServerResponse contains the HTTP response code and headers from the
1247	// server.
1248	googleapi.ServerResponse `json:"-"`
1249
1250	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1251	// unconditionally include in API requests. By default, fields with
1252	// empty values are omitted from API requests. However, any non-pointer,
1253	// non-interface field appearing in ForceSendFields will be sent to the
1254	// server regardless of whether the field is empty or not. This may be
1255	// used to include empty fields in Patch requests.
1256	ForceSendFields []string `json:"-"`
1257
1258	// NullFields is a list of field names (e.g. "NextPageToken") to include
1259	// in API requests with the JSON null value. By default, fields with
1260	// empty values are omitted from API requests. However, any field with
1261	// an empty value appearing in NullFields will be sent to the server as
1262	// null. It is an error if a field in this list has a non-empty value.
1263	// This may be used to include null fields in Patch requests.
1264	NullFields []string `json:"-"`
1265}
1266
1267func (s *GoogleCloudDatacatalogV1beta1ListTagsResponse) MarshalJSON() ([]byte, error) {
1268	type NoMethod GoogleCloudDatacatalogV1beta1ListTagsResponse
1269	raw := NoMethod(*s)
1270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1271}
1272
1273// GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse: Response message
1274// for ListTaxonomies.
1275type GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse struct {
1276	// NextPageToken: Token used to retrieve the next page of results, or
1277	// empty if there are no more results in the list.
1278	NextPageToken string `json:"nextPageToken,omitempty"`
1279
1280	// Taxonomies: Taxonomies that the project contains.
1281	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
1282
1283	// ServerResponse contains the HTTP response code and headers from the
1284	// server.
1285	googleapi.ServerResponse `json:"-"`
1286
1287	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1288	// unconditionally include in API requests. By default, fields with
1289	// empty values are omitted from API requests. However, any non-pointer,
1290	// non-interface field appearing in ForceSendFields will be sent to the
1291	// server regardless of whether the field is empty or not. This may be
1292	// used to include empty fields in Patch requests.
1293	ForceSendFields []string `json:"-"`
1294
1295	// NullFields is a list of field names (e.g. "NextPageToken") to include
1296	// in API requests with the JSON null value. By default, fields with
1297	// empty values are omitted from API requests. However, any field with
1298	// an empty value appearing in NullFields will be sent to the server as
1299	// null. It is an error if a field in this list has a non-empty value.
1300	// This may be used to include null fields in Patch requests.
1301	NullFields []string `json:"-"`
1302}
1303
1304func (s *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) MarshalJSON() ([]byte, error) {
1305	type NoMethod GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
1306	raw := NoMethod(*s)
1307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1308}
1309
1310// GoogleCloudDatacatalogV1beta1PolicyTag: Denotes one policy tag in a
1311// taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For
1312// example, consider the following hierarchy: Geolocation -> (LatLong,
1313// City, ZipCode). PolicyTag "Geolocation" contains three child policy
1314// tags: "LatLong", "City", and "ZipCode".
1315type GoogleCloudDatacatalogV1beta1PolicyTag struct {
1316	// ChildPolicyTags: Output only. Resource names of child policy tags of
1317	// this policy tag.
1318	ChildPolicyTags []string `json:"childPolicyTags,omitempty"`
1319
1320	// Description: Description of this policy tag. It must: contain only
1321	// unicode characters, tabs, newlines, carriage returns and page breaks;
1322	// and be at most 2000 bytes long when encoded in UTF-8. If not set,
1323	// defaults to an empty description. If not set, defaults to an empty
1324	// description.
1325	Description string `json:"description,omitempty"`
1326
1327	// DisplayName: Required. User defined name of this policy tag. It must:
1328	// be unique within the parent taxonomy; contain only unicode letters,
1329	// numbers, underscores, dashes and spaces; not start or end with
1330	// spaces; and be at most 200 bytes long when encoded in UTF-8.
1331	DisplayName string `json:"displayName,omitempty"`
1332
1333	// Name: Output only. Resource name of this policy tag, whose format is:
1334	// "projects/{project_number}/locations/{location_id}/taxonomies/{taxonom
1335	// y_id}/policyTags/{id}".
1336	Name string `json:"name,omitempty"`
1337
1338	// ParentPolicyTag: Resource name of this policy tag's parent policy tag
1339	// (e.g. for the "LatLong" policy tag in the example above, this field
1340	// contains the resource name of the "Geolocation" policy tag). If
1341	// empty, it means this policy tag is a top level policy tag (e.g. this
1342	// field is empty for the "Geolocation" policy tag in the example
1343	// above). If not set, defaults to an empty string.
1344	ParentPolicyTag string `json:"parentPolicyTag,omitempty"`
1345
1346	// ServerResponse contains the HTTP response code and headers from the
1347	// server.
1348	googleapi.ServerResponse `json:"-"`
1349
1350	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
1351	// unconditionally include in API requests. By default, fields with
1352	// empty values are omitted from API requests. However, any non-pointer,
1353	// non-interface field appearing in ForceSendFields will be sent to the
1354	// server regardless of whether the field is empty or not. This may be
1355	// used to include empty fields in Patch requests.
1356	ForceSendFields []string `json:"-"`
1357
1358	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
1359	// include in API requests with the JSON null value. By default, fields
1360	// with empty values are omitted from API requests. However, any field
1361	// with an empty value appearing in NullFields will be sent to the
1362	// server as null. It is an error if a field in this list has a
1363	// non-empty value. This may be used to include null fields in Patch
1364	// requests.
1365	NullFields []string `json:"-"`
1366}
1367
1368func (s *GoogleCloudDatacatalogV1beta1PolicyTag) MarshalJSON() ([]byte, error) {
1369	type NoMethod GoogleCloudDatacatalogV1beta1PolicyTag
1370	raw := NoMethod(*s)
1371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1372}
1373
1374// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest:
1375// Request message for RenameTagTemplateFieldEnumValue.
1376type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest struct {
1377	// NewEnumValueDisplayName: Required. The new display name of the enum
1378	// value. For example, `my_new_enum_value`.
1379	NewEnumValueDisplayName string `json:"newEnumValueDisplayName,omitempty"`
1380
1381	// ForceSendFields is a list of field names (e.g.
1382	// "NewEnumValueDisplayName") to unconditionally include in API
1383	// requests. By default, fields with empty values are omitted from API
1384	// requests. However, any non-pointer, non-interface field appearing in
1385	// ForceSendFields will be sent to the server regardless of whether the
1386	// field is empty or not. This may be used to include empty fields in
1387	// Patch requests.
1388	ForceSendFields []string `json:"-"`
1389
1390	// NullFields is a list of field names (e.g. "NewEnumValueDisplayName")
1391	// to include in API requests with the JSON null value. By default,
1392	// fields with empty values are omitted from API requests. However, any
1393	// field with an empty value appearing in NullFields will be sent to the
1394	// server as null. It is an error if a field in this list has a
1395	// non-empty value. This may be used to include null fields in Patch
1396	// requests.
1397	NullFields []string `json:"-"`
1398}
1399
1400func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) MarshalJSON() ([]byte, error) {
1401	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
1402	raw := NoMethod(*s)
1403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1404}
1405
1406// GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest: Request
1407// message for RenameTagTemplateField.
1408type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest struct {
1409	// NewTagTemplateFieldId: Required. The new ID of this tag template
1410	// field. For example, `my_new_field`.
1411	NewTagTemplateFieldId string `json:"newTagTemplateFieldId,omitempty"`
1412
1413	// ForceSendFields is a list of field names (e.g.
1414	// "NewTagTemplateFieldId") to unconditionally include in API requests.
1415	// By default, fields with empty values are omitted from API requests.
1416	// However, any non-pointer, non-interface field appearing in
1417	// ForceSendFields will be sent to the server regardless of whether the
1418	// field is empty or not. This may be used to include empty fields in
1419	// Patch requests.
1420	ForceSendFields []string `json:"-"`
1421
1422	// NullFields is a list of field names (e.g. "NewTagTemplateFieldId") to
1423	// include in API requests with the JSON null value. By default, fields
1424	// with empty values are omitted from API requests. However, any field
1425	// with an empty value appearing in NullFields will be sent to the
1426	// server as null. It is an error if a field in this list has a
1427	// non-empty value. This may be used to include null fields in Patch
1428	// requests.
1429	NullFields []string `json:"-"`
1430}
1431
1432func (s *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) MarshalJSON() ([]byte, error) {
1433	type NoMethod GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
1434	raw := NoMethod(*s)
1435	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1436}
1437
1438// GoogleCloudDatacatalogV1beta1Schema: Represents a schema (e.g.
1439// BigQuery, GoogleSQL, Avro schema).
1440type GoogleCloudDatacatalogV1beta1Schema struct {
1441	// Columns: Required. Schema of columns. A maximum of 10,000 columns and
1442	// sub-columns can be specified.
1443	Columns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"columns,omitempty"`
1444
1445	// ForceSendFields is a list of field names (e.g. "Columns") to
1446	// unconditionally include in API requests. By default, fields with
1447	// empty values are omitted from API requests. However, any non-pointer,
1448	// non-interface field appearing in ForceSendFields will be sent to the
1449	// server regardless of whether the field is empty or not. This may be
1450	// used to include empty fields in Patch requests.
1451	ForceSendFields []string `json:"-"`
1452
1453	// NullFields is a list of field names (e.g. "Columns") to include in
1454	// API requests with the JSON null value. By default, fields with empty
1455	// values are omitted from API requests. However, any field with an
1456	// empty value appearing in NullFields will be sent to the server as
1457	// null. It is an error if a field in this list has a non-empty value.
1458	// This may be used to include null fields in Patch requests.
1459	NullFields []string `json:"-"`
1460}
1461
1462func (s *GoogleCloudDatacatalogV1beta1Schema) MarshalJSON() ([]byte, error) {
1463	type NoMethod GoogleCloudDatacatalogV1beta1Schema
1464	raw := NoMethod(*s)
1465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1466}
1467
1468// GoogleCloudDatacatalogV1beta1SearchCatalogRequest: Request message
1469// for SearchCatalog.
1470type GoogleCloudDatacatalogV1beta1SearchCatalogRequest struct {
1471	// OrderBy: Specifies the ordering of results, currently supported
1472	// case-sensitive choices are: * `relevance`, only supports descending *
1473	// `last_modified_timestamp [asc|desc]`, defaults to descending if not
1474	// specified If not specified, defaults to `relevance` descending.
1475	OrderBy string `json:"orderBy,omitempty"`
1476
1477	// PageSize: Number of results in the search page. If <=0 then defaults
1478	// to 10. Max limit for page_size is 1000. Throws an invalid argument
1479	// for page_size > 1000.
1480	PageSize int64 `json:"pageSize,omitempty"`
1481
1482	// PageToken: Optional. Pagination token returned in an earlier
1483	// SearchCatalogResponse.next_page_token, which indicates that this is a
1484	// continuation of a prior SearchCatalogRequest call, and that the
1485	// system should return the next page of data. If empty, the first page
1486	// is returned.
1487	PageToken string `json:"pageToken,omitempty"`
1488
1489	// Query: Optional. The query string in search query syntax. An empty
1490	// query string will result in all data assets (in the specified scope)
1491	// that the user has access to. Query strings can be simple as "x" or
1492	// more qualified as: * name:x * column:x * description:y Note: Query
1493	// tokens need to have a minimum of 3 characters for substring matching
1494	// to work correctly. See Data Catalog Search Syntax
1495	// (https://cloud.google.com/data-catalog/docs/how-to/search-reference)
1496	// for more information.
1497	Query string `json:"query,omitempty"`
1498
1499	// Scope: Required. The scope of this search request. A `scope` that has
1500	// empty `include_org_ids`, `include_project_ids` AND false
1501	// `include_gcp_public_datasets` is considered invalid. Data Catalog
1502	// will return an error in such a case.
1503	Scope *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope `json:"scope,omitempty"`
1504
1505	// ForceSendFields is a list of field names (e.g. "OrderBy") to
1506	// unconditionally include in API requests. By default, fields with
1507	// empty values are omitted from API requests. However, any non-pointer,
1508	// non-interface field appearing in ForceSendFields will be sent to the
1509	// server regardless of whether the field is empty or not. This may be
1510	// used to include empty fields in Patch requests.
1511	ForceSendFields []string `json:"-"`
1512
1513	// NullFields is a list of field names (e.g. "OrderBy") to include in
1514	// API requests with the JSON null value. By default, fields with empty
1515	// values are omitted from API requests. However, any field with an
1516	// empty value appearing in NullFields will be sent to the server as
1517	// null. It is an error if a field in this list has a non-empty value.
1518	// This may be used to include null fields in Patch requests.
1519	NullFields []string `json:"-"`
1520}
1521
1522func (s *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) MarshalJSON() ([]byte, error) {
1523	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequest
1524	raw := NoMethod(*s)
1525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1526}
1527
1528// GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope: The criteria
1529// that select the subspace used for query matching.
1530type GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope struct {
1531	// IncludeGcpPublicDatasets: If `true`, include Google Cloud Platform
1532	// (GCP) public datasets in the search results. Info on GCP public
1533	// datasets is available at https://cloud.google.com/public-datasets/.
1534	// By default, GCP public datasets are excluded.
1535	IncludeGcpPublicDatasets bool `json:"includeGcpPublicDatasets,omitempty"`
1536
1537	// IncludeOrgIds: The list of organization IDs to search within. To find
1538	// your organization ID, follow instructions in
1539	// https://cloud.google.com/resource-manager/docs/creating-managing-organization.
1540	IncludeOrgIds []string `json:"includeOrgIds,omitempty"`
1541
1542	// IncludeProjectIds: The list of project IDs to search within. To learn
1543	// more about the distinction between project names/IDs/numbers, go to
1544	// https://cloud.google.com/docs/overview/#projects.
1545	IncludeProjectIds []string `json:"includeProjectIds,omitempty"`
1546
1547	// RestrictedLocations: Optional. The list of locations to search
1548	// within. 1. If empty, search will be performed in all locations; 2. If
1549	// any of the locations are NOT in the valid locations list, error will
1550	// be returned; 3. Otherwise, search only the given locations for
1551	// matching results. Typical usage is to leave this field empty. When a
1552	// location is unreachable as returned in the
1553	// `SearchCatalogResponse.unreachable` field, users can repeat the
1554	// search request with this parameter set to get additional information
1555	// on the error. Valid locations: * asia-east1 * asia-east2 *
1556	// asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 *
1557	// asia-southeast1 * australia-southeast1 * eu * europe-north1 *
1558	// europe-west1 * europe-west2 * europe-west3 * europe-west4 *
1559	// europe-west6 * global * northamerica-northeast1 * southamerica-east1
1560	// * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2
1561	RestrictedLocations []string `json:"restrictedLocations,omitempty"`
1562
1563	// ForceSendFields is a list of field names (e.g.
1564	// "IncludeGcpPublicDatasets") to unconditionally include in API
1565	// requests. By default, fields with empty values are omitted from API
1566	// requests. However, any non-pointer, non-interface field appearing in
1567	// ForceSendFields will be sent to the server regardless of whether the
1568	// field is empty or not. This may be used to include empty fields in
1569	// Patch requests.
1570	ForceSendFields []string `json:"-"`
1571
1572	// NullFields is a list of field names (e.g. "IncludeGcpPublicDatasets")
1573	// to include in API requests with the JSON null value. By default,
1574	// fields with empty values are omitted from API requests. However, any
1575	// field 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 *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope) MarshalJSON() ([]byte, error) {
1583	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope
1584	raw := NoMethod(*s)
1585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1586}
1587
1588// GoogleCloudDatacatalogV1beta1SearchCatalogResponse: Response message
1589// for SearchCatalog.
1590type GoogleCloudDatacatalogV1beta1SearchCatalogResponse struct {
1591	// NextPageToken: The token that can be used to retrieve the next page
1592	// of results.
1593	NextPageToken string `json:"nextPageToken,omitempty"`
1594
1595	// Results: Search results.
1596	Results []*GoogleCloudDatacatalogV1beta1SearchCatalogResult `json:"results,omitempty"`
1597
1598	// Unreachable: Unreachable locations. Search result does not include
1599	// data from those locations. Users can get additional information on
1600	// the error by repeating the search request with a more restrictive
1601	// parameter -- setting the value for
1602	// `SearchDataCatalogRequest.scope.restricted_locations`.
1603	Unreachable []string `json:"unreachable,omitempty"`
1604
1605	// ServerResponse contains the HTTP response code and headers from the
1606	// server.
1607	googleapi.ServerResponse `json:"-"`
1608
1609	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
1610	// unconditionally include in API requests. By default, fields with
1611	// empty values are omitted from API requests. However, any non-pointer,
1612	// non-interface field appearing in ForceSendFields will be sent to the
1613	// server regardless of whether the field is empty or not. This may be
1614	// used to include empty fields in Patch requests.
1615	ForceSendFields []string `json:"-"`
1616
1617	// NullFields is a list of field names (e.g. "NextPageToken") to include
1618	// in API requests with the JSON null value. By default, fields with
1619	// empty values are omitted from API requests. However, any field with
1620	// an empty value appearing in NullFields will be sent to the server as
1621	// null. It is an error if a field in this list has a non-empty value.
1622	// This may be used to include null fields in Patch requests.
1623	NullFields []string `json:"-"`
1624}
1625
1626func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResponse) MarshalJSON() ([]byte, error) {
1627	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResponse
1628	raw := NoMethod(*s)
1629	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1630}
1631
1632// GoogleCloudDatacatalogV1beta1SearchCatalogResult: A result that
1633// appears in the response of a search request. Each result captures
1634// details of one entry that matches the search.
1635type GoogleCloudDatacatalogV1beta1SearchCatalogResult struct {
1636	// LinkedResource: The full name of the cloud resource the entry belongs
1637	// to. See:
1638	// https://cloud.google.com/apis/design/resource_names#full_resource_name.
1639	// Example: *
1640	// `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/table
1641	// s/tableId`
1642	LinkedResource string `json:"linkedResource,omitempty"`
1643
1644	// ModifyTime: Last-modified timestamp of the entry from the managing
1645	// system.
1646	ModifyTime string `json:"modifyTime,omitempty"`
1647
1648	// RelativeResourceName: The relative resource name of the resource in
1649	// URL format. Examples: *
1650	// `projects/{project_id}/locations/{location_id}/entryGroups/{entry_grou
1651	// p_id}/entries/{entry_id}` *
1652	// `projects/{project_id}/tagTemplates/{tag_template_id}`
1653	RelativeResourceName string `json:"relativeResourceName,omitempty"`
1654
1655	// SearchResultSubtype: Sub-type of the search result. This is a
1656	// dot-delimited description of the resource's full type, and is the
1657	// same as the value callers would provide in the "type" search facet.
1658	// Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.
1659	SearchResultSubtype string `json:"searchResultSubtype,omitempty"`
1660
1661	// SearchResultType: Type of the search result. This field can be used
1662	// to determine which Get method to call to fetch the full resource.
1663	//
1664	// Possible values:
1665	//   "SEARCH_RESULT_TYPE_UNSPECIFIED" - Default unknown type.
1666	//   "ENTRY" - An Entry.
1667	//   "TAG_TEMPLATE" - A TagTemplate.
1668	//   "ENTRY_GROUP" - An EntryGroup.
1669	SearchResultType string `json:"searchResultType,omitempty"`
1670
1671	// ForceSendFields is a list of field names (e.g. "LinkedResource") to
1672	// unconditionally include in API requests. By default, fields with
1673	// empty values are omitted from API requests. However, any non-pointer,
1674	// non-interface field appearing in ForceSendFields will be sent to the
1675	// server regardless of whether the field is empty or not. This may be
1676	// used to include empty fields in Patch requests.
1677	ForceSendFields []string `json:"-"`
1678
1679	// NullFields is a list of field names (e.g. "LinkedResource") to
1680	// include in API requests with the JSON null value. By default, fields
1681	// with empty values are omitted from API requests. However, any field
1682	// with an empty value appearing in NullFields will be sent to the
1683	// server as null. It is an error if a field in this list has a
1684	// non-empty value. This may be used to include null fields in Patch
1685	// requests.
1686	NullFields []string `json:"-"`
1687}
1688
1689func (s *GoogleCloudDatacatalogV1beta1SearchCatalogResult) MarshalJSON() ([]byte, error) {
1690	type NoMethod GoogleCloudDatacatalogV1beta1SearchCatalogResult
1691	raw := NoMethod(*s)
1692	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1693}
1694
1695// GoogleCloudDatacatalogV1beta1SerializedPolicyTag: Message
1696// representing one policy tag when exported as a nested proto.
1697type GoogleCloudDatacatalogV1beta1SerializedPolicyTag struct {
1698	// ChildPolicyTags: Children of the policy tag if any.
1699	ChildPolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"childPolicyTags,omitempty"`
1700
1701	// Description: Description of the serialized policy tag. The length of
1702	// the description is limited to 2000 bytes when encoded in UTF-8. If
1703	// not set, defaults to an empty description.
1704	Description string `json:"description,omitempty"`
1705
1706	// DisplayName: Required. Display name of the policy tag. Max 200 bytes
1707	// when encoded in UTF-8.
1708	DisplayName string `json:"displayName,omitempty"`
1709
1710	// PolicyTag: Resource name of the policy tag. This field will be
1711	// ignored when calling ImportTaxonomies.
1712	PolicyTag string `json:"policyTag,omitempty"`
1713
1714	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
1715	// unconditionally include in API requests. By default, fields with
1716	// empty values are omitted from API requests. However, any non-pointer,
1717	// non-interface field appearing in ForceSendFields will be sent to the
1718	// server regardless of whether the field is empty or not. This may be
1719	// used to include empty fields in Patch requests.
1720	ForceSendFields []string `json:"-"`
1721
1722	// NullFields is a list of field names (e.g. "ChildPolicyTags") to
1723	// include in API requests with the JSON null value. By default, fields
1724	// with empty values are omitted from API requests. However, any field
1725	// with an empty value appearing in NullFields will be sent to the
1726	// server as null. It is an error if a field in this list has a
1727	// non-empty value. This may be used to include null fields in Patch
1728	// requests.
1729	NullFields []string `json:"-"`
1730}
1731
1732func (s *GoogleCloudDatacatalogV1beta1SerializedPolicyTag) MarshalJSON() ([]byte, error) {
1733	type NoMethod GoogleCloudDatacatalogV1beta1SerializedPolicyTag
1734	raw := NoMethod(*s)
1735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1736}
1737
1738// GoogleCloudDatacatalogV1beta1SerializedTaxonomy: Message capturing a
1739// taxonomy and its policy tag hierarchy as a nested proto. Used for
1740// taxonomy import/export and mutation.
1741type GoogleCloudDatacatalogV1beta1SerializedTaxonomy struct {
1742	// ActivatedPolicyTypes: A list of policy types that are activated for a
1743	// taxonomy.
1744	//
1745	// Possible values:
1746	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
1747	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
1748	// which enables access control on tagged resources.
1749	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
1750
1751	// Description: Description of the serialized taxonomy. The length of
1752	// the description is limited to 2000 bytes when encoded in UTF-8. If
1753	// not set, defaults to an empty description.
1754	Description string `json:"description,omitempty"`
1755
1756	// DisplayName: Required. Display name of the taxonomy. Max 200 bytes
1757	// when encoded in UTF-8.
1758	DisplayName string `json:"displayName,omitempty"`
1759
1760	// PolicyTags: Top level policy tags associated with the taxonomy if
1761	// any.
1762	PolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"policyTags,omitempty"`
1763
1764	// ForceSendFields is a list of field names (e.g.
1765	// "ActivatedPolicyTypes") to unconditionally include in API requests.
1766	// By default, fields with empty values are omitted from API requests.
1767	// However, any non-pointer, non-interface field appearing in
1768	// ForceSendFields will be sent to the server regardless of whether the
1769	// field is empty or not. This may be used to include empty fields in
1770	// Patch requests.
1771	ForceSendFields []string `json:"-"`
1772
1773	// NullFields is a list of field names (e.g. "ActivatedPolicyTypes") to
1774	// include in API requests with the JSON null value. By default, fields
1775	// with empty values are omitted from API requests. However, any field
1776	// with an empty value appearing in NullFields will be sent to the
1777	// server as null. It is an error if a field in this list has a
1778	// non-empty value. This may be used to include null fields in Patch
1779	// requests.
1780	NullFields []string `json:"-"`
1781}
1782
1783func (s *GoogleCloudDatacatalogV1beta1SerializedTaxonomy) MarshalJSON() ([]byte, error) {
1784	type NoMethod GoogleCloudDatacatalogV1beta1SerializedTaxonomy
1785	raw := NoMethod(*s)
1786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1787}
1788
1789// GoogleCloudDatacatalogV1beta1SystemTimestamps: Timestamps about this
1790// resource according to a particular system.
1791type GoogleCloudDatacatalogV1beta1SystemTimestamps struct {
1792	// CreateTime: The creation time of the resource within the given
1793	// system.
1794	CreateTime string `json:"createTime,omitempty"`
1795
1796	// ExpireTime: Output only. The expiration time of the resource within
1797	// the given system. Currently only apllicable to BigQuery resources.
1798	ExpireTime string `json:"expireTime,omitempty"`
1799
1800	// UpdateTime: The last-modified time of the resource within the given
1801	// system.
1802	UpdateTime string `json:"updateTime,omitempty"`
1803
1804	// ForceSendFields is a list of field names (e.g. "CreateTime") to
1805	// unconditionally include in API requests. By default, fields with
1806	// empty values are omitted from API requests. However, any non-pointer,
1807	// non-interface field appearing in ForceSendFields will be sent to the
1808	// server regardless of whether the field is empty or not. This may be
1809	// used to include empty fields in Patch requests.
1810	ForceSendFields []string `json:"-"`
1811
1812	// NullFields is a list of field names (e.g. "CreateTime") to include in
1813	// API requests with the JSON null value. By default, fields with empty
1814	// values are omitted from API requests. However, any field with an
1815	// empty value appearing in NullFields will be sent to the server as
1816	// null. It is an error if a field in this list has a non-empty value.
1817	// This may be used to include null fields in Patch requests.
1818	NullFields []string `json:"-"`
1819}
1820
1821func (s *GoogleCloudDatacatalogV1beta1SystemTimestamps) MarshalJSON() ([]byte, error) {
1822	type NoMethod GoogleCloudDatacatalogV1beta1SystemTimestamps
1823	raw := NoMethod(*s)
1824	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1825}
1826
1827// GoogleCloudDatacatalogV1beta1TableSpec: Normal BigQuery table spec.
1828type GoogleCloudDatacatalogV1beta1TableSpec struct {
1829	// GroupedEntry: Output only. If the table is a dated shard, i.e., with
1830	// name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog
1831	// resource name of the date sharded grouped entry, for example,
1832	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
1833	// d}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.
1834	GroupedEntry string `json:"groupedEntry,omitempty"`
1835
1836	// ForceSendFields is a list of field names (e.g. "GroupedEntry") to
1837	// unconditionally include in API requests. By default, fields with
1838	// empty values are omitted from API requests. However, any non-pointer,
1839	// non-interface field appearing in ForceSendFields will be sent to the
1840	// server regardless of whether the field is empty or not. This may be
1841	// used to include empty fields in Patch requests.
1842	ForceSendFields []string `json:"-"`
1843
1844	// NullFields is a list of field names (e.g. "GroupedEntry") to include
1845	// in API requests with the JSON null value. By default, fields with
1846	// empty values are omitted from API requests. However, any field with
1847	// an empty value appearing in NullFields will be sent to the server as
1848	// null. It is an error if a field in this list has a non-empty value.
1849	// This may be used to include null fields in Patch requests.
1850	NullFields []string `json:"-"`
1851}
1852
1853func (s *GoogleCloudDatacatalogV1beta1TableSpec) MarshalJSON() ([]byte, error) {
1854	type NoMethod GoogleCloudDatacatalogV1beta1TableSpec
1855	raw := NoMethod(*s)
1856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1857}
1858
1859// GoogleCloudDatacatalogV1beta1Tag: Tags are used to attach custom
1860// metadata to Data Catalog resources. Tags conform to the
1861// specifications within their tag template. See Data Catalog IAM
1862// (https://cloud.google.com/data-catalog/docs/concepts/iam) for
1863// information on the permissions needed to create or view tags.
1864type GoogleCloudDatacatalogV1beta1Tag struct {
1865	// Column: Resources like Entry can have schemas associated with them.
1866	// This scope allows users to attach tags to an individual column based
1867	// on that schema. For attaching a tag to a nested column, use `.` to
1868	// separate the column names. Example: * `outer_column.inner_column`
1869	Column string `json:"column,omitempty"`
1870
1871	// Fields: Required. This maps the ID of a tag field to the value of and
1872	// additional information about that field. Valid field IDs are defined
1873	// by the tag's template. A tag must have at least 1 field and at most
1874	// 500 fields.
1875	Fields map[string]GoogleCloudDatacatalogV1beta1TagField `json:"fields,omitempty"`
1876
1877	// Name: The resource name of the tag in URL format. Example: *
1878	// projects/{project_id}/locations/{location}/entrygroups/{entry_group_id
1879	// }/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
1880	// system-generated identifier. Note that this Tag may not actually be
1881	// stored in the location in this name.
1882	Name string `json:"name,omitempty"`
1883
1884	// Template: Required. The resource name of the tag template that this
1885	// tag uses. Example: *
1886	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
1887	// id} This field cannot be modified after creation.
1888	Template string `json:"template,omitempty"`
1889
1890	// TemplateDisplayName: Output only. The display name of the tag
1891	// template.
1892	TemplateDisplayName string `json:"templateDisplayName,omitempty"`
1893
1894	// ServerResponse contains the HTTP response code and headers from the
1895	// server.
1896	googleapi.ServerResponse `json:"-"`
1897
1898	// ForceSendFields is a list of field names (e.g. "Column") to
1899	// unconditionally include in API requests. By default, fields with
1900	// empty values are omitted from API requests. However, any non-pointer,
1901	// non-interface field appearing in ForceSendFields will be sent to the
1902	// server regardless of whether the field is empty or not. This may be
1903	// used to include empty fields in Patch requests.
1904	ForceSendFields []string `json:"-"`
1905
1906	// NullFields is a list of field names (e.g. "Column") to include in API
1907	// requests with the JSON null value. By default, fields with empty
1908	// values are omitted from API requests. However, any field with an
1909	// empty value appearing in NullFields will be sent to the server as
1910	// null. It is an error if a field in this list has a non-empty value.
1911	// This may be used to include null fields in Patch requests.
1912	NullFields []string `json:"-"`
1913}
1914
1915func (s *GoogleCloudDatacatalogV1beta1Tag) MarshalJSON() ([]byte, error) {
1916	type NoMethod GoogleCloudDatacatalogV1beta1Tag
1917	raw := NoMethod(*s)
1918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1919}
1920
1921// GoogleCloudDatacatalogV1beta1TagField: Contains the value and
1922// supporting information for a field within a Tag.
1923type GoogleCloudDatacatalogV1beta1TagField struct {
1924	// BoolValue: Holds the value for a tag field with boolean type.
1925	BoolValue bool `json:"boolValue,omitempty"`
1926
1927	// DisplayName: Output only. The display name of this field.
1928	DisplayName string `json:"displayName,omitempty"`
1929
1930	// DoubleValue: Holds the value for a tag field with double type.
1931	DoubleValue float64 `json:"doubleValue,omitempty"`
1932
1933	// EnumValue: Holds the value for a tag field with enum type. This value
1934	// must be one of the allowed values in the definition of this enum.
1935	EnumValue *GoogleCloudDatacatalogV1beta1TagFieldEnumValue `json:"enumValue,omitempty"`
1936
1937	// Order: Output only. The order of this field with respect to other
1938	// fields in this tag. It can be set in Tag. For example, a higher value
1939	// can indicate a more important field. The value can be negative.
1940	// Multiple fields can have the same order, and field orders within a
1941	// tag do not have to be sequential.
1942	Order int64 `json:"order,omitempty"`
1943
1944	// StringValue: Holds the value for a tag field with string type.
1945	StringValue string `json:"stringValue,omitempty"`
1946
1947	// TimestampValue: Holds the value for a tag field with timestamp type.
1948	TimestampValue string `json:"timestampValue,omitempty"`
1949
1950	// ForceSendFields is a list of field names (e.g. "BoolValue") to
1951	// unconditionally include in API requests. By default, fields with
1952	// empty values are omitted from API requests. However, any non-pointer,
1953	// non-interface field appearing in ForceSendFields will be sent to the
1954	// server regardless of whether the field is empty or not. This may be
1955	// used to include empty fields in Patch requests.
1956	ForceSendFields []string `json:"-"`
1957
1958	// NullFields is a list of field names (e.g. "BoolValue") to include in
1959	// API requests with the JSON null value. By default, fields with empty
1960	// values are omitted from API requests. However, any field with an
1961	// empty value appearing in NullFields will be sent to the server as
1962	// null. It is an error if a field in this list has a non-empty value.
1963	// This may be used to include null fields in Patch requests.
1964	NullFields []string `json:"-"`
1965}
1966
1967func (s *GoogleCloudDatacatalogV1beta1TagField) MarshalJSON() ([]byte, error) {
1968	type NoMethod GoogleCloudDatacatalogV1beta1TagField
1969	raw := NoMethod(*s)
1970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1971}
1972
1973func (s *GoogleCloudDatacatalogV1beta1TagField) UnmarshalJSON(data []byte) error {
1974	type NoMethod GoogleCloudDatacatalogV1beta1TagField
1975	var s1 struct {
1976		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
1977		*NoMethod
1978	}
1979	s1.NoMethod = (*NoMethod)(s)
1980	if err := json.Unmarshal(data, &s1); err != nil {
1981		return err
1982	}
1983	s.DoubleValue = float64(s1.DoubleValue)
1984	return nil
1985}
1986
1987// GoogleCloudDatacatalogV1beta1TagFieldEnumValue: Holds an enum value.
1988type GoogleCloudDatacatalogV1beta1TagFieldEnumValue struct {
1989	// DisplayName: The display name of the enum value.
1990	DisplayName string `json:"displayName,omitempty"`
1991
1992	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1993	// unconditionally include in API requests. By default, fields with
1994	// empty values are omitted from API requests. However, any non-pointer,
1995	// non-interface field appearing in ForceSendFields will be sent to the
1996	// server regardless of whether the field is empty or not. This may be
1997	// used to include empty fields in Patch requests.
1998	ForceSendFields []string `json:"-"`
1999
2000	// NullFields is a list of field names (e.g. "DisplayName") to include
2001	// in API requests with the JSON null value. By default, fields with
2002	// empty values are omitted from API requests. However, any field with
2003	// an empty value appearing in NullFields will be sent to the server as
2004	// null. It is an error if a field in this list has a non-empty value.
2005	// This may be used to include null fields in Patch requests.
2006	NullFields []string `json:"-"`
2007}
2008
2009func (s *GoogleCloudDatacatalogV1beta1TagFieldEnumValue) MarshalJSON() ([]byte, error) {
2010	type NoMethod GoogleCloudDatacatalogV1beta1TagFieldEnumValue
2011	raw := NoMethod(*s)
2012	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2013}
2014
2015// GoogleCloudDatacatalogV1beta1TagTemplate: A tag template defines a
2016// tag, which can have one or more typed fields. The template is used to
2017// create and attach the tag to GCP resources. Tag template roles
2018// (https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles)
2019// provide permissions to create, edit, and use the template. See, for
2020// example, the TagTemplate User
2021// (https://cloud.google.com/data-catalog/docs/how-to/template-user)
2022// role, which includes permission to use the tag template to tag
2023// resources.
2024type GoogleCloudDatacatalogV1beta1TagTemplate struct {
2025	// DisplayName: The display name for this template. Defaults to an empty
2026	// string.
2027	DisplayName string `json:"displayName,omitempty"`
2028
2029	// Fields: Required. Map of tag template field IDs to the settings for
2030	// the field. This map is an exhaustive list of the allowed fields. This
2031	// map must contain at least one field and at most 500 fields. The keys
2032	// to this map are tag template field IDs. Field IDs can contain letters
2033	// (both uppercase and lowercase), numbers (0-9) and underscores (_).
2034	// Field IDs must be at least 1 character long and at most 64 characters
2035	// long. Field IDs must start with a letter or underscore.
2036	Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateField `json:"fields,omitempty"`
2037
2038	// Name: The resource name of the tag template in URL format. Example: *
2039	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
2040	// id} Note that this TagTemplate and its child resources may not
2041	// actually be stored in the location in this name.
2042	Name string `json:"name,omitempty"`
2043
2044	// ServerResponse contains the HTTP response code and headers from the
2045	// server.
2046	googleapi.ServerResponse `json:"-"`
2047
2048	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2049	// unconditionally include in API requests. By default, fields with
2050	// empty values are omitted from API requests. However, any non-pointer,
2051	// non-interface field appearing in ForceSendFields will be sent to the
2052	// server regardless of whether the field is empty or not. This may be
2053	// used to include empty fields in Patch requests.
2054	ForceSendFields []string `json:"-"`
2055
2056	// NullFields is a list of field names (e.g. "DisplayName") to include
2057	// in API requests with the JSON null value. By default, fields with
2058	// empty values are omitted from API requests. However, any field with
2059	// an empty value appearing in NullFields will be sent to the server as
2060	// null. It is an error if a field in this list has a non-empty value.
2061	// This may be used to include null fields in Patch requests.
2062	NullFields []string `json:"-"`
2063}
2064
2065func (s *GoogleCloudDatacatalogV1beta1TagTemplate) MarshalJSON() ([]byte, error) {
2066	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplate
2067	raw := NoMethod(*s)
2068	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2069}
2070
2071// GoogleCloudDatacatalogV1beta1TagTemplateField: The template for an
2072// individual field within a tag template.
2073type GoogleCloudDatacatalogV1beta1TagTemplateField struct {
2074	// Description: The description for this field. Defaults to an empty
2075	// string.
2076	Description string `json:"description,omitempty"`
2077
2078	// DisplayName: The display name for this field. Defaults to an empty
2079	// string.
2080	DisplayName string `json:"displayName,omitempty"`
2081
2082	// IsRequired: Whether this is a required field. Defaults to false.
2083	IsRequired bool `json:"isRequired,omitempty"`
2084
2085	// Name: Output only. The resource name of the tag template field in URL
2086	// format. Example: *
2087	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template}
2088	// /fields/{field} Note that this TagTemplateField may not actually be
2089	// stored in the location in this name.
2090	Name string `json:"name,omitempty"`
2091
2092	// Order: The order of this field with respect to other fields in this
2093	// tag template. A higher value indicates a more important field. The
2094	// value can be negative. Multiple fields can have the same order, and
2095	// field orders within a tag do not have to be sequential.
2096	Order int64 `json:"order,omitempty"`
2097
2098	// Type: Required. The type of value this tag field can contain.
2099	Type *GoogleCloudDatacatalogV1beta1FieldType `json:"type,omitempty"`
2100
2101	// ServerResponse contains the HTTP response code and headers from the
2102	// server.
2103	googleapi.ServerResponse `json:"-"`
2104
2105	// ForceSendFields is a list of field names (e.g. "Description") to
2106	// unconditionally include in API requests. By default, fields with
2107	// empty values are omitted from API requests. However, any non-pointer,
2108	// non-interface field appearing in ForceSendFields will be sent to the
2109	// server regardless of whether the field is empty or not. This may be
2110	// used to include empty fields in Patch requests.
2111	ForceSendFields []string `json:"-"`
2112
2113	// NullFields is a list of field names (e.g. "Description") to include
2114	// in API requests with the JSON null value. By default, fields with
2115	// empty values are omitted from API requests. However, any field with
2116	// an empty value appearing in NullFields will be sent to the server as
2117	// null. It is an error if a field in this list has a non-empty value.
2118	// This may be used to include null fields in Patch requests.
2119	NullFields []string `json:"-"`
2120}
2121
2122func (s *GoogleCloudDatacatalogV1beta1TagTemplateField) MarshalJSON() ([]byte, error) {
2123	type NoMethod GoogleCloudDatacatalogV1beta1TagTemplateField
2124	raw := NoMethod(*s)
2125	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2126}
2127
2128// GoogleCloudDatacatalogV1beta1Taxonomy: A taxonomy is a collection of
2129// policy tags that classify data along a common axis. For instance a
2130// data *sensitivity* taxonomy could contain policy tags denoting PII
2131// such as age, zipcode, and SSN. A data *origin* taxonomy could contain
2132// policy tags to distinguish user data, employee data, partner data,
2133// public data.
2134type GoogleCloudDatacatalogV1beta1Taxonomy struct {
2135	// ActivatedPolicyTypes: Optional. A list of policy types that are
2136	// activated for this taxonomy. If not set, defaults to an empty list.
2137	//
2138	// Possible values:
2139	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
2140	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
2141	// which enables access control on tagged resources.
2142	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
2143
2144	// Description: Optional. Description of this taxonomy. It must: contain
2145	// only unicode characters, tabs, newlines, carriage returns and page
2146	// breaks; and be at most 2000 bytes long when encoded in UTF-8. If not
2147	// set, defaults to an empty description.
2148	Description string `json:"description,omitempty"`
2149
2150	// DisplayName: Required. User defined name of this taxonomy. It must:
2151	// contain only unicode letters, numbers, underscores, dashes and
2152	// spaces; not start or end with spaces; and be at most 200 bytes long
2153	// when encoded in UTF-8.
2154	DisplayName string `json:"displayName,omitempty"`
2155
2156	// Name: Output only. Resource name of this taxonomy, whose format is:
2157	// "projects/{project_number}/locations/{location_id}/taxonomies/{id}".
2158	Name string `json:"name,omitempty"`
2159
2160	// PolicyTagCount: Output only. Number of policy tags contained in this
2161	// taxonomy.
2162	PolicyTagCount int64 `json:"policyTagCount,omitempty"`
2163
2164	// TaxonomyTimestamps: Output only. Timestamps about this taxonomy. Only
2165	// create_time and update_time are used.
2166	TaxonomyTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"taxonomyTimestamps,omitempty"`
2167
2168	// ServerResponse contains the HTTP response code and headers from the
2169	// server.
2170	googleapi.ServerResponse `json:"-"`
2171
2172	// ForceSendFields is a list of field names (e.g.
2173	// "ActivatedPolicyTypes") to unconditionally include in API requests.
2174	// By default, fields with empty values are omitted from API requests.
2175	// However, any non-pointer, non-interface field appearing in
2176	// ForceSendFields will be sent to the server regardless of whether the
2177	// field is empty or not. This may be used to include empty fields in
2178	// Patch requests.
2179	ForceSendFields []string `json:"-"`
2180
2181	// NullFields is a list of field names (e.g. "ActivatedPolicyTypes") to
2182	// include in API requests with the JSON null value. By default, fields
2183	// with empty values are omitted from API requests. However, any field
2184	// with an empty value appearing in NullFields will be sent to the
2185	// server as null. It is an error if a field in this list has a
2186	// non-empty value. This may be used to include null fields in Patch
2187	// requests.
2188	NullFields []string `json:"-"`
2189}
2190
2191func (s *GoogleCloudDatacatalogV1beta1Taxonomy) MarshalJSON() ([]byte, error) {
2192	type NoMethod GoogleCloudDatacatalogV1beta1Taxonomy
2193	raw := NoMethod(*s)
2194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2195}
2196
2197// GoogleCloudDatacatalogV1beta1ViewSpec: Table view specification.
2198type GoogleCloudDatacatalogV1beta1ViewSpec struct {
2199	// ViewQuery: Output only. The query that defines the table view.
2200	ViewQuery string `json:"viewQuery,omitempty"`
2201
2202	// ForceSendFields is a list of field names (e.g. "ViewQuery") to
2203	// unconditionally include in API requests. By default, fields with
2204	// empty values are omitted from API requests. However, any non-pointer,
2205	// non-interface field appearing in ForceSendFields will be sent to the
2206	// server regardless of whether the field is empty or not. This may be
2207	// used to include empty fields in Patch requests.
2208	ForceSendFields []string `json:"-"`
2209
2210	// NullFields is a list of field names (e.g. "ViewQuery") to include in
2211	// API requests with the JSON null value. By default, fields with empty
2212	// values are omitted from API requests. However, any field with an
2213	// empty value appearing in NullFields will be sent to the server as
2214	// null. It is an error if a field in this list has a non-empty value.
2215	// This may be used to include null fields in Patch requests.
2216	NullFields []string `json:"-"`
2217}
2218
2219func (s *GoogleCloudDatacatalogV1beta1ViewSpec) MarshalJSON() ([]byte, error) {
2220	type NoMethod GoogleCloudDatacatalogV1beta1ViewSpec
2221	raw := NoMethod(*s)
2222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2223}
2224
2225// Policy: An Identity and Access Management (IAM) policy, which
2226// specifies access controls for Google Cloud resources. A `Policy` is a
2227// collection of `bindings`. A `binding` binds one or more `members` to
2228// a single `role`. Members can be user accounts, service accounts,
2229// Google groups, and domains (such as G Suite). A `role` is a named
2230// list of permissions; each `role` can be an IAM predefined role or a
2231// user-created custom role. For some types of Google Cloud resources, a
2232// `binding` can also specify a `condition`, which is a logical
2233// expression that allows access to a resource only if the expression
2234// evaluates to `true`. A condition can add constraints based on
2235// attributes of the request, the resource, or both. To learn which
2236// resources support conditions in their IAM policies, see the IAM
2237// documentation
2238// (https://cloud.google.com/iam/help/conditions/resource-policies).
2239// **JSON example:** { "bindings": [ { "role":
2240// "roles/resourcemanager.organizationAdmin", "members": [
2241// "user:mike@example.com", "group:admins@example.com",
2242// "domain:google.com",
2243// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
2244// "role": "roles/resourcemanager.organizationViewer", "members": [
2245// "user:eve@example.com" ], "condition": { "title": "expirable access",
2246// "description": "Does not grant access after Sep 2020", "expression":
2247// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
2248// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
2249// members: - user:mike@example.com - group:admins@example.com -
2250// domain:google.com -
2251// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
2252// roles/resourcemanager.organizationAdmin - members: -
2253// user:eve@example.com role: roles/resourcemanager.organizationViewer
2254// condition: title: expirable access description: Does not grant access
2255// after Sep 2020 expression: request.time <
2256// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
2257// 3 For a description of IAM and its features, see the IAM
2258// documentation (https://cloud.google.com/iam/docs/).
2259type Policy struct {
2260	// Bindings: Associates a list of `members` to a `role`. Optionally, may
2261	// specify a `condition` that determines how and when the `bindings` are
2262	// applied. Each of the `bindings` must contain at least one member.
2263	Bindings []*Binding `json:"bindings,omitempty"`
2264
2265	// Etag: `etag` is used for optimistic concurrency control as a way to
2266	// help prevent simultaneous updates of a policy from overwriting each
2267	// other. It is strongly suggested that systems make use of the `etag`
2268	// in the read-modify-write cycle to perform policy updates in order to
2269	// avoid race conditions: An `etag` is returned in the response to
2270	// `getIamPolicy`, and systems are expected to put that etag in the
2271	// request to `setIamPolicy` to ensure that their change will be applied
2272	// to the same version of the policy. **Important:** If you use IAM
2273	// Conditions, you must include the `etag` field whenever you call
2274	// `setIamPolicy`. If you omit this field, then IAM allows you to
2275	// overwrite a version `3` policy with a version `1` policy, and all of
2276	// the conditions in the version `3` policy are lost.
2277	Etag string `json:"etag,omitempty"`
2278
2279	// Version: Specifies the format of the policy. Valid values are `0`,
2280	// `1`, and `3`. Requests that specify an invalid value are rejected.
2281	// Any operation that affects conditional role bindings must specify
2282	// version `3`. This requirement applies to the following operations: *
2283	// Getting a policy that includes a conditional role binding * Adding a
2284	// conditional role binding to a policy * Changing a conditional role
2285	// binding in a policy * Removing any role binding, with or without a
2286	// condition, from a policy that includes conditions **Important:** If
2287	// you use IAM Conditions, you must include the `etag` field whenever
2288	// you call `setIamPolicy`. If you omit this field, then IAM allows you
2289	// to overwrite a version `3` policy with a version `1` policy, and all
2290	// of the conditions in the version `3` policy are lost. If a policy
2291	// does not include any conditions, operations on that policy may
2292	// specify any valid version or leave the field unset. To learn which
2293	// resources support conditions in their IAM policies, see the IAM
2294	// documentation
2295	// (https://cloud.google.com/iam/help/conditions/resource-policies).
2296	Version int64 `json:"version,omitempty"`
2297
2298	// ServerResponse contains the HTTP response code and headers from the
2299	// server.
2300	googleapi.ServerResponse `json:"-"`
2301
2302	// ForceSendFields is a list of field names (e.g. "Bindings") to
2303	// unconditionally include in API requests. By default, fields with
2304	// empty values are omitted from API requests. However, any non-pointer,
2305	// non-interface field appearing in ForceSendFields will be sent to the
2306	// server regardless of whether the field is empty or not. This may be
2307	// used to include empty fields in Patch requests.
2308	ForceSendFields []string `json:"-"`
2309
2310	// NullFields is a list of field names (e.g. "Bindings") to include in
2311	// API requests with the JSON null value. By default, fields with empty
2312	// values are omitted from API requests. However, any field with an
2313	// empty value appearing in NullFields will be sent to the server as
2314	// null. It is an error if a field in this list has a non-empty value.
2315	// This may be used to include null fields in Patch requests.
2316	NullFields []string `json:"-"`
2317}
2318
2319func (s *Policy) MarshalJSON() ([]byte, error) {
2320	type NoMethod Policy
2321	raw := NoMethod(*s)
2322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2323}
2324
2325// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
2326type SetIamPolicyRequest struct {
2327	// Policy: REQUIRED: The complete policy to be applied to the
2328	// `resource`. The size of the policy is limited to a few 10s of KB. An
2329	// empty policy is a valid policy but certain Cloud Platform services
2330	// (such as Projects) might reject them.
2331	Policy *Policy `json:"policy,omitempty"`
2332
2333	// ForceSendFields is a list of field names (e.g. "Policy") to
2334	// unconditionally include in API requests. By default, fields with
2335	// empty values are omitted from API requests. However, any non-pointer,
2336	// non-interface field appearing in ForceSendFields will be sent to the
2337	// server regardless of whether the field is empty or not. This may be
2338	// used to include empty fields in Patch requests.
2339	ForceSendFields []string `json:"-"`
2340
2341	// NullFields is a list of field names (e.g. "Policy") to include in API
2342	// requests with the JSON null value. By default, fields with empty
2343	// values are omitted from API requests. However, any field with an
2344	// empty value appearing in NullFields will be sent to the server as
2345	// null. It is an error if a field in this list has a non-empty value.
2346	// This may be used to include null fields in Patch requests.
2347	NullFields []string `json:"-"`
2348}
2349
2350func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
2351	type NoMethod SetIamPolicyRequest
2352	raw := NoMethod(*s)
2353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2354}
2355
2356// TestIamPermissionsRequest: Request message for `TestIamPermissions`
2357// method.
2358type TestIamPermissionsRequest struct {
2359	// Permissions: The set of permissions to check for the `resource`.
2360	// Permissions with wildcards (such as '*' or 'storage.*') are not
2361	// allowed. For more information see IAM Overview
2362	// (https://cloud.google.com/iam/docs/overview#permissions).
2363	Permissions []string `json:"permissions,omitempty"`
2364
2365	// ForceSendFields is a list of field names (e.g. "Permissions") to
2366	// unconditionally include in API requests. By default, fields with
2367	// empty values are omitted from API requests. However, any non-pointer,
2368	// non-interface field appearing in ForceSendFields will be sent to the
2369	// server regardless of whether the field is empty or not. This may be
2370	// used to include empty fields in Patch requests.
2371	ForceSendFields []string `json:"-"`
2372
2373	// NullFields is a list of field names (e.g. "Permissions") to include
2374	// in API requests with the JSON null value. By default, fields with
2375	// empty values are omitted from API requests. However, any field with
2376	// an empty value appearing in NullFields will be sent to the server as
2377	// null. It is an error if a field in this list has a non-empty value.
2378	// This may be used to include null fields in Patch requests.
2379	NullFields []string `json:"-"`
2380}
2381
2382func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
2383	type NoMethod TestIamPermissionsRequest
2384	raw := NoMethod(*s)
2385	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2386}
2387
2388// TestIamPermissionsResponse: Response message for `TestIamPermissions`
2389// method.
2390type TestIamPermissionsResponse struct {
2391	// Permissions: A subset of `TestPermissionsRequest.permissions` that
2392	// the caller is allowed.
2393	Permissions []string `json:"permissions,omitempty"`
2394
2395	// ServerResponse contains the HTTP response code and headers from the
2396	// server.
2397	googleapi.ServerResponse `json:"-"`
2398
2399	// ForceSendFields is a list of field names (e.g. "Permissions") to
2400	// unconditionally include in API requests. By default, fields with
2401	// empty values are omitted from API requests. However, any non-pointer,
2402	// non-interface field appearing in ForceSendFields will be sent to the
2403	// server regardless of whether the field is empty or not. This may be
2404	// used to include empty fields in Patch requests.
2405	ForceSendFields []string `json:"-"`
2406
2407	// NullFields is a list of field names (e.g. "Permissions") to include
2408	// in API requests with the JSON null value. By default, fields with
2409	// empty values are omitted from API requests. However, any field with
2410	// an empty value appearing in NullFields will be sent to the server as
2411	// null. It is an error if a field in this list has a non-empty value.
2412	// This may be used to include null fields in Patch requests.
2413	NullFields []string `json:"-"`
2414}
2415
2416func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
2417	type NoMethod TestIamPermissionsResponse
2418	raw := NoMethod(*s)
2419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2420}
2421
2422// method id "datacatalog.catalog.search":
2423
2424type CatalogSearchCall struct {
2425	s                                                 *Service
2426	googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest
2427	urlParams_                                        gensupport.URLParams
2428	ctx_                                              context.Context
2429	header_                                           http.Header
2430}
2431
2432// Search: Searches Data Catalog for multiple resources like entries,
2433// tags that match a query. This is a custom method
2434// (https://cloud.google.com/apis/design/custom_methods) and does not
2435// return the complete resource, only the resource identifier and high
2436// level fields. Clients can subsequently call `Get` methods. Note that
2437// Data Catalog search queries do not guarantee full recall. Query
2438// results that match your query may not be returned, even in subsequent
2439// result pages. Also note that results returned (and not returned) can
2440// vary across repeated search queries. See Data Catalog Search Syntax
2441// (https://cloud.google.com/data-catalog/docs/how-to/search-reference)
2442// for more information.
2443func (r *CatalogService) Search(googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) *CatalogSearchCall {
2444	c := &CatalogSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2445	c.googleclouddatacatalogv1beta1searchcatalogrequest = googleclouddatacatalogv1beta1searchcatalogrequest
2446	return c
2447}
2448
2449// Fields allows partial responses to be retrieved. See
2450// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2451// for more information.
2452func (c *CatalogSearchCall) Fields(s ...googleapi.Field) *CatalogSearchCall {
2453	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2454	return c
2455}
2456
2457// Context sets the context to be used in this call's Do method. Any
2458// pending HTTP request will be aborted if the provided context is
2459// canceled.
2460func (c *CatalogSearchCall) Context(ctx context.Context) *CatalogSearchCall {
2461	c.ctx_ = ctx
2462	return c
2463}
2464
2465// Header returns an http.Header that can be modified by the caller to
2466// add HTTP headers to the request.
2467func (c *CatalogSearchCall) Header() http.Header {
2468	if c.header_ == nil {
2469		c.header_ = make(http.Header)
2470	}
2471	return c.header_
2472}
2473
2474func (c *CatalogSearchCall) doRequest(alt string) (*http.Response, error) {
2475	reqHeaders := make(http.Header)
2476	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
2477	for k, v := range c.header_ {
2478		reqHeaders[k] = v
2479	}
2480	reqHeaders.Set("User-Agent", c.s.userAgent())
2481	var body io.Reader = nil
2482	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1searchcatalogrequest)
2483	if err != nil {
2484		return nil, err
2485	}
2486	reqHeaders.Set("Content-Type", "application/json")
2487	c.urlParams_.Set("alt", alt)
2488	c.urlParams_.Set("prettyPrint", "false")
2489	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/catalog:search")
2490	urls += "?" + c.urlParams_.Encode()
2491	req, err := http.NewRequest("POST", urls, body)
2492	if err != nil {
2493		return nil, err
2494	}
2495	req.Header = reqHeaders
2496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2497}
2498
2499// Do executes the "datacatalog.catalog.search" call.
2500// Exactly one of *GoogleCloudDatacatalogV1beta1SearchCatalogResponse or
2501// error will be non-nil. Any non-2xx status code is an error. Response
2502// headers are in either
2503// *GoogleCloudDatacatalogV1beta1SearchCatalogResponse.ServerResponse.Hea
2504// der or (if a response was returned at all) in
2505// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2506// whether the returned error was because http.StatusNotModified was
2507// returned.
2508func (c *CatalogSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1SearchCatalogResponse, error) {
2509	gensupport.SetOptions(c.urlParams_, opts...)
2510	res, err := c.doRequest("json")
2511	if res != nil && res.StatusCode == http.StatusNotModified {
2512		if res.Body != nil {
2513			res.Body.Close()
2514		}
2515		return nil, &googleapi.Error{
2516			Code:   res.StatusCode,
2517			Header: res.Header,
2518		}
2519	}
2520	if err != nil {
2521		return nil, err
2522	}
2523	defer googleapi.CloseBody(res)
2524	if err := googleapi.CheckResponse(res); err != nil {
2525		return nil, err
2526	}
2527	ret := &GoogleCloudDatacatalogV1beta1SearchCatalogResponse{
2528		ServerResponse: googleapi.ServerResponse{
2529			Header:         res.Header,
2530			HTTPStatusCode: res.StatusCode,
2531		},
2532	}
2533	target := &ret
2534	if err := gensupport.DecodeResponse(target, res); err != nil {
2535		return nil, err
2536	}
2537	return ret, nil
2538	// {
2539	//   "description": "Searches Data Catalog for multiple resources like entries, tags that match a query. This is a custom method (https://cloud.google.com/apis/design/custom_methods) and does not return the complete resource, only the resource identifier and high level fields. Clients can subsequently call `Get` methods. Note that Data Catalog search queries do not guarantee full recall. Query results that match your query may not be returned, even in subsequent result pages. Also note that results returned (and not returned) can vary across repeated search queries. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
2540	//   "flatPath": "v1beta1/catalog:search",
2541	//   "httpMethod": "POST",
2542	//   "id": "datacatalog.catalog.search",
2543	//   "parameterOrder": [],
2544	//   "parameters": {},
2545	//   "path": "v1beta1/catalog:search",
2546	//   "request": {
2547	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest"
2548	//   },
2549	//   "response": {
2550	//     "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse"
2551	//   },
2552	//   "scopes": [
2553	//     "https://www.googleapis.com/auth/cloud-platform"
2554	//   ]
2555	// }
2556
2557}
2558
2559// Pages invokes f for each page of results.
2560// A non-nil error returned from f will halt the iteration.
2561// The provided context supersedes any context provided to the Context method.
2562func (c *CatalogSearchCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1SearchCatalogResponse) error) error {
2563	c.ctx_ = ctx
2564	defer func(pt string) { c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = pt }(c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken) // reset paging to original point
2565	for {
2566		x, err := c.Do()
2567		if err != nil {
2568			return err
2569		}
2570		if err := f(x); err != nil {
2571			return err
2572		}
2573		if x.NextPageToken == "" {
2574			return nil
2575		}
2576		c.googleclouddatacatalogv1beta1searchcatalogrequest.PageToken = x.NextPageToken
2577	}
2578}
2579
2580// method id "datacatalog.entries.lookup":
2581
2582type EntriesLookupCall struct {
2583	s            *Service
2584	urlParams_   gensupport.URLParams
2585	ifNoneMatch_ string
2586	ctx_         context.Context
2587	header_      http.Header
2588}
2589
2590// Lookup: Get an entry by target resource name. This method allows
2591// clients to use the resource name from the source Google Cloud
2592// Platform service to get the Data Catalog Entry.
2593func (r *EntriesService) Lookup() *EntriesLookupCall {
2594	c := &EntriesLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2595	return c
2596}
2597
2598// LinkedResource sets the optional parameter "linkedResource": The full
2599// name of the Google Cloud Platform resource the Data Catalog entry
2600// represents. See:
2601// https://cloud.google.com/apis/design/resource_names#full_resource_name.
2602// Full names are case-sensitive. Examples: *
2603// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
2604// /tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId
2605func (c *EntriesLookupCall) LinkedResource(linkedResource string) *EntriesLookupCall {
2606	c.urlParams_.Set("linkedResource", linkedResource)
2607	return c
2608}
2609
2610// SqlResource sets the optional parameter "sqlResource": The SQL name
2611// of the entry. SQL names are case-sensitive. Examples: *
2612// `pubsub.project_id.topic_id` *
2613// ``pubsub.project_id.`topic.id.with.dots` `` *
2614// `bigquery.table.project_id.dataset_id.table_id` *
2615// `bigquery.dataset.project_id.dataset_id` *
2616// `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`
2617// `*_id`s shoud satisfy the standard SQL rules for identifiers.
2618// https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.
2619func (c *EntriesLookupCall) SqlResource(sqlResource string) *EntriesLookupCall {
2620	c.urlParams_.Set("sqlResource", sqlResource)
2621	return c
2622}
2623
2624// Fields allows partial responses to be retrieved. See
2625// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2626// for more information.
2627func (c *EntriesLookupCall) Fields(s ...googleapi.Field) *EntriesLookupCall {
2628	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2629	return c
2630}
2631
2632// IfNoneMatch sets the optional parameter which makes the operation
2633// fail if the object's ETag matches the given value. This is useful for
2634// getting updates only after the object has changed since the last
2635// request. Use googleapi.IsNotModified to check whether the response
2636// error from Do is the result of In-None-Match.
2637func (c *EntriesLookupCall) IfNoneMatch(entityTag string) *EntriesLookupCall {
2638	c.ifNoneMatch_ = entityTag
2639	return c
2640}
2641
2642// Context sets the context to be used in this call's Do method. Any
2643// pending HTTP request will be aborted if the provided context is
2644// canceled.
2645func (c *EntriesLookupCall) Context(ctx context.Context) *EntriesLookupCall {
2646	c.ctx_ = ctx
2647	return c
2648}
2649
2650// Header returns an http.Header that can be modified by the caller to
2651// add HTTP headers to the request.
2652func (c *EntriesLookupCall) Header() http.Header {
2653	if c.header_ == nil {
2654		c.header_ = make(http.Header)
2655	}
2656	return c.header_
2657}
2658
2659func (c *EntriesLookupCall) doRequest(alt string) (*http.Response, error) {
2660	reqHeaders := make(http.Header)
2661	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
2662	for k, v := range c.header_ {
2663		reqHeaders[k] = v
2664	}
2665	reqHeaders.Set("User-Agent", c.s.userAgent())
2666	if c.ifNoneMatch_ != "" {
2667		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
2668	}
2669	var body io.Reader = nil
2670	c.urlParams_.Set("alt", alt)
2671	c.urlParams_.Set("prettyPrint", "false")
2672	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/entries:lookup")
2673	urls += "?" + c.urlParams_.Encode()
2674	req, err := http.NewRequest("GET", urls, body)
2675	if err != nil {
2676		return nil, err
2677	}
2678	req.Header = reqHeaders
2679	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2680}
2681
2682// Do executes the "datacatalog.entries.lookup" call.
2683// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
2684// non-nil. Any non-2xx status code is an error. Response headers are in
2685// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
2686// (if a response was returned at all) in
2687// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
2688// whether the returned error was because http.StatusNotModified was
2689// returned.
2690func (c *EntriesLookupCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
2691	gensupport.SetOptions(c.urlParams_, opts...)
2692	res, err := c.doRequest("json")
2693	if res != nil && res.StatusCode == http.StatusNotModified {
2694		if res.Body != nil {
2695			res.Body.Close()
2696		}
2697		return nil, &googleapi.Error{
2698			Code:   res.StatusCode,
2699			Header: res.Header,
2700		}
2701	}
2702	if err != nil {
2703		return nil, err
2704	}
2705	defer googleapi.CloseBody(res)
2706	if err := googleapi.CheckResponse(res); err != nil {
2707		return nil, err
2708	}
2709	ret := &GoogleCloudDatacatalogV1beta1Entry{
2710		ServerResponse: googleapi.ServerResponse{
2711			Header:         res.Header,
2712			HTTPStatusCode: res.StatusCode,
2713		},
2714	}
2715	target := &ret
2716	if err := gensupport.DecodeResponse(target, res); err != nil {
2717		return nil, err
2718	}
2719	return ret, nil
2720	// {
2721	//   "description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry.",
2722	//   "flatPath": "v1beta1/entries:lookup",
2723	//   "httpMethod": "GET",
2724	//   "id": "datacatalog.entries.lookup",
2725	//   "parameterOrder": [],
2726	//   "parameters": {
2727	//     "linkedResource": {
2728	//       "description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId",
2729	//       "location": "query",
2730	//       "type": "string"
2731	//     },
2732	//     "sqlResource": {
2733	//       "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
2734	//       "location": "query",
2735	//       "type": "string"
2736	//     }
2737	//   },
2738	//   "path": "v1beta1/entries:lookup",
2739	//   "response": {
2740	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
2741	//   },
2742	//   "scopes": [
2743	//     "https://www.googleapis.com/auth/cloud-platform"
2744	//   ]
2745	// }
2746
2747}
2748
2749// method id "datacatalog.projects.locations.entryGroups.create":
2750
2751type ProjectsLocationsEntryGroupsCreateCall struct {
2752	s                                       *Service
2753	parent                                  string
2754	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
2755	urlParams_                              gensupport.URLParams
2756	ctx_                                    context.Context
2757	header_                                 http.Header
2758}
2759
2760// Create: A maximum of 10,000 entry groups may be created per
2761// organization across all locations. Users should enable the Data
2762// Catalog API in the project identified by the `parent` parameter (see
2763// [Data Catalog Resource Project]
2764// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
2765// for more information).
2766//
2767// - parent: The name of the project this entry group is in. Example: *
2768//   projects/{project_id}/locations/{location} Note that this
2769//   EntryGroup and its child resources may not actually be stored in
2770//   the location in this name.
2771func (r *ProjectsLocationsEntryGroupsService) Create(parent string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsCreateCall {
2772	c := &ProjectsLocationsEntryGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2773	c.parent = parent
2774	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
2775	return c
2776}
2777
2778// EntryGroupId sets the optional parameter "entryGroupId": Required.
2779// The id of the entry group to create. The id must begin with a letter
2780// or underscore, contain only English letters, numbers and underscores,
2781// and be at most 64 characters.
2782func (c *ProjectsLocationsEntryGroupsCreateCall) EntryGroupId(entryGroupId string) *ProjectsLocationsEntryGroupsCreateCall {
2783	c.urlParams_.Set("entryGroupId", entryGroupId)
2784	return c
2785}
2786
2787// Fields allows partial responses to be retrieved. See
2788// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2789// for more information.
2790func (c *ProjectsLocationsEntryGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsCreateCall {
2791	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2792	return c
2793}
2794
2795// Context sets the context to be used in this call's Do method. Any
2796// pending HTTP request will be aborted if the provided context is
2797// canceled.
2798func (c *ProjectsLocationsEntryGroupsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsCreateCall {
2799	c.ctx_ = ctx
2800	return c
2801}
2802
2803// Header returns an http.Header that can be modified by the caller to
2804// add HTTP headers to the request.
2805func (c *ProjectsLocationsEntryGroupsCreateCall) Header() http.Header {
2806	if c.header_ == nil {
2807		c.header_ = make(http.Header)
2808	}
2809	return c.header_
2810}
2811
2812func (c *ProjectsLocationsEntryGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
2813	reqHeaders := make(http.Header)
2814	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
2815	for k, v := range c.header_ {
2816		reqHeaders[k] = v
2817	}
2818	reqHeaders.Set("User-Agent", c.s.userAgent())
2819	var body io.Reader = nil
2820	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
2821	if err != nil {
2822		return nil, err
2823	}
2824	reqHeaders.Set("Content-Type", "application/json")
2825	c.urlParams_.Set("alt", alt)
2826	c.urlParams_.Set("prettyPrint", "false")
2827	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
2828	urls += "?" + c.urlParams_.Encode()
2829	req, err := http.NewRequest("POST", urls, body)
2830	if err != nil {
2831		return nil, err
2832	}
2833	req.Header = reqHeaders
2834	googleapi.Expand(req.URL, map[string]string{
2835		"parent": c.parent,
2836	})
2837	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2838}
2839
2840// Do executes the "datacatalog.projects.locations.entryGroups.create" call.
2841// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
2842// be non-nil. Any non-2xx status code is an error. Response headers are
2843// in either
2844// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
2845// a response was returned at all) in error.(*googleapi.Error).Header.
2846// Use googleapi.IsNotModified to check whether the returned error was
2847// because http.StatusNotModified was returned.
2848func (c *ProjectsLocationsEntryGroupsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
2849	gensupport.SetOptions(c.urlParams_, opts...)
2850	res, err := c.doRequest("json")
2851	if res != nil && res.StatusCode == http.StatusNotModified {
2852		if res.Body != nil {
2853			res.Body.Close()
2854		}
2855		return nil, &googleapi.Error{
2856			Code:   res.StatusCode,
2857			Header: res.Header,
2858		}
2859	}
2860	if err != nil {
2861		return nil, err
2862	}
2863	defer googleapi.CloseBody(res)
2864	if err := googleapi.CheckResponse(res); err != nil {
2865		return nil, err
2866	}
2867	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
2868		ServerResponse: googleapi.ServerResponse{
2869			Header:         res.Header,
2870			HTTPStatusCode: res.StatusCode,
2871		},
2872	}
2873	target := &ret
2874	if err := gensupport.DecodeResponse(target, res); err != nil {
2875		return nil, err
2876	}
2877	return ret, nil
2878	// {
2879	//   "description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
2880	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
2881	//   "httpMethod": "POST",
2882	//   "id": "datacatalog.projects.locations.entryGroups.create",
2883	//   "parameterOrder": [
2884	//     "parent"
2885	//   ],
2886	//   "parameters": {
2887	//     "entryGroupId": {
2888	//       "description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.",
2889	//       "location": "query",
2890	//       "type": "string"
2891	//     },
2892	//     "parent": {
2893	//       "description": "Required. The name of the project this entry group is in. Example: * projects/{project_id}/locations/{location} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
2894	//       "location": "path",
2895	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
2896	//       "required": true,
2897	//       "type": "string"
2898	//     }
2899	//   },
2900	//   "path": "v1beta1/{+parent}/entryGroups",
2901	//   "request": {
2902	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
2903	//   },
2904	//   "response": {
2905	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
2906	//   },
2907	//   "scopes": [
2908	//     "https://www.googleapis.com/auth/cloud-platform"
2909	//   ]
2910	// }
2911
2912}
2913
2914// method id "datacatalog.projects.locations.entryGroups.delete":
2915
2916type ProjectsLocationsEntryGroupsDeleteCall struct {
2917	s          *Service
2918	name       string
2919	urlParams_ gensupport.URLParams
2920	ctx_       context.Context
2921	header_    http.Header
2922}
2923
2924// Delete: Deletes an EntryGroup. Only entry groups that do not contain
2925// entries can be deleted. Users should enable the Data Catalog API in
2926// the project identified by the `name` parameter (see [Data Catalog
2927// Resource Project]
2928// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
2929// for more information).
2930//
2931// - name: The name of the entry group. For example,
2932//   `projects/{project_id}/locations/{location}/entryGroups/{entry_group
2933//   _id}`.
2934func (r *ProjectsLocationsEntryGroupsService) Delete(name string) *ProjectsLocationsEntryGroupsDeleteCall {
2935	c := &ProjectsLocationsEntryGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2936	c.name = name
2937	return c
2938}
2939
2940// Force sets the optional parameter "force": If true, deletes all
2941// entries in the entry group.
2942func (c *ProjectsLocationsEntryGroupsDeleteCall) Force(force bool) *ProjectsLocationsEntryGroupsDeleteCall {
2943	c.urlParams_.Set("force", fmt.Sprint(force))
2944	return c
2945}
2946
2947// Fields allows partial responses to be retrieved. See
2948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2949// for more information.
2950func (c *ProjectsLocationsEntryGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsDeleteCall {
2951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2952	return c
2953}
2954
2955// Context sets the context to be used in this call's Do method. Any
2956// pending HTTP request will be aborted if the provided context is
2957// canceled.
2958func (c *ProjectsLocationsEntryGroupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsDeleteCall {
2959	c.ctx_ = ctx
2960	return c
2961}
2962
2963// Header returns an http.Header that can be modified by the caller to
2964// add HTTP headers to the request.
2965func (c *ProjectsLocationsEntryGroupsDeleteCall) Header() http.Header {
2966	if c.header_ == nil {
2967		c.header_ = make(http.Header)
2968	}
2969	return c.header_
2970}
2971
2972func (c *ProjectsLocationsEntryGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
2973	reqHeaders := make(http.Header)
2974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
2975	for k, v := range c.header_ {
2976		reqHeaders[k] = v
2977	}
2978	reqHeaders.Set("User-Agent", c.s.userAgent())
2979	var body io.Reader = nil
2980	c.urlParams_.Set("alt", alt)
2981	c.urlParams_.Set("prettyPrint", "false")
2982	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
2983	urls += "?" + c.urlParams_.Encode()
2984	req, err := http.NewRequest("DELETE", urls, body)
2985	if err != nil {
2986		return nil, err
2987	}
2988	req.Header = reqHeaders
2989	googleapi.Expand(req.URL, map[string]string{
2990		"name": c.name,
2991	})
2992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2993}
2994
2995// Do executes the "datacatalog.projects.locations.entryGroups.delete" call.
2996// Exactly one of *Empty or error will be non-nil. Any non-2xx status
2997// code is an error. Response headers are in either
2998// *Empty.ServerResponse.Header or (if a response was returned at all)
2999// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3000// check whether the returned error was because http.StatusNotModified
3001// was returned.
3002func (c *ProjectsLocationsEntryGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
3003	gensupport.SetOptions(c.urlParams_, opts...)
3004	res, err := c.doRequest("json")
3005	if res != nil && res.StatusCode == http.StatusNotModified {
3006		if res.Body != nil {
3007			res.Body.Close()
3008		}
3009		return nil, &googleapi.Error{
3010			Code:   res.StatusCode,
3011			Header: res.Header,
3012		}
3013	}
3014	if err != nil {
3015		return nil, err
3016	}
3017	defer googleapi.CloseBody(res)
3018	if err := googleapi.CheckResponse(res); err != nil {
3019		return nil, err
3020	}
3021	ret := &Empty{
3022		ServerResponse: googleapi.ServerResponse{
3023			Header:         res.Header,
3024			HTTPStatusCode: res.StatusCode,
3025		},
3026	}
3027	target := &ret
3028	if err := gensupport.DecodeResponse(target, res); err != nil {
3029		return nil, err
3030	}
3031	return ret, nil
3032	// {
3033	//   "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
3034	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3035	//   "httpMethod": "DELETE",
3036	//   "id": "datacatalog.projects.locations.entryGroups.delete",
3037	//   "parameterOrder": [
3038	//     "name"
3039	//   ],
3040	//   "parameters": {
3041	//     "force": {
3042	//       "description": "Optional. If true, deletes all entries in the entry group.",
3043	//       "location": "query",
3044	//       "type": "boolean"
3045	//     },
3046	//     "name": {
3047	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3048	//       "location": "path",
3049	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3050	//       "required": true,
3051	//       "type": "string"
3052	//     }
3053	//   },
3054	//   "path": "v1beta1/{+name}",
3055	//   "response": {
3056	//     "$ref": "Empty"
3057	//   },
3058	//   "scopes": [
3059	//     "https://www.googleapis.com/auth/cloud-platform"
3060	//   ]
3061	// }
3062
3063}
3064
3065// method id "datacatalog.projects.locations.entryGroups.get":
3066
3067type ProjectsLocationsEntryGroupsGetCall struct {
3068	s            *Service
3069	name         string
3070	urlParams_   gensupport.URLParams
3071	ifNoneMatch_ string
3072	ctx_         context.Context
3073	header_      http.Header
3074}
3075
3076// Get: Gets an EntryGroup.
3077//
3078// - name: The name of the entry group. For example,
3079//   `projects/{project_id}/locations/{location}/entryGroups/{entry_group
3080//   _id}`.
3081func (r *ProjectsLocationsEntryGroupsService) Get(name string) *ProjectsLocationsEntryGroupsGetCall {
3082	c := &ProjectsLocationsEntryGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3083	c.name = name
3084	return c
3085}
3086
3087// ReadMask sets the optional parameter "readMask": The fields to
3088// return. If not set or empty, all fields are returned.
3089func (c *ProjectsLocationsEntryGroupsGetCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsGetCall {
3090	c.urlParams_.Set("readMask", readMask)
3091	return c
3092}
3093
3094// Fields allows partial responses to be retrieved. See
3095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3096// for more information.
3097func (c *ProjectsLocationsEntryGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetCall {
3098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3099	return c
3100}
3101
3102// IfNoneMatch sets the optional parameter which makes the operation
3103// fail if the object's ETag matches the given value. This is useful for
3104// getting updates only after the object has changed since the last
3105// request. Use googleapi.IsNotModified to check whether the response
3106// error from Do is the result of In-None-Match.
3107func (c *ProjectsLocationsEntryGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsGetCall {
3108	c.ifNoneMatch_ = entityTag
3109	return c
3110}
3111
3112// Context sets the context to be used in this call's Do method. Any
3113// pending HTTP request will be aborted if the provided context is
3114// canceled.
3115func (c *ProjectsLocationsEntryGroupsGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetCall {
3116	c.ctx_ = ctx
3117	return c
3118}
3119
3120// Header returns an http.Header that can be modified by the caller to
3121// add HTTP headers to the request.
3122func (c *ProjectsLocationsEntryGroupsGetCall) Header() http.Header {
3123	if c.header_ == nil {
3124		c.header_ = make(http.Header)
3125	}
3126	return c.header_
3127}
3128
3129func (c *ProjectsLocationsEntryGroupsGetCall) doRequest(alt string) (*http.Response, error) {
3130	reqHeaders := make(http.Header)
3131	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3132	for k, v := range c.header_ {
3133		reqHeaders[k] = v
3134	}
3135	reqHeaders.Set("User-Agent", c.s.userAgent())
3136	if c.ifNoneMatch_ != "" {
3137		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3138	}
3139	var body io.Reader = nil
3140	c.urlParams_.Set("alt", alt)
3141	c.urlParams_.Set("prettyPrint", "false")
3142	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3143	urls += "?" + c.urlParams_.Encode()
3144	req, err := http.NewRequest("GET", urls, body)
3145	if err != nil {
3146		return nil, err
3147	}
3148	req.Header = reqHeaders
3149	googleapi.Expand(req.URL, map[string]string{
3150		"name": c.name,
3151	})
3152	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3153}
3154
3155// Do executes the "datacatalog.projects.locations.entryGroups.get" call.
3156// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3157// be non-nil. Any non-2xx status code is an error. Response headers are
3158// in either
3159// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3160// a response was returned at all) in error.(*googleapi.Error).Header.
3161// Use googleapi.IsNotModified to check whether the returned error was
3162// because http.StatusNotModified was returned.
3163func (c *ProjectsLocationsEntryGroupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3164	gensupport.SetOptions(c.urlParams_, opts...)
3165	res, err := c.doRequest("json")
3166	if res != nil && res.StatusCode == http.StatusNotModified {
3167		if res.Body != nil {
3168			res.Body.Close()
3169		}
3170		return nil, &googleapi.Error{
3171			Code:   res.StatusCode,
3172			Header: res.Header,
3173		}
3174	}
3175	if err != nil {
3176		return nil, err
3177	}
3178	defer googleapi.CloseBody(res)
3179	if err := googleapi.CheckResponse(res); err != nil {
3180		return nil, err
3181	}
3182	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3183		ServerResponse: googleapi.ServerResponse{
3184			Header:         res.Header,
3185			HTTPStatusCode: res.StatusCode,
3186		},
3187	}
3188	target := &ret
3189	if err := gensupport.DecodeResponse(target, res); err != nil {
3190		return nil, err
3191	}
3192	return ret, nil
3193	// {
3194	//   "description": "Gets an EntryGroup.",
3195	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3196	//   "httpMethod": "GET",
3197	//   "id": "datacatalog.projects.locations.entryGroups.get",
3198	//   "parameterOrder": [
3199	//     "name"
3200	//   ],
3201	//   "parameters": {
3202	//     "name": {
3203	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
3204	//       "location": "path",
3205	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3206	//       "required": true,
3207	//       "type": "string"
3208	//     },
3209	//     "readMask": {
3210	//       "description": "The fields to return. If not set or empty, all fields are returned.",
3211	//       "format": "google-fieldmask",
3212	//       "location": "query",
3213	//       "type": "string"
3214	//     }
3215	//   },
3216	//   "path": "v1beta1/{+name}",
3217	//   "response": {
3218	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3219	//   },
3220	//   "scopes": [
3221	//     "https://www.googleapis.com/auth/cloud-platform"
3222	//   ]
3223	// }
3224
3225}
3226
3227// method id "datacatalog.projects.locations.entryGroups.getIamPolicy":
3228
3229type ProjectsLocationsEntryGroupsGetIamPolicyCall struct {
3230	s                   *Service
3231	resource            string
3232	getiampolicyrequest *GetIamPolicyRequest
3233	urlParams_          gensupport.URLParams
3234	ctx_                context.Context
3235	header_             http.Header
3236}
3237
3238// GetIamPolicy: Gets the access control policy for a resource. A
3239// `NOT_FOUND` error is returned if the resource does not exist. An
3240// empty policy is returned if the resource exists but does not have a
3241// policy set on it. Supported resources are: - Tag templates. -
3242// Entries. - Entry groups. Note, this method cannot be used to manage
3243// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
3244// resources synced to Data Catalog. Callers must have following Google
3245// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
3246// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
3247// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
3248// get policies on entry groups.
3249//
3250// - resource: REQUIRED: The resource for which the policy is being
3251//   requested. See the operation documentation for the appropriate
3252//   value for this field.
3253func (r *ProjectsLocationsEntryGroupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3254	c := &ProjectsLocationsEntryGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3255	c.resource = resource
3256	c.getiampolicyrequest = getiampolicyrequest
3257	return c
3258}
3259
3260// Fields allows partial responses to be retrieved. See
3261// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3262// for more information.
3263func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3264	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3265	return c
3266}
3267
3268// Context sets the context to be used in this call's Do method. Any
3269// pending HTTP request will be aborted if the provided context is
3270// canceled.
3271func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
3272	c.ctx_ = ctx
3273	return c
3274}
3275
3276// Header returns an http.Header that can be modified by the caller to
3277// add HTTP headers to the request.
3278func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Header() http.Header {
3279	if c.header_ == nil {
3280		c.header_ = make(http.Header)
3281	}
3282	return c.header_
3283}
3284
3285func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3286	reqHeaders := make(http.Header)
3287	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3288	for k, v := range c.header_ {
3289		reqHeaders[k] = v
3290	}
3291	reqHeaders.Set("User-Agent", c.s.userAgent())
3292	var body io.Reader = nil
3293	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
3294	if err != nil {
3295		return nil, err
3296	}
3297	reqHeaders.Set("Content-Type", "application/json")
3298	c.urlParams_.Set("alt", alt)
3299	c.urlParams_.Set("prettyPrint", "false")
3300	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
3301	urls += "?" + c.urlParams_.Encode()
3302	req, err := http.NewRequest("POST", urls, body)
3303	if err != nil {
3304		return nil, err
3305	}
3306	req.Header = reqHeaders
3307	googleapi.Expand(req.URL, map[string]string{
3308		"resource": c.resource,
3309	})
3310	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3311}
3312
3313// Do executes the "datacatalog.projects.locations.entryGroups.getIamPolicy" call.
3314// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3315// code is an error. Response headers are in either
3316// *Policy.ServerResponse.Header or (if a response was returned at all)
3317// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3318// check whether the returned error was because http.StatusNotModified
3319// was returned.
3320func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3321	gensupport.SetOptions(c.urlParams_, opts...)
3322	res, err := c.doRequest("json")
3323	if res != nil && res.StatusCode == http.StatusNotModified {
3324		if res.Body != nil {
3325			res.Body.Close()
3326		}
3327		return nil, &googleapi.Error{
3328			Code:   res.StatusCode,
3329			Header: res.Header,
3330		}
3331	}
3332	if err != nil {
3333		return nil, err
3334	}
3335	defer googleapi.CloseBody(res)
3336	if err := googleapi.CheckResponse(res); err != nil {
3337		return nil, err
3338	}
3339	ret := &Policy{
3340		ServerResponse: googleapi.ServerResponse{
3341			Header:         res.Header,
3342			HTTPStatusCode: res.StatusCode,
3343		},
3344	}
3345	target := &ret
3346	if err := gensupport.DecodeResponse(target, res); err != nil {
3347		return nil, err
3348	}
3349	return ret, nil
3350	// {
3351	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
3352	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
3353	//   "httpMethod": "POST",
3354	//   "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
3355	//   "parameterOrder": [
3356	//     "resource"
3357	//   ],
3358	//   "parameters": {
3359	//     "resource": {
3360	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
3361	//       "location": "path",
3362	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3363	//       "required": true,
3364	//       "type": "string"
3365	//     }
3366	//   },
3367	//   "path": "v1beta1/{+resource}:getIamPolicy",
3368	//   "request": {
3369	//     "$ref": "GetIamPolicyRequest"
3370	//   },
3371	//   "response": {
3372	//     "$ref": "Policy"
3373	//   },
3374	//   "scopes": [
3375	//     "https://www.googleapis.com/auth/cloud-platform"
3376	//   ]
3377	// }
3378
3379}
3380
3381// method id "datacatalog.projects.locations.entryGroups.list":
3382
3383type ProjectsLocationsEntryGroupsListCall struct {
3384	s            *Service
3385	parent       string
3386	urlParams_   gensupport.URLParams
3387	ifNoneMatch_ string
3388	ctx_         context.Context
3389	header_      http.Header
3390}
3391
3392// List: Lists entry groups.
3393//
3394// - parent: The name of the location that contains the entry groups,
3395//   which can be provided in URL format. Example: *
3396//   projects/{project_id}/locations/{location}.
3397func (r *ProjectsLocationsEntryGroupsService) List(parent string) *ProjectsLocationsEntryGroupsListCall {
3398	c := &ProjectsLocationsEntryGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3399	c.parent = parent
3400	return c
3401}
3402
3403// PageSize sets the optional parameter "pageSize": The maximum number
3404// of items to return. Default is 10. Max limit is 1000. Throws an
3405// invalid argument for `page_size > 1000`.
3406func (c *ProjectsLocationsEntryGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsListCall {
3407	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
3408	return c
3409}
3410
3411// PageToken sets the optional parameter "pageToken": Token that
3412// specifies which page is requested. If empty, the first page is
3413// returned.
3414func (c *ProjectsLocationsEntryGroupsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsListCall {
3415	c.urlParams_.Set("pageToken", pageToken)
3416	return c
3417}
3418
3419// Fields allows partial responses to be retrieved. See
3420// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3421// for more information.
3422func (c *ProjectsLocationsEntryGroupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsListCall {
3423	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3424	return c
3425}
3426
3427// IfNoneMatch sets the optional parameter which makes the operation
3428// fail if the object's ETag matches the given value. This is useful for
3429// getting updates only after the object has changed since the last
3430// request. Use googleapi.IsNotModified to check whether the response
3431// error from Do is the result of In-None-Match.
3432func (c *ProjectsLocationsEntryGroupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsListCall {
3433	c.ifNoneMatch_ = entityTag
3434	return c
3435}
3436
3437// Context sets the context to be used in this call's Do method. Any
3438// pending HTTP request will be aborted if the provided context is
3439// canceled.
3440func (c *ProjectsLocationsEntryGroupsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsListCall {
3441	c.ctx_ = ctx
3442	return c
3443}
3444
3445// Header returns an http.Header that can be modified by the caller to
3446// add HTTP headers to the request.
3447func (c *ProjectsLocationsEntryGroupsListCall) Header() http.Header {
3448	if c.header_ == nil {
3449		c.header_ = make(http.Header)
3450	}
3451	return c.header_
3452}
3453
3454func (c *ProjectsLocationsEntryGroupsListCall) doRequest(alt string) (*http.Response, error) {
3455	reqHeaders := make(http.Header)
3456	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3457	for k, v := range c.header_ {
3458		reqHeaders[k] = v
3459	}
3460	reqHeaders.Set("User-Agent", c.s.userAgent())
3461	if c.ifNoneMatch_ != "" {
3462		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3463	}
3464	var body io.Reader = nil
3465	c.urlParams_.Set("alt", alt)
3466	c.urlParams_.Set("prettyPrint", "false")
3467	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entryGroups")
3468	urls += "?" + c.urlParams_.Encode()
3469	req, err := http.NewRequest("GET", urls, body)
3470	if err != nil {
3471		return nil, err
3472	}
3473	req.Header = reqHeaders
3474	googleapi.Expand(req.URL, map[string]string{
3475		"parent": c.parent,
3476	})
3477	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3478}
3479
3480// Do executes the "datacatalog.projects.locations.entryGroups.list" call.
3481// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse
3482// or error will be non-nil. Any non-2xx status code is an error.
3483// Response headers are in either
3484// *GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse.ServerResponse.H
3485// eader or (if a response was returned at all) in
3486// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3487// whether the returned error was because http.StatusNotModified was
3488// returned.
3489func (c *ProjectsLocationsEntryGroupsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse, error) {
3490	gensupport.SetOptions(c.urlParams_, opts...)
3491	res, err := c.doRequest("json")
3492	if res != nil && res.StatusCode == http.StatusNotModified {
3493		if res.Body != nil {
3494			res.Body.Close()
3495		}
3496		return nil, &googleapi.Error{
3497			Code:   res.StatusCode,
3498			Header: res.Header,
3499		}
3500	}
3501	if err != nil {
3502		return nil, err
3503	}
3504	defer googleapi.CloseBody(res)
3505	if err := googleapi.CheckResponse(res); err != nil {
3506		return nil, err
3507	}
3508	ret := &GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse{
3509		ServerResponse: googleapi.ServerResponse{
3510			Header:         res.Header,
3511			HTTPStatusCode: res.StatusCode,
3512		},
3513	}
3514	target := &ret
3515	if err := gensupport.DecodeResponse(target, res); err != nil {
3516		return nil, err
3517	}
3518	return ret, nil
3519	// {
3520	//   "description": "Lists entry groups.",
3521	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
3522	//   "httpMethod": "GET",
3523	//   "id": "datacatalog.projects.locations.entryGroups.list",
3524	//   "parameterOrder": [
3525	//     "parent"
3526	//   ],
3527	//   "parameters": {
3528	//     "pageSize": {
3529	//       "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
3530	//       "format": "int32",
3531	//       "location": "query",
3532	//       "type": "integer"
3533	//     },
3534	//     "pageToken": {
3535	//       "description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.",
3536	//       "location": "query",
3537	//       "type": "string"
3538	//     },
3539	//     "parent": {
3540	//       "description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}",
3541	//       "location": "path",
3542	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
3543	//       "required": true,
3544	//       "type": "string"
3545	//     }
3546	//   },
3547	//   "path": "v1beta1/{+parent}/entryGroups",
3548	//   "response": {
3549	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse"
3550	//   },
3551	//   "scopes": [
3552	//     "https://www.googleapis.com/auth/cloud-platform"
3553	//   ]
3554	// }
3555
3556}
3557
3558// Pages invokes f for each page of results.
3559// A non-nil error returned from f will halt the iteration.
3560// The provided context supersedes any context provided to the Context method.
3561func (c *ProjectsLocationsEntryGroupsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse) error) error {
3562	c.ctx_ = ctx
3563	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
3564	for {
3565		x, err := c.Do()
3566		if err != nil {
3567			return err
3568		}
3569		if err := f(x); err != nil {
3570			return err
3571		}
3572		if x.NextPageToken == "" {
3573			return nil
3574		}
3575		c.PageToken(x.NextPageToken)
3576	}
3577}
3578
3579// method id "datacatalog.projects.locations.entryGroups.patch":
3580
3581type ProjectsLocationsEntryGroupsPatchCall struct {
3582	s                                       *Service
3583	name                                    string
3584	googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup
3585	urlParams_                              gensupport.URLParams
3586	ctx_                                    context.Context
3587	header_                                 http.Header
3588}
3589
3590// Patch: Updates an EntryGroup. The user should enable the Data Catalog
3591// API in the project identified by the `entry_group.name` parameter
3592// (see [Data Catalog Resource Project]
3593// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
3594// for more information).
3595//
3596// - name: The resource name of the entry group in URL format. Example:
3597//   *
3598//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
3599//   id} Note that this EntryGroup and its child resources may not
3600//   actually be stored in the location in this name.
3601func (r *ProjectsLocationsEntryGroupsService) Patch(name string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsPatchCall {
3602	c := &ProjectsLocationsEntryGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3603	c.name = name
3604	c.googleclouddatacatalogv1beta1entrygroup = googleclouddatacatalogv1beta1entrygroup
3605	return c
3606}
3607
3608// UpdateMask sets the optional parameter "updateMask": Names of fields
3609// whose values to overwrite on an entry group. If this parameter is
3610// absent or empty, all modifiable fields are overwritten. If such
3611// fields are non-required and omitted in the request body, their values
3612// are emptied.
3613func (c *ProjectsLocationsEntryGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsPatchCall {
3614	c.urlParams_.Set("updateMask", updateMask)
3615	return c
3616}
3617
3618// Fields allows partial responses to be retrieved. See
3619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3620// for more information.
3621func (c *ProjectsLocationsEntryGroupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsPatchCall {
3622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3623	return c
3624}
3625
3626// Context sets the context to be used in this call's Do method. Any
3627// pending HTTP request will be aborted if the provided context is
3628// canceled.
3629func (c *ProjectsLocationsEntryGroupsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsPatchCall {
3630	c.ctx_ = ctx
3631	return c
3632}
3633
3634// Header returns an http.Header that can be modified by the caller to
3635// add HTTP headers to the request.
3636func (c *ProjectsLocationsEntryGroupsPatchCall) Header() http.Header {
3637	if c.header_ == nil {
3638		c.header_ = make(http.Header)
3639	}
3640	return c.header_
3641}
3642
3643func (c *ProjectsLocationsEntryGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
3644	reqHeaders := make(http.Header)
3645	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3646	for k, v := range c.header_ {
3647		reqHeaders[k] = v
3648	}
3649	reqHeaders.Set("User-Agent", c.s.userAgent())
3650	var body io.Reader = nil
3651	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entrygroup)
3652	if err != nil {
3653		return nil, err
3654	}
3655	reqHeaders.Set("Content-Type", "application/json")
3656	c.urlParams_.Set("alt", alt)
3657	c.urlParams_.Set("prettyPrint", "false")
3658	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
3659	urls += "?" + c.urlParams_.Encode()
3660	req, err := http.NewRequest("PATCH", urls, body)
3661	if err != nil {
3662		return nil, err
3663	}
3664	req.Header = reqHeaders
3665	googleapi.Expand(req.URL, map[string]string{
3666		"name": c.name,
3667	})
3668	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3669}
3670
3671// Do executes the "datacatalog.projects.locations.entryGroups.patch" call.
3672// Exactly one of *GoogleCloudDatacatalogV1beta1EntryGroup or error will
3673// be non-nil. Any non-2xx status code is an error. Response headers are
3674// in either
3675// *GoogleCloudDatacatalogV1beta1EntryGroup.ServerResponse.Header or (if
3676// a response was returned at all) in error.(*googleapi.Error).Header.
3677// Use googleapi.IsNotModified to check whether the returned error was
3678// because http.StatusNotModified was returned.
3679func (c *ProjectsLocationsEntryGroupsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1EntryGroup, error) {
3680	gensupport.SetOptions(c.urlParams_, opts...)
3681	res, err := c.doRequest("json")
3682	if res != nil && res.StatusCode == http.StatusNotModified {
3683		if res.Body != nil {
3684			res.Body.Close()
3685		}
3686		return nil, &googleapi.Error{
3687			Code:   res.StatusCode,
3688			Header: res.Header,
3689		}
3690	}
3691	if err != nil {
3692		return nil, err
3693	}
3694	defer googleapi.CloseBody(res)
3695	if err := googleapi.CheckResponse(res); err != nil {
3696		return nil, err
3697	}
3698	ret := &GoogleCloudDatacatalogV1beta1EntryGroup{
3699		ServerResponse: googleapi.ServerResponse{
3700			Header:         res.Header,
3701			HTTPStatusCode: res.StatusCode,
3702		},
3703	}
3704	target := &ret
3705	if err := gensupport.DecodeResponse(target, res); err != nil {
3706		return nil, err
3707	}
3708	return ret, nil
3709	// {
3710	//   "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
3711	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
3712	//   "httpMethod": "PATCH",
3713	//   "id": "datacatalog.projects.locations.entryGroups.patch",
3714	//   "parameterOrder": [
3715	//     "name"
3716	//   ],
3717	//   "parameters": {
3718	//     "name": {
3719	//       "description": "The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
3720	//       "location": "path",
3721	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3722	//       "required": true,
3723	//       "type": "string"
3724	//     },
3725	//     "updateMask": {
3726	//       "description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
3727	//       "format": "google-fieldmask",
3728	//       "location": "query",
3729	//       "type": "string"
3730	//     }
3731	//   },
3732	//   "path": "v1beta1/{+name}",
3733	//   "request": {
3734	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3735	//   },
3736	//   "response": {
3737	//     "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
3738	//   },
3739	//   "scopes": [
3740	//     "https://www.googleapis.com/auth/cloud-platform"
3741	//   ]
3742	// }
3743
3744}
3745
3746// method id "datacatalog.projects.locations.entryGroups.setIamPolicy":
3747
3748type ProjectsLocationsEntryGroupsSetIamPolicyCall struct {
3749	s                   *Service
3750	resource            string
3751	setiampolicyrequest *SetIamPolicyRequest
3752	urlParams_          gensupport.URLParams
3753	ctx_                context.Context
3754	header_             http.Header
3755}
3756
3757// SetIamPolicy: Sets the access control policy for a resource. Replaces
3758// any existing policy. Supported resources are: - Tag templates. -
3759// Entries. - Entry groups. Note, this method cannot be used to manage
3760// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
3761// resources synced to Data Catalog. Callers must have following Google
3762// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
3763// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
3764// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
3765// set policies on entry groups.
3766//
3767// - resource: REQUIRED: The resource for which the policy is being
3768//   specified. See the operation documentation for the appropriate
3769//   value for this field.
3770func (r *ProjectsLocationsEntryGroupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3771	c := &ProjectsLocationsEntryGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3772	c.resource = resource
3773	c.setiampolicyrequest = setiampolicyrequest
3774	return c
3775}
3776
3777// Fields allows partial responses to be retrieved. See
3778// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3779// for more information.
3780func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3781	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3782	return c
3783}
3784
3785// Context sets the context to be used in this call's Do method. Any
3786// pending HTTP request will be aborted if the provided context is
3787// canceled.
3788func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
3789	c.ctx_ = ctx
3790	return c
3791}
3792
3793// Header returns an http.Header that can be modified by the caller to
3794// add HTTP headers to the request.
3795func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Header() http.Header {
3796	if c.header_ == nil {
3797		c.header_ = make(http.Header)
3798	}
3799	return c.header_
3800}
3801
3802func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
3803	reqHeaders := make(http.Header)
3804	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3805	for k, v := range c.header_ {
3806		reqHeaders[k] = v
3807	}
3808	reqHeaders.Set("User-Agent", c.s.userAgent())
3809	var body io.Reader = nil
3810	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
3811	if err != nil {
3812		return nil, err
3813	}
3814	reqHeaders.Set("Content-Type", "application/json")
3815	c.urlParams_.Set("alt", alt)
3816	c.urlParams_.Set("prettyPrint", "false")
3817	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
3818	urls += "?" + c.urlParams_.Encode()
3819	req, err := http.NewRequest("POST", urls, body)
3820	if err != nil {
3821		return nil, err
3822	}
3823	req.Header = reqHeaders
3824	googleapi.Expand(req.URL, map[string]string{
3825		"resource": c.resource,
3826	})
3827	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3828}
3829
3830// Do executes the "datacatalog.projects.locations.entryGroups.setIamPolicy" call.
3831// Exactly one of *Policy or error will be non-nil. Any non-2xx status
3832// code is an error. Response headers are in either
3833// *Policy.ServerResponse.Header or (if a response was returned at all)
3834// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
3835// check whether the returned error was because http.StatusNotModified
3836// was returned.
3837func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
3838	gensupport.SetOptions(c.urlParams_, opts...)
3839	res, err := c.doRequest("json")
3840	if res != nil && res.StatusCode == http.StatusNotModified {
3841		if res.Body != nil {
3842			res.Body.Close()
3843		}
3844		return nil, &googleapi.Error{
3845			Code:   res.StatusCode,
3846			Header: res.Header,
3847		}
3848	}
3849	if err != nil {
3850		return nil, err
3851	}
3852	defer googleapi.CloseBody(res)
3853	if err := googleapi.CheckResponse(res); err != nil {
3854		return nil, err
3855	}
3856	ret := &Policy{
3857		ServerResponse: googleapi.ServerResponse{
3858			Header:         res.Header,
3859			HTTPStatusCode: res.StatusCode,
3860		},
3861	}
3862	target := &ret
3863	if err := gensupport.DecodeResponse(target, res); err != nil {
3864		return nil, err
3865	}
3866	return ret, nil
3867	// {
3868	//   "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
3869	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
3870	//   "httpMethod": "POST",
3871	//   "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
3872	//   "parameterOrder": [
3873	//     "resource"
3874	//   ],
3875	//   "parameters": {
3876	//     "resource": {
3877	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
3878	//       "location": "path",
3879	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
3880	//       "required": true,
3881	//       "type": "string"
3882	//     }
3883	//   },
3884	//   "path": "v1beta1/{+resource}:setIamPolicy",
3885	//   "request": {
3886	//     "$ref": "SetIamPolicyRequest"
3887	//   },
3888	//   "response": {
3889	//     "$ref": "Policy"
3890	//   },
3891	//   "scopes": [
3892	//     "https://www.googleapis.com/auth/cloud-platform"
3893	//   ]
3894	// }
3895
3896}
3897
3898// method id "datacatalog.projects.locations.entryGroups.testIamPermissions":
3899
3900type ProjectsLocationsEntryGroupsTestIamPermissionsCall struct {
3901	s                         *Service
3902	resource                  string
3903	testiampermissionsrequest *TestIamPermissionsRequest
3904	urlParams_                gensupport.URLParams
3905	ctx_                      context.Context
3906	header_                   http.Header
3907}
3908
3909// TestIamPermissions: Returns the caller's permissions on a resource.
3910// If the resource does not exist, an empty set of permissions is
3911// returned (We don't return a `NOT_FOUND` error). Supported resources
3912// are: - Tag templates. - Entries. - Entry groups. Note, this method
3913// cannot be used to manage policies for BigQuery, Pub/Sub and any
3914// external Google Cloud Platform resources synced to Data Catalog. A
3915// caller is not required to have Google IAM permission to make this
3916// request.
3917//
3918// - resource: REQUIRED: The resource for which the policy detail is
3919//   being requested. See the operation documentation for the
3920//   appropriate value for this field.
3921func (r *ProjectsLocationsEntryGroupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
3922	c := &ProjectsLocationsEntryGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3923	c.resource = resource
3924	c.testiampermissionsrequest = testiampermissionsrequest
3925	return c
3926}
3927
3928// Fields allows partial responses to be retrieved. See
3929// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3930// for more information.
3931func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
3932	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3933	return c
3934}
3935
3936// Context sets the context to be used in this call's Do method. Any
3937// pending HTTP request will be aborted if the provided context is
3938// canceled.
3939func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
3940	c.ctx_ = ctx
3941	return c
3942}
3943
3944// Header returns an http.Header that can be modified by the caller to
3945// add HTTP headers to the request.
3946func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Header() http.Header {
3947	if c.header_ == nil {
3948		c.header_ = make(http.Header)
3949	}
3950	return c.header_
3951}
3952
3953func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
3954	reqHeaders := make(http.Header)
3955	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
3956	for k, v := range c.header_ {
3957		reqHeaders[k] = v
3958	}
3959	reqHeaders.Set("User-Agent", c.s.userAgent())
3960	var body io.Reader = nil
3961	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
3962	if err != nil {
3963		return nil, err
3964	}
3965	reqHeaders.Set("Content-Type", "application/json")
3966	c.urlParams_.Set("alt", alt)
3967	c.urlParams_.Set("prettyPrint", "false")
3968	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
3969	urls += "?" + c.urlParams_.Encode()
3970	req, err := http.NewRequest("POST", urls, body)
3971	if err != nil {
3972		return nil, err
3973	}
3974	req.Header = reqHeaders
3975	googleapi.Expand(req.URL, map[string]string{
3976		"resource": c.resource,
3977	})
3978	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3979}
3980
3981// Do executes the "datacatalog.projects.locations.entryGroups.testIamPermissions" call.
3982// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
3983// Any non-2xx status code is an error. Response headers are in either
3984// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
3985// was returned at all) in error.(*googleapi.Error).Header. Use
3986// googleapi.IsNotModified to check whether the returned error was
3987// because http.StatusNotModified was returned.
3988func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
3989	gensupport.SetOptions(c.urlParams_, opts...)
3990	res, err := c.doRequest("json")
3991	if res != nil && res.StatusCode == http.StatusNotModified {
3992		if res.Body != nil {
3993			res.Body.Close()
3994		}
3995		return nil, &googleapi.Error{
3996			Code:   res.StatusCode,
3997			Header: res.Header,
3998		}
3999	}
4000	if err != nil {
4001		return nil, err
4002	}
4003	defer googleapi.CloseBody(res)
4004	if err := googleapi.CheckResponse(res); err != nil {
4005		return nil, err
4006	}
4007	ret := &TestIamPermissionsResponse{
4008		ServerResponse: googleapi.ServerResponse{
4009			Header:         res.Header,
4010			HTTPStatusCode: res.StatusCode,
4011		},
4012	}
4013	target := &ret
4014	if err := gensupport.DecodeResponse(target, res); err != nil {
4015		return nil, err
4016	}
4017	return ret, nil
4018	// {
4019	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
4020	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
4021	//   "httpMethod": "POST",
4022	//   "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
4023	//   "parameterOrder": [
4024	//     "resource"
4025	//   ],
4026	//   "parameters": {
4027	//     "resource": {
4028	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
4029	//       "location": "path",
4030	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4031	//       "required": true,
4032	//       "type": "string"
4033	//     }
4034	//   },
4035	//   "path": "v1beta1/{+resource}:testIamPermissions",
4036	//   "request": {
4037	//     "$ref": "TestIamPermissionsRequest"
4038	//   },
4039	//   "response": {
4040	//     "$ref": "TestIamPermissionsResponse"
4041	//   },
4042	//   "scopes": [
4043	//     "https://www.googleapis.com/auth/cloud-platform"
4044	//   ]
4045	// }
4046
4047}
4048
4049// method id "datacatalog.projects.locations.entryGroups.entries.create":
4050
4051type ProjectsLocationsEntryGroupsEntriesCreateCall struct {
4052	s                                  *Service
4053	parent                             string
4054	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
4055	urlParams_                         gensupport.URLParams
4056	ctx_                               context.Context
4057	header_                            http.Header
4058}
4059
4060// Create: Creates an entry. Only entries of 'FILESET' type or
4061// user-specified type can be created. Users should enable the Data
4062// Catalog API in the project identified by the `parent` parameter (see
4063// [Data Catalog Resource Project]
4064// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4065// for more information). A maximum of 100,000 entries may be created
4066// per entry group.
4067//
4068// - parent: The name of the entry group this entry is in. Example: *
4069//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4070//   id} Note that this Entry and its child resources may not actually
4071//   be stored in the location in this name.
4072func (r *ProjectsLocationsEntryGroupsEntriesService) Create(parent string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4073	c := &ProjectsLocationsEntryGroupsEntriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4074	c.parent = parent
4075	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
4076	return c
4077}
4078
4079// EntryId sets the optional parameter "entryId": Required. The id of
4080// the entry to create.
4081func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) EntryId(entryId string) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4082	c.urlParams_.Set("entryId", entryId)
4083	return c
4084}
4085
4086// Fields allows partial responses to be retrieved. See
4087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4088// for more information.
4089func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4091	return c
4092}
4093
4094// Context sets the context to be used in this call's Do method. Any
4095// pending HTTP request will be aborted if the provided context is
4096// canceled.
4097func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesCreateCall {
4098	c.ctx_ = ctx
4099	return c
4100}
4101
4102// Header returns an http.Header that can be modified by the caller to
4103// add HTTP headers to the request.
4104func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Header() http.Header {
4105	if c.header_ == nil {
4106		c.header_ = make(http.Header)
4107	}
4108	return c.header_
4109}
4110
4111func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) doRequest(alt string) (*http.Response, error) {
4112	reqHeaders := make(http.Header)
4113	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4114	for k, v := range c.header_ {
4115		reqHeaders[k] = v
4116	}
4117	reqHeaders.Set("User-Agent", c.s.userAgent())
4118	var body io.Reader = nil
4119	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
4120	if err != nil {
4121		return nil, err
4122	}
4123	reqHeaders.Set("Content-Type", "application/json")
4124	c.urlParams_.Set("alt", alt)
4125	c.urlParams_.Set("prettyPrint", "false")
4126	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
4127	urls += "?" + c.urlParams_.Encode()
4128	req, err := http.NewRequest("POST", urls, body)
4129	if err != nil {
4130		return nil, err
4131	}
4132	req.Header = reqHeaders
4133	googleapi.Expand(req.URL, map[string]string{
4134		"parent": c.parent,
4135	})
4136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4137}
4138
4139// Do executes the "datacatalog.projects.locations.entryGroups.entries.create" call.
4140// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4141// non-nil. Any non-2xx status code is an error. Response headers are in
4142// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4143// (if a response was returned at all) in
4144// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4145// whether the returned error was because http.StatusNotModified was
4146// returned.
4147func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4148	gensupport.SetOptions(c.urlParams_, opts...)
4149	res, err := c.doRequest("json")
4150	if res != nil && res.StatusCode == http.StatusNotModified {
4151		if res.Body != nil {
4152			res.Body.Close()
4153		}
4154		return nil, &googleapi.Error{
4155			Code:   res.StatusCode,
4156			Header: res.Header,
4157		}
4158	}
4159	if err != nil {
4160		return nil, err
4161	}
4162	defer googleapi.CloseBody(res)
4163	if err := googleapi.CheckResponse(res); err != nil {
4164		return nil, err
4165	}
4166	ret := &GoogleCloudDatacatalogV1beta1Entry{
4167		ServerResponse: googleapi.ServerResponse{
4168			Header:         res.Header,
4169			HTTPStatusCode: res.StatusCode,
4170		},
4171	}
4172	target := &ret
4173	if err := gensupport.DecodeResponse(target, res); err != nil {
4174		return nil, err
4175	}
4176	return ret, nil
4177	// {
4178	//   "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.",
4179	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
4180	//   "httpMethod": "POST",
4181	//   "id": "datacatalog.projects.locations.entryGroups.entries.create",
4182	//   "parameterOrder": [
4183	//     "parent"
4184	//   ],
4185	//   "parameters": {
4186	//     "entryId": {
4187	//       "description": "Required. The id of the entry to create.",
4188	//       "location": "query",
4189	//       "type": "string"
4190	//     },
4191	//     "parent": {
4192	//       "description": "Required. The name of the entry group this entry is in. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
4193	//       "location": "path",
4194	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4195	//       "required": true,
4196	//       "type": "string"
4197	//     }
4198	//   },
4199	//   "path": "v1beta1/{+parent}/entries",
4200	//   "request": {
4201	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4202	//   },
4203	//   "response": {
4204	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4205	//   },
4206	//   "scopes": [
4207	//     "https://www.googleapis.com/auth/cloud-platform"
4208	//   ]
4209	// }
4210
4211}
4212
4213// method id "datacatalog.projects.locations.entryGroups.entries.delete":
4214
4215type ProjectsLocationsEntryGroupsEntriesDeleteCall struct {
4216	s          *Service
4217	name       string
4218	urlParams_ gensupport.URLParams
4219	ctx_       context.Context
4220	header_    http.Header
4221}
4222
4223// Delete: Deletes an existing entry. Only entries created through
4224// CreateEntry method can be deleted. Users should enable the Data
4225// Catalog API in the project identified by the `name` parameter (see
4226// [Data Catalog Resource Project]
4227// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4228// for more information).
4229//
4230// - name: The name of the entry. Example: *
4231//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4232//   id}/entries/{entry_id}.
4233func (r *ProjectsLocationsEntryGroupsEntriesService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4234	c := &ProjectsLocationsEntryGroupsEntriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4235	c.name = name
4236	return c
4237}
4238
4239// Fields allows partial responses to be retrieved. See
4240// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4241// for more information.
4242func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4243	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4244	return c
4245}
4246
4247// Context sets the context to be used in this call's Do method. Any
4248// pending HTTP request will be aborted if the provided context is
4249// canceled.
4250func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
4251	c.ctx_ = ctx
4252	return c
4253}
4254
4255// Header returns an http.Header that can be modified by the caller to
4256// add HTTP headers to the request.
4257func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Header() http.Header {
4258	if c.header_ == nil {
4259		c.header_ = make(http.Header)
4260	}
4261	return c.header_
4262}
4263
4264func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) doRequest(alt string) (*http.Response, error) {
4265	reqHeaders := make(http.Header)
4266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4267	for k, v := range c.header_ {
4268		reqHeaders[k] = v
4269	}
4270	reqHeaders.Set("User-Agent", c.s.userAgent())
4271	var body io.Reader = nil
4272	c.urlParams_.Set("alt", alt)
4273	c.urlParams_.Set("prettyPrint", "false")
4274	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4275	urls += "?" + c.urlParams_.Encode()
4276	req, err := http.NewRequest("DELETE", urls, body)
4277	if err != nil {
4278		return nil, err
4279	}
4280	req.Header = reqHeaders
4281	googleapi.Expand(req.URL, map[string]string{
4282		"name": c.name,
4283	})
4284	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4285}
4286
4287// Do executes the "datacatalog.projects.locations.entryGroups.entries.delete" call.
4288// Exactly one of *Empty or error will be non-nil. Any non-2xx status
4289// code is an error. Response headers are in either
4290// *Empty.ServerResponse.Header or (if a response was returned at all)
4291// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4292// check whether the returned error was because http.StatusNotModified
4293// was returned.
4294func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
4295	gensupport.SetOptions(c.urlParams_, opts...)
4296	res, err := c.doRequest("json")
4297	if res != nil && res.StatusCode == http.StatusNotModified {
4298		if res.Body != nil {
4299			res.Body.Close()
4300		}
4301		return nil, &googleapi.Error{
4302			Code:   res.StatusCode,
4303			Header: res.Header,
4304		}
4305	}
4306	if err != nil {
4307		return nil, err
4308	}
4309	defer googleapi.CloseBody(res)
4310	if err := googleapi.CheckResponse(res); err != nil {
4311		return nil, err
4312	}
4313	ret := &Empty{
4314		ServerResponse: googleapi.ServerResponse{
4315			Header:         res.Header,
4316			HTTPStatusCode: res.StatusCode,
4317		},
4318	}
4319	target := &ret
4320	if err := gensupport.DecodeResponse(target, res); err != nil {
4321		return nil, err
4322	}
4323	return ret, nil
4324	// {
4325	//   "description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
4326	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4327	//   "httpMethod": "DELETE",
4328	//   "id": "datacatalog.projects.locations.entryGroups.entries.delete",
4329	//   "parameterOrder": [
4330	//     "name"
4331	//   ],
4332	//   "parameters": {
4333	//     "name": {
4334	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4335	//       "location": "path",
4336	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4337	//       "required": true,
4338	//       "type": "string"
4339	//     }
4340	//   },
4341	//   "path": "v1beta1/{+name}",
4342	//   "response": {
4343	//     "$ref": "Empty"
4344	//   },
4345	//   "scopes": [
4346	//     "https://www.googleapis.com/auth/cloud-platform"
4347	//   ]
4348	// }
4349
4350}
4351
4352// method id "datacatalog.projects.locations.entryGroups.entries.get":
4353
4354type ProjectsLocationsEntryGroupsEntriesGetCall struct {
4355	s            *Service
4356	name         string
4357	urlParams_   gensupport.URLParams
4358	ifNoneMatch_ string
4359	ctx_         context.Context
4360	header_      http.Header
4361}
4362
4363// Get: Gets an entry.
4364//
4365// - name: The name of the entry. Example: *
4366//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4367//   id}/entries/{entry_id}.
4368func (r *ProjectsLocationsEntryGroupsEntriesService) Get(name string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4369	c := &ProjectsLocationsEntryGroupsEntriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4370	c.name = name
4371	return c
4372}
4373
4374// Fields allows partial responses to be retrieved. See
4375// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4376// for more information.
4377func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetCall {
4378	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4379	return c
4380}
4381
4382// IfNoneMatch sets the optional parameter which makes the operation
4383// fail if the object's ETag matches the given value. This is useful for
4384// getting updates only after the object has changed since the last
4385// request. Use googleapi.IsNotModified to check whether the response
4386// error from Do is the result of In-None-Match.
4387func (c *ProjectsLocationsEntryGroupsEntriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesGetCall {
4388	c.ifNoneMatch_ = entityTag
4389	return c
4390}
4391
4392// Context sets the context to be used in this call's Do method. Any
4393// pending HTTP request will be aborted if the provided context is
4394// canceled.
4395func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetCall {
4396	c.ctx_ = ctx
4397	return c
4398}
4399
4400// Header returns an http.Header that can be modified by the caller to
4401// add HTTP headers to the request.
4402func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Header() http.Header {
4403	if c.header_ == nil {
4404		c.header_ = make(http.Header)
4405	}
4406	return c.header_
4407}
4408
4409func (c *ProjectsLocationsEntryGroupsEntriesGetCall) doRequest(alt string) (*http.Response, error) {
4410	reqHeaders := make(http.Header)
4411	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4412	for k, v := range c.header_ {
4413		reqHeaders[k] = v
4414	}
4415	reqHeaders.Set("User-Agent", c.s.userAgent())
4416	if c.ifNoneMatch_ != "" {
4417		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4418	}
4419	var body io.Reader = nil
4420	c.urlParams_.Set("alt", alt)
4421	c.urlParams_.Set("prettyPrint", "false")
4422	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4423	urls += "?" + c.urlParams_.Encode()
4424	req, err := http.NewRequest("GET", urls, body)
4425	if err != nil {
4426		return nil, err
4427	}
4428	req.Header = reqHeaders
4429	googleapi.Expand(req.URL, map[string]string{
4430		"name": c.name,
4431	})
4432	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4433}
4434
4435// Do executes the "datacatalog.projects.locations.entryGroups.entries.get" call.
4436// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4437// non-nil. Any non-2xx status code is an error. Response headers are in
4438// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4439// (if a response was returned at all) in
4440// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4441// whether the returned error was because http.StatusNotModified was
4442// returned.
4443func (c *ProjectsLocationsEntryGroupsEntriesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4444	gensupport.SetOptions(c.urlParams_, opts...)
4445	res, err := c.doRequest("json")
4446	if res != nil && res.StatusCode == http.StatusNotModified {
4447		if res.Body != nil {
4448			res.Body.Close()
4449		}
4450		return nil, &googleapi.Error{
4451			Code:   res.StatusCode,
4452			Header: res.Header,
4453		}
4454	}
4455	if err != nil {
4456		return nil, err
4457	}
4458	defer googleapi.CloseBody(res)
4459	if err := googleapi.CheckResponse(res); err != nil {
4460		return nil, err
4461	}
4462	ret := &GoogleCloudDatacatalogV1beta1Entry{
4463		ServerResponse: googleapi.ServerResponse{
4464			Header:         res.Header,
4465			HTTPStatusCode: res.StatusCode,
4466		},
4467	}
4468	target := &ret
4469	if err := gensupport.DecodeResponse(target, res); err != nil {
4470		return nil, err
4471	}
4472	return ret, nil
4473	// {
4474	//   "description": "Gets an entry.",
4475	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
4476	//   "httpMethod": "GET",
4477	//   "id": "datacatalog.projects.locations.entryGroups.entries.get",
4478	//   "parameterOrder": [
4479	//     "name"
4480	//   ],
4481	//   "parameters": {
4482	//     "name": {
4483	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
4484	//       "location": "path",
4485	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4486	//       "required": true,
4487	//       "type": "string"
4488	//     }
4489	//   },
4490	//   "path": "v1beta1/{+name}",
4491	//   "response": {
4492	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
4493	//   },
4494	//   "scopes": [
4495	//     "https://www.googleapis.com/auth/cloud-platform"
4496	//   ]
4497	// }
4498
4499}
4500
4501// method id "datacatalog.projects.locations.entryGroups.entries.getIamPolicy":
4502
4503type ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall struct {
4504	s                   *Service
4505	resource            string
4506	getiampolicyrequest *GetIamPolicyRequest
4507	urlParams_          gensupport.URLParams
4508	ctx_                context.Context
4509	header_             http.Header
4510}
4511
4512// GetIamPolicy: Gets the access control policy for a resource. A
4513// `NOT_FOUND` error is returned if the resource does not exist. An
4514// empty policy is returned if the resource exists but does not have a
4515// policy set on it. Supported resources are: - Tag templates. -
4516// Entries. - Entry groups. Note, this method cannot be used to manage
4517// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
4518// resources synced to Data Catalog. Callers must have following Google
4519// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
4520// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
4521// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
4522// get policies on entry groups.
4523//
4524// - resource: REQUIRED: The resource for which the policy is being
4525//   requested. See the operation documentation for the appropriate
4526//   value for this field.
4527func (r *ProjectsLocationsEntryGroupsEntriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4528	c := &ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4529	c.resource = resource
4530	c.getiampolicyrequest = getiampolicyrequest
4531	return c
4532}
4533
4534// Fields allows partial responses to be retrieved. See
4535// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4536// for more information.
4537func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4538	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4539	return c
4540}
4541
4542// Context sets the context to be used in this call's Do method. Any
4543// pending HTTP request will be aborted if the provided context is
4544// canceled.
4545func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
4546	c.ctx_ = ctx
4547	return c
4548}
4549
4550// Header returns an http.Header that can be modified by the caller to
4551// add HTTP headers to the request.
4552func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Header() http.Header {
4553	if c.header_ == nil {
4554		c.header_ = make(http.Header)
4555	}
4556	return c.header_
4557}
4558
4559func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
4560	reqHeaders := make(http.Header)
4561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4562	for k, v := range c.header_ {
4563		reqHeaders[k] = v
4564	}
4565	reqHeaders.Set("User-Agent", c.s.userAgent())
4566	var body io.Reader = nil
4567	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
4568	if err != nil {
4569		return nil, err
4570	}
4571	reqHeaders.Set("Content-Type", "application/json")
4572	c.urlParams_.Set("alt", alt)
4573	c.urlParams_.Set("prettyPrint", "false")
4574	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
4575	urls += "?" + c.urlParams_.Encode()
4576	req, err := http.NewRequest("POST", urls, body)
4577	if err != nil {
4578		return nil, err
4579	}
4580	req.Header = reqHeaders
4581	googleapi.Expand(req.URL, map[string]string{
4582		"resource": c.resource,
4583	})
4584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4585}
4586
4587// Do executes the "datacatalog.projects.locations.entryGroups.entries.getIamPolicy" call.
4588// Exactly one of *Policy or error will be non-nil. Any non-2xx status
4589// code is an error. Response headers are in either
4590// *Policy.ServerResponse.Header or (if a response was returned at all)
4591// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
4592// check whether the returned error was because http.StatusNotModified
4593// was returned.
4594func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
4595	gensupport.SetOptions(c.urlParams_, opts...)
4596	res, err := c.doRequest("json")
4597	if res != nil && res.StatusCode == http.StatusNotModified {
4598		if res.Body != nil {
4599			res.Body.Close()
4600		}
4601		return nil, &googleapi.Error{
4602			Code:   res.StatusCode,
4603			Header: res.Header,
4604		}
4605	}
4606	if err != nil {
4607		return nil, err
4608	}
4609	defer googleapi.CloseBody(res)
4610	if err := googleapi.CheckResponse(res); err != nil {
4611		return nil, err
4612	}
4613	ret := &Policy{
4614		ServerResponse: googleapi.ServerResponse{
4615			Header:         res.Header,
4616			HTTPStatusCode: res.StatusCode,
4617		},
4618	}
4619	target := &ret
4620	if err := gensupport.DecodeResponse(target, res); err != nil {
4621		return nil, err
4622	}
4623	return ret, nil
4624	// {
4625	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
4626	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
4627	//   "httpMethod": "POST",
4628	//   "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
4629	//   "parameterOrder": [
4630	//     "resource"
4631	//   ],
4632	//   "parameters": {
4633	//     "resource": {
4634	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
4635	//       "location": "path",
4636	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
4637	//       "required": true,
4638	//       "type": "string"
4639	//     }
4640	//   },
4641	//   "path": "v1beta1/{+resource}:getIamPolicy",
4642	//   "request": {
4643	//     "$ref": "GetIamPolicyRequest"
4644	//   },
4645	//   "response": {
4646	//     "$ref": "Policy"
4647	//   },
4648	//   "scopes": [
4649	//     "https://www.googleapis.com/auth/cloud-platform"
4650	//   ]
4651	// }
4652
4653}
4654
4655// method id "datacatalog.projects.locations.entryGroups.entries.list":
4656
4657type ProjectsLocationsEntryGroupsEntriesListCall struct {
4658	s            *Service
4659	parent       string
4660	urlParams_   gensupport.URLParams
4661	ifNoneMatch_ string
4662	ctx_         context.Context
4663	header_      http.Header
4664}
4665
4666// List: Lists entries.
4667//
4668// - parent: The name of the entry group that contains the entries,
4669//   which can be provided in URL format. Example: *
4670//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4671//   id}.
4672func (r *ProjectsLocationsEntryGroupsEntriesService) List(parent string) *ProjectsLocationsEntryGroupsEntriesListCall {
4673	c := &ProjectsLocationsEntryGroupsEntriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4674	c.parent = parent
4675	return c
4676}
4677
4678// PageSize sets the optional parameter "pageSize": The maximum number
4679// of items to return. Default is 10. Max limit is 1000. Throws an
4680// invalid argument for `page_size > 1000`.
4681func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesListCall {
4682	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
4683	return c
4684}
4685
4686// PageToken sets the optional parameter "pageToken": Token that
4687// specifies which page is requested. If empty, the first page is
4688// returned.
4689func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesListCall {
4690	c.urlParams_.Set("pageToken", pageToken)
4691	return c
4692}
4693
4694// ReadMask sets the optional parameter "readMask": The fields to return
4695// for each Entry. If not set or empty, all fields are returned. For
4696// example, setting read_mask to contain only one path "name" will cause
4697// ListEntries to return a list of Entries with only "name" field.
4698func (c *ProjectsLocationsEntryGroupsEntriesListCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsEntriesListCall {
4699	c.urlParams_.Set("readMask", readMask)
4700	return c
4701}
4702
4703// Fields allows partial responses to be retrieved. See
4704// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4705// for more information.
4706func (c *ProjectsLocationsEntryGroupsEntriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesListCall {
4707	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4708	return c
4709}
4710
4711// IfNoneMatch sets the optional parameter which makes the operation
4712// fail if the object's ETag matches the given value. This is useful for
4713// getting updates only after the object has changed since the last
4714// request. Use googleapi.IsNotModified to check whether the response
4715// error from Do is the result of In-None-Match.
4716func (c *ProjectsLocationsEntryGroupsEntriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesListCall {
4717	c.ifNoneMatch_ = entityTag
4718	return c
4719}
4720
4721// Context sets the context to be used in this call's Do method. Any
4722// pending HTTP request will be aborted if the provided context is
4723// canceled.
4724func (c *ProjectsLocationsEntryGroupsEntriesListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesListCall {
4725	c.ctx_ = ctx
4726	return c
4727}
4728
4729// Header returns an http.Header that can be modified by the caller to
4730// add HTTP headers to the request.
4731func (c *ProjectsLocationsEntryGroupsEntriesListCall) Header() http.Header {
4732	if c.header_ == nil {
4733		c.header_ = make(http.Header)
4734	}
4735	return c.header_
4736}
4737
4738func (c *ProjectsLocationsEntryGroupsEntriesListCall) doRequest(alt string) (*http.Response, error) {
4739	reqHeaders := make(http.Header)
4740	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4741	for k, v := range c.header_ {
4742		reqHeaders[k] = v
4743	}
4744	reqHeaders.Set("User-Agent", c.s.userAgent())
4745	if c.ifNoneMatch_ != "" {
4746		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4747	}
4748	var body io.Reader = nil
4749	c.urlParams_.Set("alt", alt)
4750	c.urlParams_.Set("prettyPrint", "false")
4751	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/entries")
4752	urls += "?" + c.urlParams_.Encode()
4753	req, err := http.NewRequest("GET", urls, body)
4754	if err != nil {
4755		return nil, err
4756	}
4757	req.Header = reqHeaders
4758	googleapi.Expand(req.URL, map[string]string{
4759		"parent": c.parent,
4760	})
4761	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4762}
4763
4764// Do executes the "datacatalog.projects.locations.entryGroups.entries.list" call.
4765// Exactly one of *GoogleCloudDatacatalogV1beta1ListEntriesResponse or
4766// error will be non-nil. Any non-2xx status code is an error. Response
4767// headers are in either
4768// *GoogleCloudDatacatalogV1beta1ListEntriesResponse.ServerResponse.Heade
4769// r or (if a response was returned at all) in
4770// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4771// whether the returned error was because http.StatusNotModified was
4772// returned.
4773func (c *ProjectsLocationsEntryGroupsEntriesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListEntriesResponse, error) {
4774	gensupport.SetOptions(c.urlParams_, opts...)
4775	res, err := c.doRequest("json")
4776	if res != nil && res.StatusCode == http.StatusNotModified {
4777		if res.Body != nil {
4778			res.Body.Close()
4779		}
4780		return nil, &googleapi.Error{
4781			Code:   res.StatusCode,
4782			Header: res.Header,
4783		}
4784	}
4785	if err != nil {
4786		return nil, err
4787	}
4788	defer googleapi.CloseBody(res)
4789	if err := googleapi.CheckResponse(res); err != nil {
4790		return nil, err
4791	}
4792	ret := &GoogleCloudDatacatalogV1beta1ListEntriesResponse{
4793		ServerResponse: googleapi.ServerResponse{
4794			Header:         res.Header,
4795			HTTPStatusCode: res.StatusCode,
4796		},
4797	}
4798	target := &ret
4799	if err := gensupport.DecodeResponse(target, res); err != nil {
4800		return nil, err
4801	}
4802	return ret, nil
4803	// {
4804	//   "description": "Lists entries.",
4805	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
4806	//   "httpMethod": "GET",
4807	//   "id": "datacatalog.projects.locations.entryGroups.entries.list",
4808	//   "parameterOrder": [
4809	//     "parent"
4810	//   ],
4811	//   "parameters": {
4812	//     "pageSize": {
4813	//       "description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
4814	//       "format": "int32",
4815	//       "location": "query",
4816	//       "type": "integer"
4817	//     },
4818	//     "pageToken": {
4819	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
4820	//       "location": "query",
4821	//       "type": "string"
4822	//     },
4823	//     "parent": {
4824	//       "description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
4825	//       "location": "path",
4826	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
4827	//       "required": true,
4828	//       "type": "string"
4829	//     },
4830	//     "readMask": {
4831	//       "description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.",
4832	//       "format": "google-fieldmask",
4833	//       "location": "query",
4834	//       "type": "string"
4835	//     }
4836	//   },
4837	//   "path": "v1beta1/{+parent}/entries",
4838	//   "response": {
4839	//     "$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse"
4840	//   },
4841	//   "scopes": [
4842	//     "https://www.googleapis.com/auth/cloud-platform"
4843	//   ]
4844	// }
4845
4846}
4847
4848// Pages invokes f for each page of results.
4849// A non-nil error returned from f will halt the iteration.
4850// The provided context supersedes any context provided to the Context method.
4851func (c *ProjectsLocationsEntryGroupsEntriesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListEntriesResponse) error) error {
4852	c.ctx_ = ctx
4853	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
4854	for {
4855		x, err := c.Do()
4856		if err != nil {
4857			return err
4858		}
4859		if err := f(x); err != nil {
4860			return err
4861		}
4862		if x.NextPageToken == "" {
4863			return nil
4864		}
4865		c.PageToken(x.NextPageToken)
4866	}
4867}
4868
4869// method id "datacatalog.projects.locations.entryGroups.entries.patch":
4870
4871type ProjectsLocationsEntryGroupsEntriesPatchCall struct {
4872	s                                  *Service
4873	name                               string
4874	googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry
4875	urlParams_                         gensupport.URLParams
4876	ctx_                               context.Context
4877	header_                            http.Header
4878}
4879
4880// Patch: Updates an existing entry. Users should enable the Data
4881// Catalog API in the project identified by the `entry.name` parameter
4882// (see [Data Catalog Resource Project]
4883// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
4884// for more information).
4885//
4886// - name: Output only. The Data Catalog resource name of the entry in
4887//   URL format. Example: *
4888//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
4889//   id}/entries/{entry_id} Note that this Entry and its child resources
4890//   may not actually be stored in the location in this name.
4891func (r *ProjectsLocationsEntryGroupsEntriesService) Patch(name string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesPatchCall {
4892	c := &ProjectsLocationsEntryGroupsEntriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4893	c.name = name
4894	c.googleclouddatacatalogv1beta1entry = googleclouddatacatalogv1beta1entry
4895	return c
4896}
4897
4898// UpdateMask sets the optional parameter "updateMask": Names of fields
4899// whose values to overwrite on an entry. If this parameter is absent or
4900// empty, all modifiable fields are overwritten. If such fields are
4901// non-required and omitted in the request body, their values are
4902// emptied. The following fields are modifiable: * For entries with type
4903// `DATA_STREAM`: * `schema` * For entries with type `FILESET`: *
4904// `schema` * `display_name` * `description` * `gcs_fileset_spec` *
4905// `gcs_fileset_spec.file_patterns` * For entries with
4906// `user_specified_type`: * `schema` * `display_name` * `description` *
4907// `user_specified_type` * `user_specified_system` * `linked_resource` *
4908// `source_system_timestamps`
4909func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesPatchCall {
4910	c.urlParams_.Set("updateMask", updateMask)
4911	return c
4912}
4913
4914// Fields allows partial responses to be retrieved. See
4915// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4916// for more information.
4917func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesPatchCall {
4918	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4919	return c
4920}
4921
4922// Context sets the context to be used in this call's Do method. Any
4923// pending HTTP request will be aborted if the provided context is
4924// canceled.
4925func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesPatchCall {
4926	c.ctx_ = ctx
4927	return c
4928}
4929
4930// Header returns an http.Header that can be modified by the caller to
4931// add HTTP headers to the request.
4932func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Header() http.Header {
4933	if c.header_ == nil {
4934		c.header_ = make(http.Header)
4935	}
4936	return c.header_
4937}
4938
4939func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) doRequest(alt string) (*http.Response, error) {
4940	reqHeaders := make(http.Header)
4941	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
4942	for k, v := range c.header_ {
4943		reqHeaders[k] = v
4944	}
4945	reqHeaders.Set("User-Agent", c.s.userAgent())
4946	var body io.Reader = nil
4947	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1entry)
4948	if err != nil {
4949		return nil, err
4950	}
4951	reqHeaders.Set("Content-Type", "application/json")
4952	c.urlParams_.Set("alt", alt)
4953	c.urlParams_.Set("prettyPrint", "false")
4954	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
4955	urls += "?" + c.urlParams_.Encode()
4956	req, err := http.NewRequest("PATCH", urls, body)
4957	if err != nil {
4958		return nil, err
4959	}
4960	req.Header = reqHeaders
4961	googleapi.Expand(req.URL, map[string]string{
4962		"name": c.name,
4963	})
4964	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4965}
4966
4967// Do executes the "datacatalog.projects.locations.entryGroups.entries.patch" call.
4968// Exactly one of *GoogleCloudDatacatalogV1beta1Entry or error will be
4969// non-nil. Any non-2xx status code is an error. Response headers are in
4970// either *GoogleCloudDatacatalogV1beta1Entry.ServerResponse.Header or
4971// (if a response was returned at all) in
4972// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4973// whether the returned error was because http.StatusNotModified was
4974// returned.
4975func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Entry, error) {
4976	gensupport.SetOptions(c.urlParams_, opts...)
4977	res, err := c.doRequest("json")
4978	if res != nil && res.StatusCode == http.StatusNotModified {
4979		if res.Body != nil {
4980			res.Body.Close()
4981		}
4982		return nil, &googleapi.Error{
4983			Code:   res.StatusCode,
4984			Header: res.Header,
4985		}
4986	}
4987	if err != nil {
4988		return nil, err
4989	}
4990	defer googleapi.CloseBody(res)
4991	if err := googleapi.CheckResponse(res); err != nil {
4992		return nil, err
4993	}
4994	ret := &GoogleCloudDatacatalogV1beta1Entry{
4995		ServerResponse: googleapi.ServerResponse{
4996			Header:         res.Header,
4997			HTTPStatusCode: res.StatusCode,
4998		},
4999	}
5000	target := &ret
5001	if err := gensupport.DecodeResponse(target, res); err != nil {
5002		return nil, err
5003	}
5004	return ret, nil
5005	// {
5006	//   "description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
5007	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
5008	//   "httpMethod": "PATCH",
5009	//   "id": "datacatalog.projects.locations.entryGroups.entries.patch",
5010	//   "parameterOrder": [
5011	//     "name"
5012	//   ],
5013	//   "parameters": {
5014	//     "name": {
5015	//       "description": "Output only. The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
5016	//       "location": "path",
5017	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5018	//       "required": true,
5019	//       "type": "string"
5020	//     },
5021	//     "updateMask": {
5022	//       "description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. The following fields are modifiable: * For entries with type `DATA_STREAM`: * `schema` * For entries with type `FILESET`: * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` * For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`",
5023	//       "format": "google-fieldmask",
5024	//       "location": "query",
5025	//       "type": "string"
5026	//     }
5027	//   },
5028	//   "path": "v1beta1/{+name}",
5029	//   "request": {
5030	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5031	//   },
5032	//   "response": {
5033	//     "$ref": "GoogleCloudDatacatalogV1beta1Entry"
5034	//   },
5035	//   "scopes": [
5036	//     "https://www.googleapis.com/auth/cloud-platform"
5037	//   ]
5038	// }
5039
5040}
5041
5042// method id "datacatalog.projects.locations.entryGroups.entries.testIamPermissions":
5043
5044type ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall struct {
5045	s                         *Service
5046	resource                  string
5047	testiampermissionsrequest *TestIamPermissionsRequest
5048	urlParams_                gensupport.URLParams
5049	ctx_                      context.Context
5050	header_                   http.Header
5051}
5052
5053// TestIamPermissions: Returns the caller's permissions on a resource.
5054// If the resource does not exist, an empty set of permissions is
5055// returned (We don't return a `NOT_FOUND` error). Supported resources
5056// are: - Tag templates. - Entries. - Entry groups. Note, this method
5057// cannot be used to manage policies for BigQuery, Pub/Sub and any
5058// external Google Cloud Platform resources synced to Data Catalog. A
5059// caller is not required to have Google IAM permission to make this
5060// request.
5061//
5062// - resource: REQUIRED: The resource for which the policy detail is
5063//   being requested. See the operation documentation for the
5064//   appropriate value for this field.
5065func (r *ProjectsLocationsEntryGroupsEntriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5066	c := &ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5067	c.resource = resource
5068	c.testiampermissionsrequest = testiampermissionsrequest
5069	return c
5070}
5071
5072// Fields allows partial responses to be retrieved. See
5073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5074// for more information.
5075func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5077	return c
5078}
5079
5080// Context sets the context to be used in this call's Do method. Any
5081// pending HTTP request will be aborted if the provided context is
5082// canceled.
5083func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
5084	c.ctx_ = ctx
5085	return c
5086}
5087
5088// Header returns an http.Header that can be modified by the caller to
5089// add HTTP headers to the request.
5090func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Header() http.Header {
5091	if c.header_ == nil {
5092		c.header_ = make(http.Header)
5093	}
5094	return c.header_
5095}
5096
5097func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
5098	reqHeaders := make(http.Header)
5099	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5100	for k, v := range c.header_ {
5101		reqHeaders[k] = v
5102	}
5103	reqHeaders.Set("User-Agent", c.s.userAgent())
5104	var body io.Reader = nil
5105	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
5106	if err != nil {
5107		return nil, err
5108	}
5109	reqHeaders.Set("Content-Type", "application/json")
5110	c.urlParams_.Set("alt", alt)
5111	c.urlParams_.Set("prettyPrint", "false")
5112	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
5113	urls += "?" + c.urlParams_.Encode()
5114	req, err := http.NewRequest("POST", urls, body)
5115	if err != nil {
5116		return nil, err
5117	}
5118	req.Header = reqHeaders
5119	googleapi.Expand(req.URL, map[string]string{
5120		"resource": c.resource,
5121	})
5122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5123}
5124
5125// Do executes the "datacatalog.projects.locations.entryGroups.entries.testIamPermissions" call.
5126// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
5127// Any non-2xx status code is an error. Response headers are in either
5128// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
5129// was returned at all) in error.(*googleapi.Error).Header. Use
5130// googleapi.IsNotModified to check whether the returned error was
5131// because http.StatusNotModified was returned.
5132func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
5133	gensupport.SetOptions(c.urlParams_, opts...)
5134	res, err := c.doRequest("json")
5135	if res != nil && res.StatusCode == http.StatusNotModified {
5136		if res.Body != nil {
5137			res.Body.Close()
5138		}
5139		return nil, &googleapi.Error{
5140			Code:   res.StatusCode,
5141			Header: res.Header,
5142		}
5143	}
5144	if err != nil {
5145		return nil, err
5146	}
5147	defer googleapi.CloseBody(res)
5148	if err := googleapi.CheckResponse(res); err != nil {
5149		return nil, err
5150	}
5151	ret := &TestIamPermissionsResponse{
5152		ServerResponse: googleapi.ServerResponse{
5153			Header:         res.Header,
5154			HTTPStatusCode: res.StatusCode,
5155		},
5156	}
5157	target := &ret
5158	if err := gensupport.DecodeResponse(target, res); err != nil {
5159		return nil, err
5160	}
5161	return ret, nil
5162	// {
5163	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
5164	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
5165	//   "httpMethod": "POST",
5166	//   "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
5167	//   "parameterOrder": [
5168	//     "resource"
5169	//   ],
5170	//   "parameters": {
5171	//     "resource": {
5172	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
5173	//       "location": "path",
5174	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5175	//       "required": true,
5176	//       "type": "string"
5177	//     }
5178	//   },
5179	//   "path": "v1beta1/{+resource}:testIamPermissions",
5180	//   "request": {
5181	//     "$ref": "TestIamPermissionsRequest"
5182	//   },
5183	//   "response": {
5184	//     "$ref": "TestIamPermissionsResponse"
5185	//   },
5186	//   "scopes": [
5187	//     "https://www.googleapis.com/auth/cloud-platform"
5188	//   ]
5189	// }
5190
5191}
5192
5193// method id "datacatalog.projects.locations.entryGroups.entries.tags.create":
5194
5195type ProjectsLocationsEntryGroupsEntriesTagsCreateCall struct {
5196	s                                *Service
5197	parent                           string
5198	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5199	urlParams_                       gensupport.URLParams
5200	ctx_                             context.Context
5201	header_                          http.Header
5202}
5203
5204// Create: Creates a tag on an Entry. Note: The project identified by
5205// the `parent` parameter for the tag
5206// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)
5207// and the tag template
5208// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
5209// used to create the tag must be from the same organization.
5210//
5211// - parent: The name of the resource to attach this tag to. Tags can be
5212//   attached to Entries. Example: *
5213//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5214//   id}/entries/{entry_id} Note that this Tag and its child resources
5215//   may not actually be stored in the location in this name.
5216func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5217	c := &ProjectsLocationsEntryGroupsEntriesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5218	c.parent = parent
5219	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5220	return c
5221}
5222
5223// Fields allows partial responses to be retrieved. See
5224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5225// for more information.
5226func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5228	return c
5229}
5230
5231// Context sets the context to be used in this call's Do method. Any
5232// pending HTTP request will be aborted if the provided context is
5233// canceled.
5234func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
5235	c.ctx_ = ctx
5236	return c
5237}
5238
5239// Header returns an http.Header that can be modified by the caller to
5240// add HTTP headers to the request.
5241func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Header() http.Header {
5242	if c.header_ == nil {
5243		c.header_ = make(http.Header)
5244	}
5245	return c.header_
5246}
5247
5248func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
5249	reqHeaders := make(http.Header)
5250	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5251	for k, v := range c.header_ {
5252		reqHeaders[k] = v
5253	}
5254	reqHeaders.Set("User-Agent", c.s.userAgent())
5255	var body io.Reader = nil
5256	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5257	if err != nil {
5258		return nil, err
5259	}
5260	reqHeaders.Set("Content-Type", "application/json")
5261	c.urlParams_.Set("alt", alt)
5262	c.urlParams_.Set("prettyPrint", "false")
5263	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5264	urls += "?" + c.urlParams_.Encode()
5265	req, err := http.NewRequest("POST", urls, body)
5266	if err != nil {
5267		return nil, err
5268	}
5269	req.Header = reqHeaders
5270	googleapi.Expand(req.URL, map[string]string{
5271		"parent": c.parent,
5272	})
5273	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5274}
5275
5276// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.create" call.
5277// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5278// non-nil. Any non-2xx status code is an error. Response headers are in
5279// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5280// a response was returned at all) in error.(*googleapi.Error).Header.
5281// Use googleapi.IsNotModified to check whether the returned error was
5282// because http.StatusNotModified was returned.
5283func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5284	gensupport.SetOptions(c.urlParams_, opts...)
5285	res, err := c.doRequest("json")
5286	if res != nil && res.StatusCode == http.StatusNotModified {
5287		if res.Body != nil {
5288			res.Body.Close()
5289		}
5290		return nil, &googleapi.Error{
5291			Code:   res.StatusCode,
5292			Header: res.Header,
5293		}
5294	}
5295	if err != nil {
5296		return nil, err
5297	}
5298	defer googleapi.CloseBody(res)
5299	if err := googleapi.CheckResponse(res); err != nil {
5300		return nil, err
5301	}
5302	ret := &GoogleCloudDatacatalogV1beta1Tag{
5303		ServerResponse: googleapi.ServerResponse{
5304			Header:         res.Header,
5305			HTTPStatusCode: res.StatusCode,
5306		},
5307	}
5308	target := &ret
5309	if err := gensupport.DecodeResponse(target, res); err != nil {
5310		return nil, err
5311	}
5312	return ret, nil
5313	// {
5314	//   "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
5315	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
5316	//   "httpMethod": "POST",
5317	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
5318	//   "parameterOrder": [
5319	//     "parent"
5320	//   ],
5321	//   "parameters": {
5322	//     "parent": {
5323	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
5324	//       "location": "path",
5325	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5326	//       "required": true,
5327	//       "type": "string"
5328	//     }
5329	//   },
5330	//   "path": "v1beta1/{+parent}/tags",
5331	//   "request": {
5332	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5333	//   },
5334	//   "response": {
5335	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5336	//   },
5337	//   "scopes": [
5338	//     "https://www.googleapis.com/auth/cloud-platform"
5339	//   ]
5340	// }
5341
5342}
5343
5344// method id "datacatalog.projects.locations.entryGroups.entries.tags.delete":
5345
5346type ProjectsLocationsEntryGroupsEntriesTagsDeleteCall struct {
5347	s          *Service
5348	name       string
5349	urlParams_ gensupport.URLParams
5350	ctx_       context.Context
5351	header_    http.Header
5352}
5353
5354// Delete: Deletes a tag.
5355//
5356// - name: The name of the tag to delete. Example: *
5357//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5358//   id}/entries/{entry_id}/tags/{tag_id}.
5359func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5360	c := &ProjectsLocationsEntryGroupsEntriesTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5361	c.name = name
5362	return c
5363}
5364
5365// Fields allows partial responses to be retrieved. See
5366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5367// for more information.
5368func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5370	return c
5371}
5372
5373// Context sets the context to be used in this call's Do method. Any
5374// pending HTTP request will be aborted if the provided context is
5375// canceled.
5376func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall {
5377	c.ctx_ = ctx
5378	return c
5379}
5380
5381// Header returns an http.Header that can be modified by the caller to
5382// add HTTP headers to the request.
5383func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Header() http.Header {
5384	if c.header_ == nil {
5385		c.header_ = make(http.Header)
5386	}
5387	return c.header_
5388}
5389
5390func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
5391	reqHeaders := make(http.Header)
5392	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5393	for k, v := range c.header_ {
5394		reqHeaders[k] = v
5395	}
5396	reqHeaders.Set("User-Agent", c.s.userAgent())
5397	var body io.Reader = nil
5398	c.urlParams_.Set("alt", alt)
5399	c.urlParams_.Set("prettyPrint", "false")
5400	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5401	urls += "?" + c.urlParams_.Encode()
5402	req, err := http.NewRequest("DELETE", urls, body)
5403	if err != nil {
5404		return nil, err
5405	}
5406	req.Header = reqHeaders
5407	googleapi.Expand(req.URL, map[string]string{
5408		"name": c.name,
5409	})
5410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5411}
5412
5413// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.delete" call.
5414// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5415// code is an error. Response headers are in either
5416// *Empty.ServerResponse.Header or (if a response was returned at all)
5417// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5418// check whether the returned error was because http.StatusNotModified
5419// was returned.
5420func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
5421	gensupport.SetOptions(c.urlParams_, opts...)
5422	res, err := c.doRequest("json")
5423	if res != nil && res.StatusCode == http.StatusNotModified {
5424		if res.Body != nil {
5425			res.Body.Close()
5426		}
5427		return nil, &googleapi.Error{
5428			Code:   res.StatusCode,
5429			Header: res.Header,
5430		}
5431	}
5432	if err != nil {
5433		return nil, err
5434	}
5435	defer googleapi.CloseBody(res)
5436	if err := googleapi.CheckResponse(res); err != nil {
5437		return nil, err
5438	}
5439	ret := &Empty{
5440		ServerResponse: googleapi.ServerResponse{
5441			Header:         res.Header,
5442			HTTPStatusCode: res.StatusCode,
5443		},
5444	}
5445	target := &ret
5446	if err := gensupport.DecodeResponse(target, res); err != nil {
5447		return nil, err
5448	}
5449	return ret, nil
5450	// {
5451	//   "description": "Deletes a tag.",
5452	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
5453	//   "httpMethod": "DELETE",
5454	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.delete",
5455	//   "parameterOrder": [
5456	//     "name"
5457	//   ],
5458	//   "parameters": {
5459	//     "name": {
5460	//       "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
5461	//       "location": "path",
5462	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
5463	//       "required": true,
5464	//       "type": "string"
5465	//     }
5466	//   },
5467	//   "path": "v1beta1/{+name}",
5468	//   "response": {
5469	//     "$ref": "Empty"
5470	//   },
5471	//   "scopes": [
5472	//     "https://www.googleapis.com/auth/cloud-platform"
5473	//   ]
5474	// }
5475
5476}
5477
5478// method id "datacatalog.projects.locations.entryGroups.entries.tags.list":
5479
5480type ProjectsLocationsEntryGroupsEntriesTagsListCall struct {
5481	s            *Service
5482	parent       string
5483	urlParams_   gensupport.URLParams
5484	ifNoneMatch_ string
5485	ctx_         context.Context
5486	header_      http.Header
5487}
5488
5489// List: Lists the tags on an Entry.
5490//
5491// - parent: The name of the Data Catalog resource to list the tags of.
5492//   The resource could be an Entry or an EntryGroup. Examples: *
5493//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5494//   id} *
5495//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5496//   id}/entries/{entry_id}.
5497func (r *ProjectsLocationsEntryGroupsEntriesTagsService) List(parent string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5498	c := &ProjectsLocationsEntryGroupsEntriesTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5499	c.parent = parent
5500	return c
5501}
5502
5503// PageSize sets the optional parameter "pageSize": The maximum number
5504// of tags to return. Default is 10. Max limit is 1000.
5505func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5506	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
5507	return c
5508}
5509
5510// PageToken sets the optional parameter "pageToken": Token that
5511// specifies which page is requested. If empty, the first page is
5512// returned.
5513func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5514	c.urlParams_.Set("pageToken", pageToken)
5515	return c
5516}
5517
5518// Fields allows partial responses to be retrieved. See
5519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5520// for more information.
5521func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5523	return c
5524}
5525
5526// IfNoneMatch sets the optional parameter which makes the operation
5527// fail if the object's ETag matches the given value. This is useful for
5528// getting updates only after the object has changed since the last
5529// request. Use googleapi.IsNotModified to check whether the response
5530// error from Do is the result of In-None-Match.
5531func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5532	c.ifNoneMatch_ = entityTag
5533	return c
5534}
5535
5536// Context sets the context to be used in this call's Do method. Any
5537// pending HTTP request will be aborted if the provided context is
5538// canceled.
5539func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
5540	c.ctx_ = ctx
5541	return c
5542}
5543
5544// Header returns an http.Header that can be modified by the caller to
5545// add HTTP headers to the request.
5546func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Header() http.Header {
5547	if c.header_ == nil {
5548		c.header_ = make(http.Header)
5549	}
5550	return c.header_
5551}
5552
5553func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) doRequest(alt string) (*http.Response, error) {
5554	reqHeaders := make(http.Header)
5555	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5556	for k, v := range c.header_ {
5557		reqHeaders[k] = v
5558	}
5559	reqHeaders.Set("User-Agent", c.s.userAgent())
5560	if c.ifNoneMatch_ != "" {
5561		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5562	}
5563	var body io.Reader = nil
5564	c.urlParams_.Set("alt", alt)
5565	c.urlParams_.Set("prettyPrint", "false")
5566	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5567	urls += "?" + c.urlParams_.Encode()
5568	req, err := http.NewRequest("GET", urls, body)
5569	if err != nil {
5570		return nil, err
5571	}
5572	req.Header = reqHeaders
5573	googleapi.Expand(req.URL, map[string]string{
5574		"parent": c.parent,
5575	})
5576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5577}
5578
5579// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.list" call.
5580// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
5581// error will be non-nil. Any non-2xx status code is an error. Response
5582// headers are in either
5583// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
5584// or (if a response was returned at all) in
5585// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
5586// whether the returned error was because http.StatusNotModified was
5587// returned.
5588func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
5589	gensupport.SetOptions(c.urlParams_, opts...)
5590	res, err := c.doRequest("json")
5591	if res != nil && res.StatusCode == http.StatusNotModified {
5592		if res.Body != nil {
5593			res.Body.Close()
5594		}
5595		return nil, &googleapi.Error{
5596			Code:   res.StatusCode,
5597			Header: res.Header,
5598		}
5599	}
5600	if err != nil {
5601		return nil, err
5602	}
5603	defer googleapi.CloseBody(res)
5604	if err := googleapi.CheckResponse(res); err != nil {
5605		return nil, err
5606	}
5607	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
5608		ServerResponse: googleapi.ServerResponse{
5609			Header:         res.Header,
5610			HTTPStatusCode: res.StatusCode,
5611		},
5612	}
5613	target := &ret
5614	if err := gensupport.DecodeResponse(target, res); err != nil {
5615		return nil, err
5616	}
5617	return ret, nil
5618	// {
5619	//   "description": "Lists the tags on an Entry.",
5620	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
5621	//   "httpMethod": "GET",
5622	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.list",
5623	//   "parameterOrder": [
5624	//     "parent"
5625	//   ],
5626	//   "parameters": {
5627	//     "pageSize": {
5628	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
5629	//       "format": "int32",
5630	//       "location": "query",
5631	//       "type": "integer"
5632	//     },
5633	//     "pageToken": {
5634	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
5635	//       "location": "query",
5636	//       "type": "string"
5637	//     },
5638	//     "parent": {
5639	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
5640	//       "location": "path",
5641	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
5642	//       "required": true,
5643	//       "type": "string"
5644	//     }
5645	//   },
5646	//   "path": "v1beta1/{+parent}/tags",
5647	//   "response": {
5648	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
5649	//   },
5650	//   "scopes": [
5651	//     "https://www.googleapis.com/auth/cloud-platform"
5652	//   ]
5653	// }
5654
5655}
5656
5657// Pages invokes f for each page of results.
5658// A non-nil error returned from f will halt the iteration.
5659// The provided context supersedes any context provided to the Context method.
5660func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
5661	c.ctx_ = ctx
5662	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
5663	for {
5664		x, err := c.Do()
5665		if err != nil {
5666			return err
5667		}
5668		if err := f(x); err != nil {
5669			return err
5670		}
5671		if x.NextPageToken == "" {
5672			return nil
5673		}
5674		c.PageToken(x.NextPageToken)
5675	}
5676}
5677
5678// method id "datacatalog.projects.locations.entryGroups.entries.tags.patch":
5679
5680type ProjectsLocationsEntryGroupsEntriesTagsPatchCall struct {
5681	s                                *Service
5682	nameid                           string
5683	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5684	urlParams_                       gensupport.URLParams
5685	ctx_                             context.Context
5686	header_                          http.Header
5687}
5688
5689// Patch: Updates an existing tag.
5690//
5691// - name: The resource name of the tag in URL format. Example: *
5692//   projects/{project_id}/locations/{location}/entrygroups/{entry_group_
5693//   id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
5694//   system-generated identifier. Note that this Tag may not actually be
5695//   stored in the location in this name.
5696func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5697	c := &ProjectsLocationsEntryGroupsEntriesTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5698	c.nameid = nameid
5699	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5700	return c
5701}
5702
5703// UpdateMask sets the optional parameter "updateMask": Note: Currently,
5704// this parameter can only take "fields" as value. Names of fields
5705// whose values to overwrite on a tag. Currently, a tag has the only
5706// modifiable field with the name `fields`. In general, if this
5707// parameter is absent or empty, all modifiable fields are overwritten.
5708// If such fields are non-required and omitted in the request body,
5709// their values are emptied.
5710func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5711	c.urlParams_.Set("updateMask", updateMask)
5712	return c
5713}
5714
5715// Fields allows partial responses to be retrieved. See
5716// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5717// for more information.
5718func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5719	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5720	return c
5721}
5722
5723// Context sets the context to be used in this call's Do method. Any
5724// pending HTTP request will be aborted if the provided context is
5725// canceled.
5726func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
5727	c.ctx_ = ctx
5728	return c
5729}
5730
5731// Header returns an http.Header that can be modified by the caller to
5732// add HTTP headers to the request.
5733func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Header() http.Header {
5734	if c.header_ == nil {
5735		c.header_ = make(http.Header)
5736	}
5737	return c.header_
5738}
5739
5740func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) doRequest(alt string) (*http.Response, error) {
5741	reqHeaders := make(http.Header)
5742	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5743	for k, v := range c.header_ {
5744		reqHeaders[k] = v
5745	}
5746	reqHeaders.Set("User-Agent", c.s.userAgent())
5747	var body io.Reader = nil
5748	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5749	if err != nil {
5750		return nil, err
5751	}
5752	reqHeaders.Set("Content-Type", "application/json")
5753	c.urlParams_.Set("alt", alt)
5754	c.urlParams_.Set("prettyPrint", "false")
5755	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
5756	urls += "?" + c.urlParams_.Encode()
5757	req, err := http.NewRequest("PATCH", urls, body)
5758	if err != nil {
5759		return nil, err
5760	}
5761	req.Header = reqHeaders
5762	googleapi.Expand(req.URL, map[string]string{
5763		"name": c.nameid,
5764	})
5765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5766}
5767
5768// Do executes the "datacatalog.projects.locations.entryGroups.entries.tags.patch" call.
5769// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5770// non-nil. Any non-2xx status code is an error. Response headers are in
5771// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5772// a response was returned at all) in error.(*googleapi.Error).Header.
5773// Use googleapi.IsNotModified to check whether the returned error was
5774// because http.StatusNotModified was returned.
5775func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5776	gensupport.SetOptions(c.urlParams_, opts...)
5777	res, err := c.doRequest("json")
5778	if res != nil && res.StatusCode == http.StatusNotModified {
5779		if res.Body != nil {
5780			res.Body.Close()
5781		}
5782		return nil, &googleapi.Error{
5783			Code:   res.StatusCode,
5784			Header: res.Header,
5785		}
5786	}
5787	if err != nil {
5788		return nil, err
5789	}
5790	defer googleapi.CloseBody(res)
5791	if err := googleapi.CheckResponse(res); err != nil {
5792		return nil, err
5793	}
5794	ret := &GoogleCloudDatacatalogV1beta1Tag{
5795		ServerResponse: googleapi.ServerResponse{
5796			Header:         res.Header,
5797			HTTPStatusCode: res.StatusCode,
5798		},
5799	}
5800	target := &ret
5801	if err := gensupport.DecodeResponse(target, res); err != nil {
5802		return nil, err
5803	}
5804	return ret, nil
5805	// {
5806	//   "description": "Updates an existing tag.",
5807	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
5808	//   "httpMethod": "PATCH",
5809	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.patch",
5810	//   "parameterOrder": [
5811	//     "name"
5812	//   ],
5813	//   "parameters": {
5814	//     "name": {
5815	//       "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
5816	//       "location": "path",
5817	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
5818	//       "required": true,
5819	//       "type": "string"
5820	//     },
5821	//     "updateMask": {
5822	//       "description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
5823	//       "format": "google-fieldmask",
5824	//       "location": "query",
5825	//       "type": "string"
5826	//     }
5827	//   },
5828	//   "path": "v1beta1/{+name}",
5829	//   "request": {
5830	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5831	//   },
5832	//   "response": {
5833	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5834	//   },
5835	//   "scopes": [
5836	//     "https://www.googleapis.com/auth/cloud-platform"
5837	//   ]
5838	// }
5839
5840}
5841
5842// method id "datacatalog.projects.locations.entryGroups.tags.create":
5843
5844type ProjectsLocationsEntryGroupsTagsCreateCall struct {
5845	s                                *Service
5846	parent                           string
5847	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
5848	urlParams_                       gensupport.URLParams
5849	ctx_                             context.Context
5850	header_                          http.Header
5851}
5852
5853// Create: Creates a tag on an Entry. Note: The project identified by
5854// the `parent` parameter for the tag
5855// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)
5856// and the tag template
5857// (https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
5858// used to create the tag must be from the same organization.
5859//
5860// - parent: The name of the resource to attach this tag to. Tags can be
5861//   attached to Entries. Example: *
5862//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
5863//   id}/entries/{entry_id} Note that this Tag and its child resources
5864//   may not actually be stored in the location in this name.
5865func (r *ProjectsLocationsEntryGroupsTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsCreateCall {
5866	c := &ProjectsLocationsEntryGroupsTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5867	c.parent = parent
5868	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
5869	return c
5870}
5871
5872// Fields allows partial responses to be retrieved. See
5873// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5874// for more information.
5875func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsCreateCall {
5876	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5877	return c
5878}
5879
5880// Context sets the context to be used in this call's Do method. Any
5881// pending HTTP request will be aborted if the provided context is
5882// canceled.
5883func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsCreateCall {
5884	c.ctx_ = ctx
5885	return c
5886}
5887
5888// Header returns an http.Header that can be modified by the caller to
5889// add HTTP headers to the request.
5890func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Header() http.Header {
5891	if c.header_ == nil {
5892		c.header_ = make(http.Header)
5893	}
5894	return c.header_
5895}
5896
5897func (c *ProjectsLocationsEntryGroupsTagsCreateCall) doRequest(alt string) (*http.Response, error) {
5898	reqHeaders := make(http.Header)
5899	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
5900	for k, v := range c.header_ {
5901		reqHeaders[k] = v
5902	}
5903	reqHeaders.Set("User-Agent", c.s.userAgent())
5904	var body io.Reader = nil
5905	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
5906	if err != nil {
5907		return nil, err
5908	}
5909	reqHeaders.Set("Content-Type", "application/json")
5910	c.urlParams_.Set("alt", alt)
5911	c.urlParams_.Set("prettyPrint", "false")
5912	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
5913	urls += "?" + c.urlParams_.Encode()
5914	req, err := http.NewRequest("POST", urls, body)
5915	if err != nil {
5916		return nil, err
5917	}
5918	req.Header = reqHeaders
5919	googleapi.Expand(req.URL, map[string]string{
5920		"parent": c.parent,
5921	})
5922	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5923}
5924
5925// Do executes the "datacatalog.projects.locations.entryGroups.tags.create" call.
5926// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
5927// non-nil. Any non-2xx status code is an error. Response headers are in
5928// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
5929// a response was returned at all) in error.(*googleapi.Error).Header.
5930// Use googleapi.IsNotModified to check whether the returned error was
5931// because http.StatusNotModified was returned.
5932func (c *ProjectsLocationsEntryGroupsTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
5933	gensupport.SetOptions(c.urlParams_, opts...)
5934	res, err := c.doRequest("json")
5935	if res != nil && res.StatusCode == http.StatusNotModified {
5936		if res.Body != nil {
5937			res.Body.Close()
5938		}
5939		return nil, &googleapi.Error{
5940			Code:   res.StatusCode,
5941			Header: res.Header,
5942		}
5943	}
5944	if err != nil {
5945		return nil, err
5946	}
5947	defer googleapi.CloseBody(res)
5948	if err := googleapi.CheckResponse(res); err != nil {
5949		return nil, err
5950	}
5951	ret := &GoogleCloudDatacatalogV1beta1Tag{
5952		ServerResponse: googleapi.ServerResponse{
5953			Header:         res.Header,
5954			HTTPStatusCode: res.StatusCode,
5955		},
5956	}
5957	target := &ret
5958	if err := gensupport.DecodeResponse(target, res); err != nil {
5959		return nil, err
5960	}
5961	return ret, nil
5962	// {
5963	//   "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
5964	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
5965	//   "httpMethod": "POST",
5966	//   "id": "datacatalog.projects.locations.entryGroups.tags.create",
5967	//   "parameterOrder": [
5968	//     "parent"
5969	//   ],
5970	//   "parameters": {
5971	//     "parent": {
5972	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
5973	//       "location": "path",
5974	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
5975	//       "required": true,
5976	//       "type": "string"
5977	//     }
5978	//   },
5979	//   "path": "v1beta1/{+parent}/tags",
5980	//   "request": {
5981	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5982	//   },
5983	//   "response": {
5984	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
5985	//   },
5986	//   "scopes": [
5987	//     "https://www.googleapis.com/auth/cloud-platform"
5988	//   ]
5989	// }
5990
5991}
5992
5993// method id "datacatalog.projects.locations.entryGroups.tags.delete":
5994
5995type ProjectsLocationsEntryGroupsTagsDeleteCall struct {
5996	s          *Service
5997	name       string
5998	urlParams_ gensupport.URLParams
5999	ctx_       context.Context
6000	header_    http.Header
6001}
6002
6003// Delete: Deletes a tag.
6004//
6005// - name: The name of the tag to delete. Example: *
6006//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6007//   id}/entries/{entry_id}/tags/{tag_id}.
6008func (r *ProjectsLocationsEntryGroupsTagsService) Delete(name string) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6009	c := &ProjectsLocationsEntryGroupsTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6010	c.name = name
6011	return c
6012}
6013
6014// Fields allows partial responses to be retrieved. See
6015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6016// for more information.
6017func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6019	return c
6020}
6021
6022// Context sets the context to be used in this call's Do method. Any
6023// pending HTTP request will be aborted if the provided context is
6024// canceled.
6025func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsDeleteCall {
6026	c.ctx_ = ctx
6027	return c
6028}
6029
6030// Header returns an http.Header that can be modified by the caller to
6031// add HTTP headers to the request.
6032func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Header() http.Header {
6033	if c.header_ == nil {
6034		c.header_ = make(http.Header)
6035	}
6036	return c.header_
6037}
6038
6039func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
6040	reqHeaders := make(http.Header)
6041	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6042	for k, v := range c.header_ {
6043		reqHeaders[k] = v
6044	}
6045	reqHeaders.Set("User-Agent", c.s.userAgent())
6046	var body io.Reader = nil
6047	c.urlParams_.Set("alt", alt)
6048	c.urlParams_.Set("prettyPrint", "false")
6049	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6050	urls += "?" + c.urlParams_.Encode()
6051	req, err := http.NewRequest("DELETE", urls, body)
6052	if err != nil {
6053		return nil, err
6054	}
6055	req.Header = reqHeaders
6056	googleapi.Expand(req.URL, map[string]string{
6057		"name": c.name,
6058	})
6059	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6060}
6061
6062// Do executes the "datacatalog.projects.locations.entryGroups.tags.delete" call.
6063// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6064// code is an error. Response headers are in either
6065// *Empty.ServerResponse.Header or (if a response was returned at all)
6066// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6067// check whether the returned error was because http.StatusNotModified
6068// was returned.
6069func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6070	gensupport.SetOptions(c.urlParams_, opts...)
6071	res, err := c.doRequest("json")
6072	if res != nil && res.StatusCode == http.StatusNotModified {
6073		if res.Body != nil {
6074			res.Body.Close()
6075		}
6076		return nil, &googleapi.Error{
6077			Code:   res.StatusCode,
6078			Header: res.Header,
6079		}
6080	}
6081	if err != nil {
6082		return nil, err
6083	}
6084	defer googleapi.CloseBody(res)
6085	if err := googleapi.CheckResponse(res); err != nil {
6086		return nil, err
6087	}
6088	ret := &Empty{
6089		ServerResponse: googleapi.ServerResponse{
6090			Header:         res.Header,
6091			HTTPStatusCode: res.StatusCode,
6092		},
6093	}
6094	target := &ret
6095	if err := gensupport.DecodeResponse(target, res); err != nil {
6096		return nil, err
6097	}
6098	return ret, nil
6099	// {
6100	//   "description": "Deletes a tag.",
6101	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6102	//   "httpMethod": "DELETE",
6103	//   "id": "datacatalog.projects.locations.entryGroups.tags.delete",
6104	//   "parameterOrder": [
6105	//     "name"
6106	//   ],
6107	//   "parameters": {
6108	//     "name": {
6109	//       "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
6110	//       "location": "path",
6111	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6112	//       "required": true,
6113	//       "type": "string"
6114	//     }
6115	//   },
6116	//   "path": "v1beta1/{+name}",
6117	//   "response": {
6118	//     "$ref": "Empty"
6119	//   },
6120	//   "scopes": [
6121	//     "https://www.googleapis.com/auth/cloud-platform"
6122	//   ]
6123	// }
6124
6125}
6126
6127// method id "datacatalog.projects.locations.entryGroups.tags.list":
6128
6129type ProjectsLocationsEntryGroupsTagsListCall struct {
6130	s            *Service
6131	parent       string
6132	urlParams_   gensupport.URLParams
6133	ifNoneMatch_ string
6134	ctx_         context.Context
6135	header_      http.Header
6136}
6137
6138// List: Lists the tags on an Entry.
6139//
6140// - parent: The name of the Data Catalog resource to list the tags of.
6141//   The resource could be an Entry or an EntryGroup. Examples: *
6142//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6143//   id} *
6144//   projects/{project_id}/locations/{location}/entryGroups/{entry_group_
6145//   id}/entries/{entry_id}.
6146func (r *ProjectsLocationsEntryGroupsTagsService) List(parent string) *ProjectsLocationsEntryGroupsTagsListCall {
6147	c := &ProjectsLocationsEntryGroupsTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6148	c.parent = parent
6149	return c
6150}
6151
6152// PageSize sets the optional parameter "pageSize": The maximum number
6153// of tags to return. Default is 10. Max limit is 1000.
6154func (c *ProjectsLocationsEntryGroupsTagsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsTagsListCall {
6155	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
6156	return c
6157}
6158
6159// PageToken sets the optional parameter "pageToken": Token that
6160// specifies which page is requested. If empty, the first page is
6161// returned.
6162func (c *ProjectsLocationsEntryGroupsTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsTagsListCall {
6163	c.urlParams_.Set("pageToken", pageToken)
6164	return c
6165}
6166
6167// Fields allows partial responses to be retrieved. See
6168// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6169// for more information.
6170func (c *ProjectsLocationsEntryGroupsTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsListCall {
6171	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6172	return c
6173}
6174
6175// IfNoneMatch sets the optional parameter which makes the operation
6176// fail if the object's ETag matches the given value. This is useful for
6177// getting updates only after the object has changed since the last
6178// request. Use googleapi.IsNotModified to check whether the response
6179// error from Do is the result of In-None-Match.
6180func (c *ProjectsLocationsEntryGroupsTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntryGroupsTagsListCall {
6181	c.ifNoneMatch_ = entityTag
6182	return c
6183}
6184
6185// Context sets the context to be used in this call's Do method. Any
6186// pending HTTP request will be aborted if the provided context is
6187// canceled.
6188func (c *ProjectsLocationsEntryGroupsTagsListCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsListCall {
6189	c.ctx_ = ctx
6190	return c
6191}
6192
6193// Header returns an http.Header that can be modified by the caller to
6194// add HTTP headers to the request.
6195func (c *ProjectsLocationsEntryGroupsTagsListCall) Header() http.Header {
6196	if c.header_ == nil {
6197		c.header_ = make(http.Header)
6198	}
6199	return c.header_
6200}
6201
6202func (c *ProjectsLocationsEntryGroupsTagsListCall) doRequest(alt string) (*http.Response, error) {
6203	reqHeaders := make(http.Header)
6204	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6205	for k, v := range c.header_ {
6206		reqHeaders[k] = v
6207	}
6208	reqHeaders.Set("User-Agent", c.s.userAgent())
6209	if c.ifNoneMatch_ != "" {
6210		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6211	}
6212	var body io.Reader = nil
6213	c.urlParams_.Set("alt", alt)
6214	c.urlParams_.Set("prettyPrint", "false")
6215	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tags")
6216	urls += "?" + c.urlParams_.Encode()
6217	req, err := http.NewRequest("GET", urls, body)
6218	if err != nil {
6219		return nil, err
6220	}
6221	req.Header = reqHeaders
6222	googleapi.Expand(req.URL, map[string]string{
6223		"parent": c.parent,
6224	})
6225	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6226}
6227
6228// Do executes the "datacatalog.projects.locations.entryGroups.tags.list" call.
6229// Exactly one of *GoogleCloudDatacatalogV1beta1ListTagsResponse or
6230// error will be non-nil. Any non-2xx status code is an error. Response
6231// headers are in either
6232// *GoogleCloudDatacatalogV1beta1ListTagsResponse.ServerResponse.Header
6233// or (if a response was returned at all) in
6234// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6235// whether the returned error was because http.StatusNotModified was
6236// returned.
6237func (c *ProjectsLocationsEntryGroupsTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTagsResponse, error) {
6238	gensupport.SetOptions(c.urlParams_, opts...)
6239	res, err := c.doRequest("json")
6240	if res != nil && res.StatusCode == http.StatusNotModified {
6241		if res.Body != nil {
6242			res.Body.Close()
6243		}
6244		return nil, &googleapi.Error{
6245			Code:   res.StatusCode,
6246			Header: res.Header,
6247		}
6248	}
6249	if err != nil {
6250		return nil, err
6251	}
6252	defer googleapi.CloseBody(res)
6253	if err := googleapi.CheckResponse(res); err != nil {
6254		return nil, err
6255	}
6256	ret := &GoogleCloudDatacatalogV1beta1ListTagsResponse{
6257		ServerResponse: googleapi.ServerResponse{
6258			Header:         res.Header,
6259			HTTPStatusCode: res.StatusCode,
6260		},
6261	}
6262	target := &ret
6263	if err := gensupport.DecodeResponse(target, res); err != nil {
6264		return nil, err
6265	}
6266	return ret, nil
6267	// {
6268	//   "description": "Lists the tags on an Entry.",
6269	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
6270	//   "httpMethod": "GET",
6271	//   "id": "datacatalog.projects.locations.entryGroups.tags.list",
6272	//   "parameterOrder": [
6273	//     "parent"
6274	//   ],
6275	//   "parameters": {
6276	//     "pageSize": {
6277	//       "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
6278	//       "format": "int32",
6279	//       "location": "query",
6280	//       "type": "integer"
6281	//     },
6282	//     "pageToken": {
6283	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
6284	//       "location": "query",
6285	//       "type": "string"
6286	//     },
6287	//     "parent": {
6288	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
6289	//       "location": "path",
6290	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
6291	//       "required": true,
6292	//       "type": "string"
6293	//     }
6294	//   },
6295	//   "path": "v1beta1/{+parent}/tags",
6296	//   "response": {
6297	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
6298	//   },
6299	//   "scopes": [
6300	//     "https://www.googleapis.com/auth/cloud-platform"
6301	//   ]
6302	// }
6303
6304}
6305
6306// Pages invokes f for each page of results.
6307// A non-nil error returned from f will halt the iteration.
6308// The provided context supersedes any context provided to the Context method.
6309func (c *ProjectsLocationsEntryGroupsTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTagsResponse) error) error {
6310	c.ctx_ = ctx
6311	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
6312	for {
6313		x, err := c.Do()
6314		if err != nil {
6315			return err
6316		}
6317		if err := f(x); err != nil {
6318			return err
6319		}
6320		if x.NextPageToken == "" {
6321			return nil
6322		}
6323		c.PageToken(x.NextPageToken)
6324	}
6325}
6326
6327// method id "datacatalog.projects.locations.entryGroups.tags.patch":
6328
6329type ProjectsLocationsEntryGroupsTagsPatchCall struct {
6330	s                                *Service
6331	nameid                           string
6332	googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag
6333	urlParams_                       gensupport.URLParams
6334	ctx_                             context.Context
6335	header_                          http.Header
6336}
6337
6338// Patch: Updates an existing tag.
6339//
6340// - name: The resource name of the tag in URL format. Example: *
6341//   projects/{project_id}/locations/{location}/entrygroups/{entry_group_
6342//   id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
6343//   system-generated identifier. Note that this Tag may not actually be
6344//   stored in the location in this name.
6345func (r *ProjectsLocationsEntryGroupsTagsService) Patch(nameid string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsPatchCall {
6346	c := &ProjectsLocationsEntryGroupsTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6347	c.nameid = nameid
6348	c.googleclouddatacatalogv1beta1tag = googleclouddatacatalogv1beta1tag
6349	return c
6350}
6351
6352// UpdateMask sets the optional parameter "updateMask": Note: Currently,
6353// this parameter can only take "fields" as value. Names of fields
6354// whose values to overwrite on a tag. Currently, a tag has the only
6355// modifiable field with the name `fields`. In general, if this
6356// parameter is absent or empty, all modifiable fields are overwritten.
6357// If such fields are non-required and omitted in the request body,
6358// their values are emptied.
6359func (c *ProjectsLocationsEntryGroupsTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsTagsPatchCall {
6360	c.urlParams_.Set("updateMask", updateMask)
6361	return c
6362}
6363
6364// Fields allows partial responses to be retrieved. See
6365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6366// for more information.
6367func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntryGroupsTagsPatchCall {
6368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6369	return c
6370}
6371
6372// Context sets the context to be used in this call's Do method. Any
6373// pending HTTP request will be aborted if the provided context is
6374// canceled.
6375func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsEntryGroupsTagsPatchCall {
6376	c.ctx_ = ctx
6377	return c
6378}
6379
6380// Header returns an http.Header that can be modified by the caller to
6381// add HTTP headers to the request.
6382func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Header() http.Header {
6383	if c.header_ == nil {
6384		c.header_ = make(http.Header)
6385	}
6386	return c.header_
6387}
6388
6389func (c *ProjectsLocationsEntryGroupsTagsPatchCall) doRequest(alt string) (*http.Response, error) {
6390	reqHeaders := make(http.Header)
6391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6392	for k, v := range c.header_ {
6393		reqHeaders[k] = v
6394	}
6395	reqHeaders.Set("User-Agent", c.s.userAgent())
6396	var body io.Reader = nil
6397	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tag)
6398	if err != nil {
6399		return nil, err
6400	}
6401	reqHeaders.Set("Content-Type", "application/json")
6402	c.urlParams_.Set("alt", alt)
6403	c.urlParams_.Set("prettyPrint", "false")
6404	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6405	urls += "?" + c.urlParams_.Encode()
6406	req, err := http.NewRequest("PATCH", urls, body)
6407	if err != nil {
6408		return nil, err
6409	}
6410	req.Header = reqHeaders
6411	googleapi.Expand(req.URL, map[string]string{
6412		"name": c.nameid,
6413	})
6414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6415}
6416
6417// Do executes the "datacatalog.projects.locations.entryGroups.tags.patch" call.
6418// Exactly one of *GoogleCloudDatacatalogV1beta1Tag or error will be
6419// non-nil. Any non-2xx status code is an error. Response headers are in
6420// either *GoogleCloudDatacatalogV1beta1Tag.ServerResponse.Header or (if
6421// a response was returned at all) in error.(*googleapi.Error).Header.
6422// Use googleapi.IsNotModified to check whether the returned error was
6423// because http.StatusNotModified was returned.
6424func (c *ProjectsLocationsEntryGroupsTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Tag, error) {
6425	gensupport.SetOptions(c.urlParams_, opts...)
6426	res, err := c.doRequest("json")
6427	if res != nil && res.StatusCode == http.StatusNotModified {
6428		if res.Body != nil {
6429			res.Body.Close()
6430		}
6431		return nil, &googleapi.Error{
6432			Code:   res.StatusCode,
6433			Header: res.Header,
6434		}
6435	}
6436	if err != nil {
6437		return nil, err
6438	}
6439	defer googleapi.CloseBody(res)
6440	if err := googleapi.CheckResponse(res); err != nil {
6441		return nil, err
6442	}
6443	ret := &GoogleCloudDatacatalogV1beta1Tag{
6444		ServerResponse: googleapi.ServerResponse{
6445			Header:         res.Header,
6446			HTTPStatusCode: res.StatusCode,
6447		},
6448	}
6449	target := &ret
6450	if err := gensupport.DecodeResponse(target, res); err != nil {
6451		return nil, err
6452	}
6453	return ret, nil
6454	// {
6455	//   "description": "Updates an existing tag.",
6456	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
6457	//   "httpMethod": "PATCH",
6458	//   "id": "datacatalog.projects.locations.entryGroups.tags.patch",
6459	//   "parameterOrder": [
6460	//     "name"
6461	//   ],
6462	//   "parameters": {
6463	//     "name": {
6464	//       "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
6465	//       "location": "path",
6466	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
6467	//       "required": true,
6468	//       "type": "string"
6469	//     },
6470	//     "updateMask": {
6471	//       "description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
6472	//       "format": "google-fieldmask",
6473	//       "location": "query",
6474	//       "type": "string"
6475	//     }
6476	//   },
6477	//   "path": "v1beta1/{+name}",
6478	//   "request": {
6479	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6480	//   },
6481	//   "response": {
6482	//     "$ref": "GoogleCloudDatacatalogV1beta1Tag"
6483	//   },
6484	//   "scopes": [
6485	//     "https://www.googleapis.com/auth/cloud-platform"
6486	//   ]
6487	// }
6488
6489}
6490
6491// method id "datacatalog.projects.locations.tagTemplates.create":
6492
6493type ProjectsLocationsTagTemplatesCreateCall struct {
6494	s                                        *Service
6495	parent                                   string
6496	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
6497	urlParams_                               gensupport.URLParams
6498	ctx_                                     context.Context
6499	header_                                  http.Header
6500}
6501
6502// Create: Creates a tag template. The user should enable the Data
6503// Catalog API in the project identified by the `parent` parameter (see
6504// Data Catalog Resource Project
6505// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
6506// for more information).
6507//
6508// - parent: The name of the project and the template location
6509//   [region](https://cloud.google.com/data-catalog/docs/concepts/regions
6510//   . Example: * projects/{project_id}/locations/us-central1.
6511func (r *ProjectsLocationsTagTemplatesService) Create(parent string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesCreateCall {
6512	c := &ProjectsLocationsTagTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6513	c.parent = parent
6514	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
6515	return c
6516}
6517
6518// TagTemplateId sets the optional parameter "tagTemplateId": Required.
6519// The id of the tag template to create.
6520func (c *ProjectsLocationsTagTemplatesCreateCall) TagTemplateId(tagTemplateId string) *ProjectsLocationsTagTemplatesCreateCall {
6521	c.urlParams_.Set("tagTemplateId", tagTemplateId)
6522	return c
6523}
6524
6525// Fields allows partial responses to be retrieved. See
6526// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6527// for more information.
6528func (c *ProjectsLocationsTagTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesCreateCall {
6529	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6530	return c
6531}
6532
6533// Context sets the context to be used in this call's Do method. Any
6534// pending HTTP request will be aborted if the provided context is
6535// canceled.
6536func (c *ProjectsLocationsTagTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesCreateCall {
6537	c.ctx_ = ctx
6538	return c
6539}
6540
6541// Header returns an http.Header that can be modified by the caller to
6542// add HTTP headers to the request.
6543func (c *ProjectsLocationsTagTemplatesCreateCall) Header() http.Header {
6544	if c.header_ == nil {
6545		c.header_ = make(http.Header)
6546	}
6547	return c.header_
6548}
6549
6550func (c *ProjectsLocationsTagTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
6551	reqHeaders := make(http.Header)
6552	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6553	for k, v := range c.header_ {
6554		reqHeaders[k] = v
6555	}
6556	reqHeaders.Set("User-Agent", c.s.userAgent())
6557	var body io.Reader = nil
6558	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
6559	if err != nil {
6560		return nil, err
6561	}
6562	reqHeaders.Set("Content-Type", "application/json")
6563	c.urlParams_.Set("alt", alt)
6564	c.urlParams_.Set("prettyPrint", "false")
6565	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/tagTemplates")
6566	urls += "?" + c.urlParams_.Encode()
6567	req, err := http.NewRequest("POST", urls, body)
6568	if err != nil {
6569		return nil, err
6570	}
6571	req.Header = reqHeaders
6572	googleapi.Expand(req.URL, map[string]string{
6573		"parent": c.parent,
6574	})
6575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6576}
6577
6578// Do executes the "datacatalog.projects.locations.tagTemplates.create" call.
6579// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
6580// will be non-nil. Any non-2xx status code is an error. Response
6581// headers are in either
6582// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
6583// (if a response was returned at all) in
6584// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6585// whether the returned error was because http.StatusNotModified was
6586// returned.
6587func (c *ProjectsLocationsTagTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
6588	gensupport.SetOptions(c.urlParams_, opts...)
6589	res, err := c.doRequest("json")
6590	if res != nil && res.StatusCode == http.StatusNotModified {
6591		if res.Body != nil {
6592			res.Body.Close()
6593		}
6594		return nil, &googleapi.Error{
6595			Code:   res.StatusCode,
6596			Header: res.Header,
6597		}
6598	}
6599	if err != nil {
6600		return nil, err
6601	}
6602	defer googleapi.CloseBody(res)
6603	if err := googleapi.CheckResponse(res); err != nil {
6604		return nil, err
6605	}
6606	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
6607		ServerResponse: googleapi.ServerResponse{
6608			Header:         res.Header,
6609			HTTPStatusCode: res.StatusCode,
6610		},
6611	}
6612	target := &ret
6613	if err := gensupport.DecodeResponse(target, res); err != nil {
6614		return nil, err
6615	}
6616	return ret, nil
6617	// {
6618	//   "description": "Creates a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
6619	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
6620	//   "httpMethod": "POST",
6621	//   "id": "datacatalog.projects.locations.tagTemplates.create",
6622	//   "parameterOrder": [
6623	//     "parent"
6624	//   ],
6625	//   "parameters": {
6626	//     "parent": {
6627	//       "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1",
6628	//       "location": "path",
6629	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
6630	//       "required": true,
6631	//       "type": "string"
6632	//     },
6633	//     "tagTemplateId": {
6634	//       "description": "Required. The id of the tag template to create.",
6635	//       "location": "query",
6636	//       "type": "string"
6637	//     }
6638	//   },
6639	//   "path": "v1beta1/{+parent}/tagTemplates",
6640	//   "request": {
6641	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
6642	//   },
6643	//   "response": {
6644	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
6645	//   },
6646	//   "scopes": [
6647	//     "https://www.googleapis.com/auth/cloud-platform"
6648	//   ]
6649	// }
6650
6651}
6652
6653// method id "datacatalog.projects.locations.tagTemplates.delete":
6654
6655type ProjectsLocationsTagTemplatesDeleteCall struct {
6656	s          *Service
6657	name       string
6658	urlParams_ gensupport.URLParams
6659	ctx_       context.Context
6660	header_    http.Header
6661}
6662
6663// Delete: Deletes a tag template and all tags using the template. Users
6664// should enable the Data Catalog API in the project identified by the
6665// `name` parameter (see [Data Catalog Resource Project]
6666// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
6667// for more information).
6668//
6669// - name: The name of the tag template to delete. Example: *
6670//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
6671//   e_id}.
6672func (r *ProjectsLocationsTagTemplatesService) Delete(name string) *ProjectsLocationsTagTemplatesDeleteCall {
6673	c := &ProjectsLocationsTagTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6674	c.name = name
6675	return c
6676}
6677
6678// Force sets the optional parameter "force": Required. Currently, this
6679// field must always be set to `true`. This confirms the deletion of any
6680// possible tags using this template. `force = false` will be supported
6681// in the future.
6682func (c *ProjectsLocationsTagTemplatesDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesDeleteCall {
6683	c.urlParams_.Set("force", fmt.Sprint(force))
6684	return c
6685}
6686
6687// Fields allows partial responses to be retrieved. See
6688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6689// for more information.
6690func (c *ProjectsLocationsTagTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesDeleteCall {
6691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6692	return c
6693}
6694
6695// Context sets the context to be used in this call's Do method. Any
6696// pending HTTP request will be aborted if the provided context is
6697// canceled.
6698func (c *ProjectsLocationsTagTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesDeleteCall {
6699	c.ctx_ = ctx
6700	return c
6701}
6702
6703// Header returns an http.Header that can be modified by the caller to
6704// add HTTP headers to the request.
6705func (c *ProjectsLocationsTagTemplatesDeleteCall) Header() http.Header {
6706	if c.header_ == nil {
6707		c.header_ = make(http.Header)
6708	}
6709	return c.header_
6710}
6711
6712func (c *ProjectsLocationsTagTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
6713	reqHeaders := make(http.Header)
6714	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6715	for k, v := range c.header_ {
6716		reqHeaders[k] = v
6717	}
6718	reqHeaders.Set("User-Agent", c.s.userAgent())
6719	var body io.Reader = nil
6720	c.urlParams_.Set("alt", alt)
6721	c.urlParams_.Set("prettyPrint", "false")
6722	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6723	urls += "?" + c.urlParams_.Encode()
6724	req, err := http.NewRequest("DELETE", urls, body)
6725	if err != nil {
6726		return nil, err
6727	}
6728	req.Header = reqHeaders
6729	googleapi.Expand(req.URL, map[string]string{
6730		"name": c.name,
6731	})
6732	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6733}
6734
6735// Do executes the "datacatalog.projects.locations.tagTemplates.delete" call.
6736// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6737// code is an error. Response headers are in either
6738// *Empty.ServerResponse.Header or (if a response was returned at all)
6739// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6740// check whether the returned error was because http.StatusNotModified
6741// was returned.
6742func (c *ProjectsLocationsTagTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6743	gensupport.SetOptions(c.urlParams_, opts...)
6744	res, err := c.doRequest("json")
6745	if res != nil && res.StatusCode == http.StatusNotModified {
6746		if res.Body != nil {
6747			res.Body.Close()
6748		}
6749		return nil, &googleapi.Error{
6750			Code:   res.StatusCode,
6751			Header: res.Header,
6752		}
6753	}
6754	if err != nil {
6755		return nil, err
6756	}
6757	defer googleapi.CloseBody(res)
6758	if err := googleapi.CheckResponse(res); err != nil {
6759		return nil, err
6760	}
6761	ret := &Empty{
6762		ServerResponse: googleapi.ServerResponse{
6763			Header:         res.Header,
6764			HTTPStatusCode: res.StatusCode,
6765		},
6766	}
6767	target := &ret
6768	if err := gensupport.DecodeResponse(target, res); err != nil {
6769		return nil, err
6770	}
6771	return ret, nil
6772	// {
6773	//   "description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
6774	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
6775	//   "httpMethod": "DELETE",
6776	//   "id": "datacatalog.projects.locations.tagTemplates.delete",
6777	//   "parameterOrder": [
6778	//     "name"
6779	//   ],
6780	//   "parameters": {
6781	//     "force": {
6782	//       "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of any possible tags using this template. `force = false` will be supported in the future.",
6783	//       "location": "query",
6784	//       "type": "boolean"
6785	//     },
6786	//     "name": {
6787	//       "description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
6788	//       "location": "path",
6789	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
6790	//       "required": true,
6791	//       "type": "string"
6792	//     }
6793	//   },
6794	//   "path": "v1beta1/{+name}",
6795	//   "response": {
6796	//     "$ref": "Empty"
6797	//   },
6798	//   "scopes": [
6799	//     "https://www.googleapis.com/auth/cloud-platform"
6800	//   ]
6801	// }
6802
6803}
6804
6805// method id "datacatalog.projects.locations.tagTemplates.get":
6806
6807type ProjectsLocationsTagTemplatesGetCall struct {
6808	s            *Service
6809	name         string
6810	urlParams_   gensupport.URLParams
6811	ifNoneMatch_ string
6812	ctx_         context.Context
6813	header_      http.Header
6814}
6815
6816// Get: Gets a tag template.
6817//
6818// - name: The name of the tag template. Example: *
6819//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
6820//   e_id}.
6821func (r *ProjectsLocationsTagTemplatesService) Get(name string) *ProjectsLocationsTagTemplatesGetCall {
6822	c := &ProjectsLocationsTagTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6823	c.name = name
6824	return c
6825}
6826
6827// Fields allows partial responses to be retrieved. See
6828// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6829// for more information.
6830func (c *ProjectsLocationsTagTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetCall {
6831	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6832	return c
6833}
6834
6835// IfNoneMatch sets the optional parameter which makes the operation
6836// fail if the object's ETag matches the given value. This is useful for
6837// getting updates only after the object has changed since the last
6838// request. Use googleapi.IsNotModified to check whether the response
6839// error from Do is the result of In-None-Match.
6840func (c *ProjectsLocationsTagTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTagTemplatesGetCall {
6841	c.ifNoneMatch_ = entityTag
6842	return c
6843}
6844
6845// Context sets the context to be used in this call's Do method. Any
6846// pending HTTP request will be aborted if the provided context is
6847// canceled.
6848func (c *ProjectsLocationsTagTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetCall {
6849	c.ctx_ = ctx
6850	return c
6851}
6852
6853// Header returns an http.Header that can be modified by the caller to
6854// add HTTP headers to the request.
6855func (c *ProjectsLocationsTagTemplatesGetCall) Header() http.Header {
6856	if c.header_ == nil {
6857		c.header_ = make(http.Header)
6858	}
6859	return c.header_
6860}
6861
6862func (c *ProjectsLocationsTagTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
6863	reqHeaders := make(http.Header)
6864	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
6865	for k, v := range c.header_ {
6866		reqHeaders[k] = v
6867	}
6868	reqHeaders.Set("User-Agent", c.s.userAgent())
6869	if c.ifNoneMatch_ != "" {
6870		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6871	}
6872	var body io.Reader = nil
6873	c.urlParams_.Set("alt", alt)
6874	c.urlParams_.Set("prettyPrint", "false")
6875	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
6876	urls += "?" + c.urlParams_.Encode()
6877	req, err := http.NewRequest("GET", urls, body)
6878	if err != nil {
6879		return nil, err
6880	}
6881	req.Header = reqHeaders
6882	googleapi.Expand(req.URL, map[string]string{
6883		"name": c.name,
6884	})
6885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6886}
6887
6888// Do executes the "datacatalog.projects.locations.tagTemplates.get" call.
6889// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
6890// will be non-nil. Any non-2xx status code is an error. Response
6891// headers are in either
6892// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
6893// (if a response was returned at all) in
6894// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
6895// whether the returned error was because http.StatusNotModified was
6896// returned.
6897func (c *ProjectsLocationsTagTemplatesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
6898	gensupport.SetOptions(c.urlParams_, opts...)
6899	res, err := c.doRequest("json")
6900	if res != nil && res.StatusCode == http.StatusNotModified {
6901		if res.Body != nil {
6902			res.Body.Close()
6903		}
6904		return nil, &googleapi.Error{
6905			Code:   res.StatusCode,
6906			Header: res.Header,
6907		}
6908	}
6909	if err != nil {
6910		return nil, err
6911	}
6912	defer googleapi.CloseBody(res)
6913	if err := googleapi.CheckResponse(res); err != nil {
6914		return nil, err
6915	}
6916	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
6917		ServerResponse: googleapi.ServerResponse{
6918			Header:         res.Header,
6919			HTTPStatusCode: res.StatusCode,
6920		},
6921	}
6922	target := &ret
6923	if err := gensupport.DecodeResponse(target, res); err != nil {
6924		return nil, err
6925	}
6926	return ret, nil
6927	// {
6928	//   "description": "Gets a tag template.",
6929	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
6930	//   "httpMethod": "GET",
6931	//   "id": "datacatalog.projects.locations.tagTemplates.get",
6932	//   "parameterOrder": [
6933	//     "name"
6934	//   ],
6935	//   "parameters": {
6936	//     "name": {
6937	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
6938	//       "location": "path",
6939	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
6940	//       "required": true,
6941	//       "type": "string"
6942	//     }
6943	//   },
6944	//   "path": "v1beta1/{+name}",
6945	//   "response": {
6946	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
6947	//   },
6948	//   "scopes": [
6949	//     "https://www.googleapis.com/auth/cloud-platform"
6950	//   ]
6951	// }
6952
6953}
6954
6955// method id "datacatalog.projects.locations.tagTemplates.getIamPolicy":
6956
6957type ProjectsLocationsTagTemplatesGetIamPolicyCall struct {
6958	s                   *Service
6959	resource            string
6960	getiampolicyrequest *GetIamPolicyRequest
6961	urlParams_          gensupport.URLParams
6962	ctx_                context.Context
6963	header_             http.Header
6964}
6965
6966// GetIamPolicy: Gets the access control policy for a resource. A
6967// `NOT_FOUND` error is returned if the resource does not exist. An
6968// empty policy is returned if the resource exists but does not have a
6969// policy set on it. Supported resources are: - Tag templates. -
6970// Entries. - Entry groups. Note, this method cannot be used to manage
6971// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
6972// resources synced to Data Catalog. Callers must have following Google
6973// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
6974// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
6975// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
6976// get policies on entry groups.
6977//
6978// - resource: REQUIRED: The resource for which the policy is being
6979//   requested. See the operation documentation for the appropriate
6980//   value for this field.
6981func (r *ProjectsLocationsTagTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
6982	c := &ProjectsLocationsTagTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6983	c.resource = resource
6984	c.getiampolicyrequest = getiampolicyrequest
6985	return c
6986}
6987
6988// Fields allows partial responses to be retrieved. See
6989// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6990// for more information.
6991func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
6992	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6993	return c
6994}
6995
6996// Context sets the context to be used in this call's Do method. Any
6997// pending HTTP request will be aborted if the provided context is
6998// canceled.
6999func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
7000	c.ctx_ = ctx
7001	return c
7002}
7003
7004// Header returns an http.Header that can be modified by the caller to
7005// add HTTP headers to the request.
7006func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Header() http.Header {
7007	if c.header_ == nil {
7008		c.header_ = make(http.Header)
7009	}
7010	return c.header_
7011}
7012
7013func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7014	reqHeaders := make(http.Header)
7015	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7016	for k, v := range c.header_ {
7017		reqHeaders[k] = v
7018	}
7019	reqHeaders.Set("User-Agent", c.s.userAgent())
7020	var body io.Reader = nil
7021	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
7022	if err != nil {
7023		return nil, err
7024	}
7025	reqHeaders.Set("Content-Type", "application/json")
7026	c.urlParams_.Set("alt", alt)
7027	c.urlParams_.Set("prettyPrint", "false")
7028	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
7029	urls += "?" + c.urlParams_.Encode()
7030	req, err := http.NewRequest("POST", urls, body)
7031	if err != nil {
7032		return nil, err
7033	}
7034	req.Header = reqHeaders
7035	googleapi.Expand(req.URL, map[string]string{
7036		"resource": c.resource,
7037	})
7038	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7039}
7040
7041// Do executes the "datacatalog.projects.locations.tagTemplates.getIamPolicy" call.
7042// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7043// code is an error. Response headers are in either
7044// *Policy.ServerResponse.Header or (if a response was returned at all)
7045// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7046// check whether the returned error was because http.StatusNotModified
7047// was returned.
7048func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7049	gensupport.SetOptions(c.urlParams_, opts...)
7050	res, err := c.doRequest("json")
7051	if res != nil && res.StatusCode == http.StatusNotModified {
7052		if res.Body != nil {
7053			res.Body.Close()
7054		}
7055		return nil, &googleapi.Error{
7056			Code:   res.StatusCode,
7057			Header: res.Header,
7058		}
7059	}
7060	if err != nil {
7061		return nil, err
7062	}
7063	defer googleapi.CloseBody(res)
7064	if err := googleapi.CheckResponse(res); err != nil {
7065		return nil, err
7066	}
7067	ret := &Policy{
7068		ServerResponse: googleapi.ServerResponse{
7069			Header:         res.Header,
7070			HTTPStatusCode: res.StatusCode,
7071		},
7072	}
7073	target := &ret
7074	if err := gensupport.DecodeResponse(target, res); err != nil {
7075		return nil, err
7076	}
7077	return ret, nil
7078	// {
7079	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
7080	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
7081	//   "httpMethod": "POST",
7082	//   "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
7083	//   "parameterOrder": [
7084	//     "resource"
7085	//   ],
7086	//   "parameters": {
7087	//     "resource": {
7088	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
7089	//       "location": "path",
7090	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7091	//       "required": true,
7092	//       "type": "string"
7093	//     }
7094	//   },
7095	//   "path": "v1beta1/{+resource}:getIamPolicy",
7096	//   "request": {
7097	//     "$ref": "GetIamPolicyRequest"
7098	//   },
7099	//   "response": {
7100	//     "$ref": "Policy"
7101	//   },
7102	//   "scopes": [
7103	//     "https://www.googleapis.com/auth/cloud-platform"
7104	//   ]
7105	// }
7106
7107}
7108
7109// method id "datacatalog.projects.locations.tagTemplates.patch":
7110
7111type ProjectsLocationsTagTemplatesPatchCall struct {
7112	s                                        *Service
7113	name                                     string
7114	googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate
7115	urlParams_                               gensupport.URLParams
7116	ctx_                                     context.Context
7117	header_                                  http.Header
7118}
7119
7120// Patch: Updates a tag template. This method cannot be used to update
7121// the fields of a template. The tag template fields are represented as
7122// separate resources and should be updated using their own
7123// create/update/delete methods. Users should enable the Data Catalog
7124// API in the project identified by the `tag_template.name` parameter
7125// (see [Data Catalog Resource Project]
7126// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7127// for more information).
7128//
7129// - name: The resource name of the tag template in URL format. Example:
7130//   *
7131//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
7132//   e_id} Note that this TagTemplate and its child resources may not
7133//   actually be stored in the location in this name.
7134func (r *ProjectsLocationsTagTemplatesService) Patch(name string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesPatchCall {
7135	c := &ProjectsLocationsTagTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7136	c.name = name
7137	c.googleclouddatacatalogv1beta1tagtemplate = googleclouddatacatalogv1beta1tagtemplate
7138	return c
7139}
7140
7141// UpdateMask sets the optional parameter "updateMask": Names of fields
7142// whose values to overwrite on a tag template. Currently, only
7143// `display_name` can be overwritten. In general, if this parameter is
7144// absent or empty, all modifiable fields are overwritten. If such
7145// fields are non-required and omitted in the request body, their values
7146// are emptied.
7147func (c *ProjectsLocationsTagTemplatesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesPatchCall {
7148	c.urlParams_.Set("updateMask", updateMask)
7149	return c
7150}
7151
7152// Fields allows partial responses to be retrieved. See
7153// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7154// for more information.
7155func (c *ProjectsLocationsTagTemplatesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesPatchCall {
7156	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7157	return c
7158}
7159
7160// Context sets the context to be used in this call's Do method. Any
7161// pending HTTP request will be aborted if the provided context is
7162// canceled.
7163func (c *ProjectsLocationsTagTemplatesPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesPatchCall {
7164	c.ctx_ = ctx
7165	return c
7166}
7167
7168// Header returns an http.Header that can be modified by the caller to
7169// add HTTP headers to the request.
7170func (c *ProjectsLocationsTagTemplatesPatchCall) Header() http.Header {
7171	if c.header_ == nil {
7172		c.header_ = make(http.Header)
7173	}
7174	return c.header_
7175}
7176
7177func (c *ProjectsLocationsTagTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
7178	reqHeaders := make(http.Header)
7179	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7180	for k, v := range c.header_ {
7181		reqHeaders[k] = v
7182	}
7183	reqHeaders.Set("User-Agent", c.s.userAgent())
7184	var body io.Reader = nil
7185	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplate)
7186	if err != nil {
7187		return nil, err
7188	}
7189	reqHeaders.Set("Content-Type", "application/json")
7190	c.urlParams_.Set("alt", alt)
7191	c.urlParams_.Set("prettyPrint", "false")
7192	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7193	urls += "?" + c.urlParams_.Encode()
7194	req, err := http.NewRequest("PATCH", urls, body)
7195	if err != nil {
7196		return nil, err
7197	}
7198	req.Header = reqHeaders
7199	googleapi.Expand(req.URL, map[string]string{
7200		"name": c.name,
7201	})
7202	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7203}
7204
7205// Do executes the "datacatalog.projects.locations.tagTemplates.patch" call.
7206// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplate or error
7207// will be non-nil. Any non-2xx status code is an error. Response
7208// headers are in either
7209// *GoogleCloudDatacatalogV1beta1TagTemplate.ServerResponse.Header or
7210// (if a response was returned at all) in
7211// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7212// whether the returned error was because http.StatusNotModified was
7213// returned.
7214func (c *ProjectsLocationsTagTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplate, error) {
7215	gensupport.SetOptions(c.urlParams_, opts...)
7216	res, err := c.doRequest("json")
7217	if res != nil && res.StatusCode == http.StatusNotModified {
7218		if res.Body != nil {
7219			res.Body.Close()
7220		}
7221		return nil, &googleapi.Error{
7222			Code:   res.StatusCode,
7223			Header: res.Header,
7224		}
7225	}
7226	if err != nil {
7227		return nil, err
7228	}
7229	defer googleapi.CloseBody(res)
7230	if err := googleapi.CheckResponse(res); err != nil {
7231		return nil, err
7232	}
7233	ret := &GoogleCloudDatacatalogV1beta1TagTemplate{
7234		ServerResponse: googleapi.ServerResponse{
7235			Header:         res.Header,
7236			HTTPStatusCode: res.StatusCode,
7237		},
7238	}
7239	target := &ret
7240	if err := gensupport.DecodeResponse(target, res); err != nil {
7241		return nil, err
7242	}
7243	return ret, nil
7244	// {
7245	//   "description": "Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
7246	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
7247	//   "httpMethod": "PATCH",
7248	//   "id": "datacatalog.projects.locations.tagTemplates.patch",
7249	//   "parameterOrder": [
7250	//     "name"
7251	//   ],
7252	//   "parameters": {
7253	//     "name": {
7254	//       "description": "The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.",
7255	//       "location": "path",
7256	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7257	//       "required": true,
7258	//       "type": "string"
7259	//     },
7260	//     "updateMask": {
7261	//       "description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` can be overwritten. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
7262	//       "format": "google-fieldmask",
7263	//       "location": "query",
7264	//       "type": "string"
7265	//     }
7266	//   },
7267	//   "path": "v1beta1/{+name}",
7268	//   "request": {
7269	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7270	//   },
7271	//   "response": {
7272	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
7273	//   },
7274	//   "scopes": [
7275	//     "https://www.googleapis.com/auth/cloud-platform"
7276	//   ]
7277	// }
7278
7279}
7280
7281// method id "datacatalog.projects.locations.tagTemplates.setIamPolicy":
7282
7283type ProjectsLocationsTagTemplatesSetIamPolicyCall struct {
7284	s                   *Service
7285	resource            string
7286	setiampolicyrequest *SetIamPolicyRequest
7287	urlParams_          gensupport.URLParams
7288	ctx_                context.Context
7289	header_             http.Header
7290}
7291
7292// SetIamPolicy: Sets the access control policy for a resource. Replaces
7293// any existing policy. Supported resources are: - Tag templates. -
7294// Entries. - Entry groups. Note, this method cannot be used to manage
7295// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
7296// resources synced to Data Catalog. Callers must have following Google
7297// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
7298// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
7299// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
7300// set policies on entry groups.
7301//
7302// - resource: REQUIRED: The resource for which the policy is being
7303//   specified. See the operation documentation for the appropriate
7304//   value for this field.
7305func (r *ProjectsLocationsTagTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7306	c := &ProjectsLocationsTagTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7307	c.resource = resource
7308	c.setiampolicyrequest = setiampolicyrequest
7309	return c
7310}
7311
7312// Fields allows partial responses to be retrieved. See
7313// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7314// for more information.
7315func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7316	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7317	return c
7318}
7319
7320// Context sets the context to be used in this call's Do method. Any
7321// pending HTTP request will be aborted if the provided context is
7322// canceled.
7323func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
7324	c.ctx_ = ctx
7325	return c
7326}
7327
7328// Header returns an http.Header that can be modified by the caller to
7329// add HTTP headers to the request.
7330func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Header() http.Header {
7331	if c.header_ == nil {
7332		c.header_ = make(http.Header)
7333	}
7334	return c.header_
7335}
7336
7337func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
7338	reqHeaders := make(http.Header)
7339	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7340	for k, v := range c.header_ {
7341		reqHeaders[k] = v
7342	}
7343	reqHeaders.Set("User-Agent", c.s.userAgent())
7344	var body io.Reader = nil
7345	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
7346	if err != nil {
7347		return nil, err
7348	}
7349	reqHeaders.Set("Content-Type", "application/json")
7350	c.urlParams_.Set("alt", alt)
7351	c.urlParams_.Set("prettyPrint", "false")
7352	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
7353	urls += "?" + c.urlParams_.Encode()
7354	req, err := http.NewRequest("POST", urls, body)
7355	if err != nil {
7356		return nil, err
7357	}
7358	req.Header = reqHeaders
7359	googleapi.Expand(req.URL, map[string]string{
7360		"resource": c.resource,
7361	})
7362	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7363}
7364
7365// Do executes the "datacatalog.projects.locations.tagTemplates.setIamPolicy" call.
7366// Exactly one of *Policy or error will be non-nil. Any non-2xx status
7367// code is an error. Response headers are in either
7368// *Policy.ServerResponse.Header or (if a response was returned at all)
7369// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7370// check whether the returned error was because http.StatusNotModified
7371// was returned.
7372func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
7373	gensupport.SetOptions(c.urlParams_, opts...)
7374	res, err := c.doRequest("json")
7375	if res != nil && res.StatusCode == http.StatusNotModified {
7376		if res.Body != nil {
7377			res.Body.Close()
7378		}
7379		return nil, &googleapi.Error{
7380			Code:   res.StatusCode,
7381			Header: res.Header,
7382		}
7383	}
7384	if err != nil {
7385		return nil, err
7386	}
7387	defer googleapi.CloseBody(res)
7388	if err := googleapi.CheckResponse(res); err != nil {
7389		return nil, err
7390	}
7391	ret := &Policy{
7392		ServerResponse: googleapi.ServerResponse{
7393			Header:         res.Header,
7394			HTTPStatusCode: res.StatusCode,
7395		},
7396	}
7397	target := &ret
7398	if err := gensupport.DecodeResponse(target, res); err != nil {
7399		return nil, err
7400	}
7401	return ret, nil
7402	// {
7403	//   "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
7404	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
7405	//   "httpMethod": "POST",
7406	//   "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
7407	//   "parameterOrder": [
7408	//     "resource"
7409	//   ],
7410	//   "parameters": {
7411	//     "resource": {
7412	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
7413	//       "location": "path",
7414	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7415	//       "required": true,
7416	//       "type": "string"
7417	//     }
7418	//   },
7419	//   "path": "v1beta1/{+resource}:setIamPolicy",
7420	//   "request": {
7421	//     "$ref": "SetIamPolicyRequest"
7422	//   },
7423	//   "response": {
7424	//     "$ref": "Policy"
7425	//   },
7426	//   "scopes": [
7427	//     "https://www.googleapis.com/auth/cloud-platform"
7428	//   ]
7429	// }
7430
7431}
7432
7433// method id "datacatalog.projects.locations.tagTemplates.testIamPermissions":
7434
7435type ProjectsLocationsTagTemplatesTestIamPermissionsCall struct {
7436	s                         *Service
7437	resource                  string
7438	testiampermissionsrequest *TestIamPermissionsRequest
7439	urlParams_                gensupport.URLParams
7440	ctx_                      context.Context
7441	header_                   http.Header
7442}
7443
7444// TestIamPermissions: Returns the caller's permissions on a resource.
7445// If the resource does not exist, an empty set of permissions is
7446// returned (We don't return a `NOT_FOUND` error). Supported resources
7447// are: - Tag templates. - Entries. - Entry groups. Note, this method
7448// cannot be used to manage policies for BigQuery, Pub/Sub and any
7449// external Google Cloud Platform resources synced to Data Catalog. A
7450// caller is not required to have Google IAM permission to make this
7451// request.
7452//
7453// - resource: REQUIRED: The resource for which the policy detail is
7454//   being requested. See the operation documentation for the
7455//   appropriate value for this field.
7456func (r *ProjectsLocationsTagTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7457	c := &ProjectsLocationsTagTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7458	c.resource = resource
7459	c.testiampermissionsrequest = testiampermissionsrequest
7460	return c
7461}
7462
7463// Fields allows partial responses to be retrieved. See
7464// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7465// for more information.
7466func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7467	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7468	return c
7469}
7470
7471// Context sets the context to be used in this call's Do method. Any
7472// pending HTTP request will be aborted if the provided context is
7473// canceled.
7474func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
7475	c.ctx_ = ctx
7476	return c
7477}
7478
7479// Header returns an http.Header that can be modified by the caller to
7480// add HTTP headers to the request.
7481func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Header() http.Header {
7482	if c.header_ == nil {
7483		c.header_ = make(http.Header)
7484	}
7485	return c.header_
7486}
7487
7488func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
7489	reqHeaders := make(http.Header)
7490	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7491	for k, v := range c.header_ {
7492		reqHeaders[k] = v
7493	}
7494	reqHeaders.Set("User-Agent", c.s.userAgent())
7495	var body io.Reader = nil
7496	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
7497	if err != nil {
7498		return nil, err
7499	}
7500	reqHeaders.Set("Content-Type", "application/json")
7501	c.urlParams_.Set("alt", alt)
7502	c.urlParams_.Set("prettyPrint", "false")
7503	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
7504	urls += "?" + c.urlParams_.Encode()
7505	req, err := http.NewRequest("POST", urls, body)
7506	if err != nil {
7507		return nil, err
7508	}
7509	req.Header = reqHeaders
7510	googleapi.Expand(req.URL, map[string]string{
7511		"resource": c.resource,
7512	})
7513	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7514}
7515
7516// Do executes the "datacatalog.projects.locations.tagTemplates.testIamPermissions" call.
7517// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
7518// Any non-2xx status code is an error. Response headers are in either
7519// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
7520// was returned at all) in error.(*googleapi.Error).Header. Use
7521// googleapi.IsNotModified to check whether the returned error was
7522// because http.StatusNotModified was returned.
7523func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
7524	gensupport.SetOptions(c.urlParams_, opts...)
7525	res, err := c.doRequest("json")
7526	if res != nil && res.StatusCode == http.StatusNotModified {
7527		if res.Body != nil {
7528			res.Body.Close()
7529		}
7530		return nil, &googleapi.Error{
7531			Code:   res.StatusCode,
7532			Header: res.Header,
7533		}
7534	}
7535	if err != nil {
7536		return nil, err
7537	}
7538	defer googleapi.CloseBody(res)
7539	if err := googleapi.CheckResponse(res); err != nil {
7540		return nil, err
7541	}
7542	ret := &TestIamPermissionsResponse{
7543		ServerResponse: googleapi.ServerResponse{
7544			Header:         res.Header,
7545			HTTPStatusCode: res.StatusCode,
7546		},
7547	}
7548	target := &ret
7549	if err := gensupport.DecodeResponse(target, res); err != nil {
7550		return nil, err
7551	}
7552	return ret, nil
7553	// {
7554	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
7555	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
7556	//   "httpMethod": "POST",
7557	//   "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
7558	//   "parameterOrder": [
7559	//     "resource"
7560	//   ],
7561	//   "parameters": {
7562	//     "resource": {
7563	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
7564	//       "location": "path",
7565	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7566	//       "required": true,
7567	//       "type": "string"
7568	//     }
7569	//   },
7570	//   "path": "v1beta1/{+resource}:testIamPermissions",
7571	//   "request": {
7572	//     "$ref": "TestIamPermissionsRequest"
7573	//   },
7574	//   "response": {
7575	//     "$ref": "TestIamPermissionsResponse"
7576	//   },
7577	//   "scopes": [
7578	//     "https://www.googleapis.com/auth/cloud-platform"
7579	//   ]
7580	// }
7581
7582}
7583
7584// method id "datacatalog.projects.locations.tagTemplates.fields.create":
7585
7586type ProjectsLocationsTagTemplatesFieldsCreateCall struct {
7587	s                                             *Service
7588	parent                                        string
7589	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
7590	urlParams_                                    gensupport.URLParams
7591	ctx_                                          context.Context
7592	header_                                       http.Header
7593}
7594
7595// Create: Creates a field in a tag template. The user should enable the
7596// Data Catalog API in the project identified by the `parent` parameter
7597// (see Data Catalog Resource Project
7598// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7599// for more information).
7600//
7601// - parent: The name of the project and the template location region
7602//   (https://cloud.google.com/data-catalog/docs/concepts/regions).
7603//   Example: *
7604//   projects/{project_id}/locations/us-central1/tagTemplates/{tag_templa
7605//   te_id}.
7606func (r *ProjectsLocationsTagTemplatesFieldsService) Create(parent string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7607	c := &ProjectsLocationsTagTemplatesFieldsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7608	c.parent = parent
7609	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
7610	return c
7611}
7612
7613// TagTemplateFieldId sets the optional parameter "tagTemplateFieldId":
7614// Required. The ID of the tag template field to create. Field ids can
7615// contain letters (both uppercase and lowercase), numbers (0-9),
7616// underscores (_) and dashes (-). Field IDs must be at least 1
7617// character long and at most 128 characters long. Field IDs must also
7618// be unique within their template.
7619func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) TagTemplateFieldId(tagTemplateFieldId string) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7620	c.urlParams_.Set("tagTemplateFieldId", tagTemplateFieldId)
7621	return c
7622}
7623
7624// Fields allows partial responses to be retrieved. See
7625// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7626// for more information.
7627func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7628	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7629	return c
7630}
7631
7632// Context sets the context to be used in this call's Do method. Any
7633// pending HTTP request will be aborted if the provided context is
7634// canceled.
7635func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsCreateCall {
7636	c.ctx_ = ctx
7637	return c
7638}
7639
7640// Header returns an http.Header that can be modified by the caller to
7641// add HTTP headers to the request.
7642func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Header() http.Header {
7643	if c.header_ == nil {
7644		c.header_ = make(http.Header)
7645	}
7646	return c.header_
7647}
7648
7649func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) doRequest(alt string) (*http.Response, error) {
7650	reqHeaders := make(http.Header)
7651	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7652	for k, v := range c.header_ {
7653		reqHeaders[k] = v
7654	}
7655	reqHeaders.Set("User-Agent", c.s.userAgent())
7656	var body io.Reader = nil
7657	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
7658	if err != nil {
7659		return nil, err
7660	}
7661	reqHeaders.Set("Content-Type", "application/json")
7662	c.urlParams_.Set("alt", alt)
7663	c.urlParams_.Set("prettyPrint", "false")
7664	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/fields")
7665	urls += "?" + c.urlParams_.Encode()
7666	req, err := http.NewRequest("POST", urls, body)
7667	if err != nil {
7668		return nil, err
7669	}
7670	req.Header = reqHeaders
7671	googleapi.Expand(req.URL, map[string]string{
7672		"parent": c.parent,
7673	})
7674	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7675}
7676
7677// Do executes the "datacatalog.projects.locations.tagTemplates.fields.create" call.
7678// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
7679// error will be non-nil. Any non-2xx status code is an error. Response
7680// headers are in either
7681// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
7682// or (if a response was returned at all) in
7683// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
7684// whether the returned error was because http.StatusNotModified was
7685// returned.
7686func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
7687	gensupport.SetOptions(c.urlParams_, opts...)
7688	res, err := c.doRequest("json")
7689	if res != nil && res.StatusCode == http.StatusNotModified {
7690		if res.Body != nil {
7691			res.Body.Close()
7692		}
7693		return nil, &googleapi.Error{
7694			Code:   res.StatusCode,
7695			Header: res.Header,
7696		}
7697	}
7698	if err != nil {
7699		return nil, err
7700	}
7701	defer googleapi.CloseBody(res)
7702	if err := googleapi.CheckResponse(res); err != nil {
7703		return nil, err
7704	}
7705	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
7706		ServerResponse: googleapi.ServerResponse{
7707			Header:         res.Header,
7708			HTTPStatusCode: res.StatusCode,
7709		},
7710	}
7711	target := &ret
7712	if err := gensupport.DecodeResponse(target, res); err != nil {
7713		return nil, err
7714	}
7715	return ret, nil
7716	// {
7717	//   "description": "Creates a field in a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
7718	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
7719	//   "httpMethod": "POST",
7720	//   "id": "datacatalog.projects.locations.tagTemplates.fields.create",
7721	//   "parameterOrder": [
7722	//     "parent"
7723	//   ],
7724	//   "parameters": {
7725	//     "parent": {
7726	//       "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
7727	//       "location": "path",
7728	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
7729	//       "required": true,
7730	//       "type": "string"
7731	//     },
7732	//     "tagTemplateFieldId": {
7733	//       "description": "Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.",
7734	//       "location": "query",
7735	//       "type": "string"
7736	//     }
7737	//   },
7738	//   "path": "v1beta1/{+parent}/fields",
7739	//   "request": {
7740	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
7741	//   },
7742	//   "response": {
7743	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
7744	//   },
7745	//   "scopes": [
7746	//     "https://www.googleapis.com/auth/cloud-platform"
7747	//   ]
7748	// }
7749
7750}
7751
7752// method id "datacatalog.projects.locations.tagTemplates.fields.delete":
7753
7754type ProjectsLocationsTagTemplatesFieldsDeleteCall struct {
7755	s          *Service
7756	name       string
7757	urlParams_ gensupport.URLParams
7758	ctx_       context.Context
7759	header_    http.Header
7760}
7761
7762// Delete: Deletes a field in a tag template and all uses of that field.
7763// Users should enable the Data Catalog API in the project identified by
7764// the `name` parameter (see [Data Catalog Resource Project]
7765// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7766// for more information).
7767//
7768// - name: The name of the tag template field to delete. Example: *
7769//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
7770//   e_id}/fields/{tag_template_field_id}.
7771func (r *ProjectsLocationsTagTemplatesFieldsService) Delete(name string) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7772	c := &ProjectsLocationsTagTemplatesFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7773	c.name = name
7774	return c
7775}
7776
7777// Force sets the optional parameter "force": Required. Currently, this
7778// field must always be set to `true`. This confirms the deletion of
7779// this field from any tags using this field. `force = false` will be
7780// supported in the future.
7781func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7782	c.urlParams_.Set("force", fmt.Sprint(force))
7783	return c
7784}
7785
7786// Fields allows partial responses to be retrieved. See
7787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7788// for more information.
7789func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7791	return c
7792}
7793
7794// Context sets the context to be used in this call's Do method. Any
7795// pending HTTP request will be aborted if the provided context is
7796// canceled.
7797func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
7798	c.ctx_ = ctx
7799	return c
7800}
7801
7802// Header returns an http.Header that can be modified by the caller to
7803// add HTTP headers to the request.
7804func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Header() http.Header {
7805	if c.header_ == nil {
7806		c.header_ = make(http.Header)
7807	}
7808	return c.header_
7809}
7810
7811func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
7812	reqHeaders := make(http.Header)
7813	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7814	for k, v := range c.header_ {
7815		reqHeaders[k] = v
7816	}
7817	reqHeaders.Set("User-Agent", c.s.userAgent())
7818	var body io.Reader = nil
7819	c.urlParams_.Set("alt", alt)
7820	c.urlParams_.Set("prettyPrint", "false")
7821	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7822	urls += "?" + c.urlParams_.Encode()
7823	req, err := http.NewRequest("DELETE", urls, body)
7824	if err != nil {
7825		return nil, err
7826	}
7827	req.Header = reqHeaders
7828	googleapi.Expand(req.URL, map[string]string{
7829		"name": c.name,
7830	})
7831	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7832}
7833
7834// Do executes the "datacatalog.projects.locations.tagTemplates.fields.delete" call.
7835// Exactly one of *Empty or error will be non-nil. Any non-2xx status
7836// code is an error. Response headers are in either
7837// *Empty.ServerResponse.Header or (if a response was returned at all)
7838// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
7839// check whether the returned error was because http.StatusNotModified
7840// was returned.
7841func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
7842	gensupport.SetOptions(c.urlParams_, opts...)
7843	res, err := c.doRequest("json")
7844	if res != nil && res.StatusCode == http.StatusNotModified {
7845		if res.Body != nil {
7846			res.Body.Close()
7847		}
7848		return nil, &googleapi.Error{
7849			Code:   res.StatusCode,
7850			Header: res.Header,
7851		}
7852	}
7853	if err != nil {
7854		return nil, err
7855	}
7856	defer googleapi.CloseBody(res)
7857	if err := googleapi.CheckResponse(res); err != nil {
7858		return nil, err
7859	}
7860	ret := &Empty{
7861		ServerResponse: googleapi.ServerResponse{
7862			Header:         res.Header,
7863			HTTPStatusCode: res.StatusCode,
7864		},
7865	}
7866	target := &ret
7867	if err := gensupport.DecodeResponse(target, res); err != nil {
7868		return nil, err
7869	}
7870	return ret, nil
7871	// {
7872	//   "description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
7873	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
7874	//   "httpMethod": "DELETE",
7875	//   "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
7876	//   "parameterOrder": [
7877	//     "name"
7878	//   ],
7879	//   "parameters": {
7880	//     "force": {
7881	//       "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of this field from any tags using this field. `force = false` will be supported in the future.",
7882	//       "location": "query",
7883	//       "type": "boolean"
7884	//     },
7885	//     "name": {
7886	//       "description": "Required. The name of the tag template field to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
7887	//       "location": "path",
7888	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
7889	//       "required": true,
7890	//       "type": "string"
7891	//     }
7892	//   },
7893	//   "path": "v1beta1/{+name}",
7894	//   "response": {
7895	//     "$ref": "Empty"
7896	//   },
7897	//   "scopes": [
7898	//     "https://www.googleapis.com/auth/cloud-platform"
7899	//   ]
7900	// }
7901
7902}
7903
7904// method id "datacatalog.projects.locations.tagTemplates.fields.patch":
7905
7906type ProjectsLocationsTagTemplatesFieldsPatchCall struct {
7907	s                                             *Service
7908	name                                          string
7909	googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField
7910	urlParams_                                    gensupport.URLParams
7911	ctx_                                          context.Context
7912	header_                                       http.Header
7913}
7914
7915// Patch: Updates a field in a tag template. This method cannot be used
7916// to update the field type. Users should enable the Data Catalog API in
7917// the project identified by the `name` parameter (see [Data Catalog
7918// Resource Project]
7919// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
7920// for more information).
7921//
7922// - name: The name of the tag template field. Example: *
7923//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
7924//   e_id}/fields/{tag_template_field_id}.
7925func (r *ProjectsLocationsTagTemplatesFieldsService) Patch(name string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsPatchCall {
7926	c := &ProjectsLocationsTagTemplatesFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7927	c.name = name
7928	c.googleclouddatacatalogv1beta1tagtemplatefield = googleclouddatacatalogv1beta1tagtemplatefield
7929	return c
7930}
7931
7932// UpdateMask sets the optional parameter "updateMask": Names of fields
7933// whose values to overwrite on an individual field of a tag template.
7934// The following fields are modifiable: * `display_name` *
7935// `type.enum_type` * `is_required` If this parameter is absent or
7936// empty, all modifiable fields are overwritten. If such fields are
7937// non-required and omitted in the request body, their values are
7938// emptied with one exception: when updating an enum type, the provided
7939// values are merged with the existing values. Therefore, enum values
7940// can only be added, existing enum values cannot be deleted or renamed.
7941// Additionally, updating a template field from optional to required is
7942// *not* allowed.
7943func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesFieldsPatchCall {
7944	c.urlParams_.Set("updateMask", updateMask)
7945	return c
7946}
7947
7948// Fields allows partial responses to be retrieved. See
7949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7950// for more information.
7951func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsPatchCall {
7952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7953	return c
7954}
7955
7956// Context sets the context to be used in this call's Do method. Any
7957// pending HTTP request will be aborted if the provided context is
7958// canceled.
7959func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsPatchCall {
7960	c.ctx_ = ctx
7961	return c
7962}
7963
7964// Header returns an http.Header that can be modified by the caller to
7965// add HTTP headers to the request.
7966func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Header() http.Header {
7967	if c.header_ == nil {
7968		c.header_ = make(http.Header)
7969	}
7970	return c.header_
7971}
7972
7973func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
7974	reqHeaders := make(http.Header)
7975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
7976	for k, v := range c.header_ {
7977		reqHeaders[k] = v
7978	}
7979	reqHeaders.Set("User-Agent", c.s.userAgent())
7980	var body io.Reader = nil
7981	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1tagtemplatefield)
7982	if err != nil {
7983		return nil, err
7984	}
7985	reqHeaders.Set("Content-Type", "application/json")
7986	c.urlParams_.Set("alt", alt)
7987	c.urlParams_.Set("prettyPrint", "false")
7988	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
7989	urls += "?" + c.urlParams_.Encode()
7990	req, err := http.NewRequest("PATCH", urls, body)
7991	if err != nil {
7992		return nil, err
7993	}
7994	req.Header = reqHeaders
7995	googleapi.Expand(req.URL, map[string]string{
7996		"name": c.name,
7997	})
7998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7999}
8000
8001// Do executes the "datacatalog.projects.locations.tagTemplates.fields.patch" call.
8002// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8003// error will be non-nil. Any non-2xx status code is an error. Response
8004// headers are in either
8005// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8006// or (if a response was returned at all) in
8007// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8008// whether the returned error was because http.StatusNotModified was
8009// returned.
8010func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8011	gensupport.SetOptions(c.urlParams_, opts...)
8012	res, err := c.doRequest("json")
8013	if res != nil && res.StatusCode == http.StatusNotModified {
8014		if res.Body != nil {
8015			res.Body.Close()
8016		}
8017		return nil, &googleapi.Error{
8018			Code:   res.StatusCode,
8019			Header: res.Header,
8020		}
8021	}
8022	if err != nil {
8023		return nil, err
8024	}
8025	defer googleapi.CloseBody(res)
8026	if err := googleapi.CheckResponse(res); err != nil {
8027		return nil, err
8028	}
8029	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8030		ServerResponse: googleapi.ServerResponse{
8031			Header:         res.Header,
8032			HTTPStatusCode: res.StatusCode,
8033		},
8034	}
8035	target := &ret
8036	if err := gensupport.DecodeResponse(target, res); err != nil {
8037		return nil, err
8038	}
8039	return ret, nil
8040	// {
8041	//   "description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
8042	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
8043	//   "httpMethod": "PATCH",
8044	//   "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
8045	//   "parameterOrder": [
8046	//     "name"
8047	//   ],
8048	//   "parameters": {
8049	//     "name": {
8050	//       "description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8051	//       "location": "path",
8052	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8053	//       "required": true,
8054	//       "type": "string"
8055	//     },
8056	//     "updateMask": {
8057	//       "description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.",
8058	//       "format": "google-fieldmask",
8059	//       "location": "query",
8060	//       "type": "string"
8061	//     }
8062	//   },
8063	//   "path": "v1beta1/{+name}",
8064	//   "request": {
8065	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8066	//   },
8067	//   "response": {
8068	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8069	//   },
8070	//   "scopes": [
8071	//     "https://www.googleapis.com/auth/cloud-platform"
8072	//   ]
8073	// }
8074
8075}
8076
8077// method id "datacatalog.projects.locations.tagTemplates.fields.rename":
8078
8079type ProjectsLocationsTagTemplatesFieldsRenameCall struct {
8080	s                                                          *Service
8081	name                                                       string
8082	googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest
8083	urlParams_                                                 gensupport.URLParams
8084	ctx_                                                       context.Context
8085	header_                                                    http.Header
8086}
8087
8088// Rename: Renames a field in a tag template. The user should enable the
8089// Data Catalog API in the project identified by the `name` parameter
8090// (see Data Catalog Resource Project
8091// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
8092// for more information).
8093//
8094// - name: The name of the tag template. Example: *
8095//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
8096//   e_id}/fields/{tag_template_field_id}.
8097func (r *ProjectsLocationsTagTemplatesFieldsService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8098	c := &ProjectsLocationsTagTemplatesFieldsRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8099	c.name = name
8100	c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest = googleclouddatacatalogv1beta1renametagtemplatefieldrequest
8101	return c
8102}
8103
8104// Fields allows partial responses to be retrieved. See
8105// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8106// for more information.
8107func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8108	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8109	return c
8110}
8111
8112// Context sets the context to be used in this call's Do method. Any
8113// pending HTTP request will be aborted if the provided context is
8114// canceled.
8115func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsRenameCall {
8116	c.ctx_ = ctx
8117	return c
8118}
8119
8120// Header returns an http.Header that can be modified by the caller to
8121// add HTTP headers to the request.
8122func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Header() http.Header {
8123	if c.header_ == nil {
8124		c.header_ = make(http.Header)
8125	}
8126	return c.header_
8127}
8128
8129func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) doRequest(alt string) (*http.Response, error) {
8130	reqHeaders := make(http.Header)
8131	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8132	for k, v := range c.header_ {
8133		reqHeaders[k] = v
8134	}
8135	reqHeaders.Set("User-Agent", c.s.userAgent())
8136	var body io.Reader = nil
8137	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldrequest)
8138	if err != nil {
8139		return nil, err
8140	}
8141	reqHeaders.Set("Content-Type", "application/json")
8142	c.urlParams_.Set("alt", alt)
8143	c.urlParams_.Set("prettyPrint", "false")
8144	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8145	urls += "?" + c.urlParams_.Encode()
8146	req, err := http.NewRequest("POST", urls, body)
8147	if err != nil {
8148		return nil, err
8149	}
8150	req.Header = reqHeaders
8151	googleapi.Expand(req.URL, map[string]string{
8152		"name": c.name,
8153	})
8154	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8155}
8156
8157// Do executes the "datacatalog.projects.locations.tagTemplates.fields.rename" call.
8158// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8159// error will be non-nil. Any non-2xx status code is an error. Response
8160// headers are in either
8161// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8162// or (if a response was returned at all) in
8163// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8164// whether the returned error was because http.StatusNotModified was
8165// returned.
8166func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8167	gensupport.SetOptions(c.urlParams_, opts...)
8168	res, err := c.doRequest("json")
8169	if res != nil && res.StatusCode == http.StatusNotModified {
8170		if res.Body != nil {
8171			res.Body.Close()
8172		}
8173		return nil, &googleapi.Error{
8174			Code:   res.StatusCode,
8175			Header: res.Header,
8176		}
8177	}
8178	if err != nil {
8179		return nil, err
8180	}
8181	defer googleapi.CloseBody(res)
8182	if err := googleapi.CheckResponse(res); err != nil {
8183		return nil, err
8184	}
8185	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8186		ServerResponse: googleapi.ServerResponse{
8187			Header:         res.Header,
8188			HTTPStatusCode: res.StatusCode,
8189		},
8190	}
8191	target := &ret
8192	if err := gensupport.DecodeResponse(target, res); err != nil {
8193		return nil, err
8194	}
8195	return ret, nil
8196	// {
8197	//   "description": "Renames a field in a tag template. The user should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
8198	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
8199	//   "httpMethod": "POST",
8200	//   "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
8201	//   "parameterOrder": [
8202	//     "name"
8203	//   ],
8204	//   "parameters": {
8205	//     "name": {
8206	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
8207	//       "location": "path",
8208	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
8209	//       "required": true,
8210	//       "type": "string"
8211	//     }
8212	//   },
8213	//   "path": "v1beta1/{+name}:rename",
8214	//   "request": {
8215	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest"
8216	//   },
8217	//   "response": {
8218	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8219	//   },
8220	//   "scopes": [
8221	//     "https://www.googleapis.com/auth/cloud-platform"
8222	//   ]
8223	// }
8224
8225}
8226
8227// method id "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename":
8228
8229type ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall struct {
8230	s                                                                   *Service
8231	name                                                                string
8232	googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest
8233	urlParams_                                                          gensupport.URLParams
8234	ctx_                                                                context.Context
8235	header_                                                             http.Header
8236}
8237
8238// Rename: Renames an enum value in a tag template. The enum values have
8239// to be unique within one enum field. Thus, an enum value cannot be
8240// renamed with a name used in any other enum value within the same enum
8241// field.
8242//
8243// - name: The name of the enum field value. Example: *
8244//   projects/{project_id}/locations/{location}/tagTemplates/{tag_templat
8245//   e_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_
8246//   name}.
8247func (r *ProjectsLocationsTagTemplatesFieldsEnumValuesService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8248	c := &ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8249	c.name = name
8250	c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest = googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest
8251	return c
8252}
8253
8254// Fields allows partial responses to be retrieved. See
8255// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8256// for more information.
8257func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Fields(s ...googleapi.Field) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8258	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8259	return c
8260}
8261
8262// Context sets the context to be used in this call's Do method. Any
8263// pending HTTP request will be aborted if the provided context is
8264// canceled.
8265func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Context(ctx context.Context) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
8266	c.ctx_ = ctx
8267	return c
8268}
8269
8270// Header returns an http.Header that can be modified by the caller to
8271// add HTTP headers to the request.
8272func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Header() http.Header {
8273	if c.header_ == nil {
8274		c.header_ = make(http.Header)
8275	}
8276	return c.header_
8277}
8278
8279func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) doRequest(alt string) (*http.Response, error) {
8280	reqHeaders := make(http.Header)
8281	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8282	for k, v := range c.header_ {
8283		reqHeaders[k] = v
8284	}
8285	reqHeaders.Set("User-Agent", c.s.userAgent())
8286	var body io.Reader = nil
8287	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest)
8288	if err != nil {
8289		return nil, err
8290	}
8291	reqHeaders.Set("Content-Type", "application/json")
8292	c.urlParams_.Set("alt", alt)
8293	c.urlParams_.Set("prettyPrint", "false")
8294	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rename")
8295	urls += "?" + c.urlParams_.Encode()
8296	req, err := http.NewRequest("POST", urls, body)
8297	if err != nil {
8298		return nil, err
8299	}
8300	req.Header = reqHeaders
8301	googleapi.Expand(req.URL, map[string]string{
8302		"name": c.name,
8303	})
8304	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8305}
8306
8307// Do executes the "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename" call.
8308// Exactly one of *GoogleCloudDatacatalogV1beta1TagTemplateField or
8309// error will be non-nil. Any non-2xx status code is an error. Response
8310// headers are in either
8311// *GoogleCloudDatacatalogV1beta1TagTemplateField.ServerResponse.Header
8312// or (if a response was returned at all) in
8313// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8314// whether the returned error was because http.StatusNotModified was
8315// returned.
8316func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1TagTemplateField, error) {
8317	gensupport.SetOptions(c.urlParams_, opts...)
8318	res, err := c.doRequest("json")
8319	if res != nil && res.StatusCode == http.StatusNotModified {
8320		if res.Body != nil {
8321			res.Body.Close()
8322		}
8323		return nil, &googleapi.Error{
8324			Code:   res.StatusCode,
8325			Header: res.Header,
8326		}
8327	}
8328	if err != nil {
8329		return nil, err
8330	}
8331	defer googleapi.CloseBody(res)
8332	if err := googleapi.CheckResponse(res); err != nil {
8333		return nil, err
8334	}
8335	ret := &GoogleCloudDatacatalogV1beta1TagTemplateField{
8336		ServerResponse: googleapi.ServerResponse{
8337			Header:         res.Header,
8338			HTTPStatusCode: res.StatusCode,
8339		},
8340	}
8341	target := &ret
8342	if err := gensupport.DecodeResponse(target, res); err != nil {
8343		return nil, err
8344	}
8345	return ret, nil
8346	// {
8347	//   "description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.",
8348	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
8349	//   "httpMethod": "POST",
8350	//   "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
8351	//   "parameterOrder": [
8352	//     "name"
8353	//   ],
8354	//   "parameters": {
8355	//     "name": {
8356	//       "description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
8357	//       "location": "path",
8358	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
8359	//       "required": true,
8360	//       "type": "string"
8361	//     }
8362	//   },
8363	//   "path": "v1beta1/{+name}:rename",
8364	//   "request": {
8365	//     "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest"
8366	//   },
8367	//   "response": {
8368	//     "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
8369	//   },
8370	//   "scopes": [
8371	//     "https://www.googleapis.com/auth/cloud-platform"
8372	//   ]
8373	// }
8374
8375}
8376
8377// method id "datacatalog.projects.locations.taxonomies.create":
8378
8379type ProjectsLocationsTaxonomiesCreateCall struct {
8380	s                                     *Service
8381	parent                                string
8382	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
8383	urlParams_                            gensupport.URLParams
8384	ctx_                                  context.Context
8385	header_                               http.Header
8386}
8387
8388// Create: Creates a taxonomy in the specified project.
8389//
8390// - parent: Resource name of the project that the taxonomy will belong
8391//   to.
8392func (r *ProjectsLocationsTaxonomiesService) Create(parent string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesCreateCall {
8393	c := &ProjectsLocationsTaxonomiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8394	c.parent = parent
8395	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
8396	return c
8397}
8398
8399// Fields allows partial responses to be retrieved. See
8400// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8401// for more information.
8402func (c *ProjectsLocationsTaxonomiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesCreateCall {
8403	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8404	return c
8405}
8406
8407// Context sets the context to be used in this call's Do method. Any
8408// pending HTTP request will be aborted if the provided context is
8409// canceled.
8410func (c *ProjectsLocationsTaxonomiesCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesCreateCall {
8411	c.ctx_ = ctx
8412	return c
8413}
8414
8415// Header returns an http.Header that can be modified by the caller to
8416// add HTTP headers to the request.
8417func (c *ProjectsLocationsTaxonomiesCreateCall) Header() http.Header {
8418	if c.header_ == nil {
8419		c.header_ = make(http.Header)
8420	}
8421	return c.header_
8422}
8423
8424func (c *ProjectsLocationsTaxonomiesCreateCall) doRequest(alt string) (*http.Response, error) {
8425	reqHeaders := make(http.Header)
8426	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8427	for k, v := range c.header_ {
8428		reqHeaders[k] = v
8429	}
8430	reqHeaders.Set("User-Agent", c.s.userAgent())
8431	var body io.Reader = nil
8432	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
8433	if err != nil {
8434		return nil, err
8435	}
8436	reqHeaders.Set("Content-Type", "application/json")
8437	c.urlParams_.Set("alt", alt)
8438	c.urlParams_.Set("prettyPrint", "false")
8439	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
8440	urls += "?" + c.urlParams_.Encode()
8441	req, err := http.NewRequest("POST", urls, body)
8442	if err != nil {
8443		return nil, err
8444	}
8445	req.Header = reqHeaders
8446	googleapi.Expand(req.URL, map[string]string{
8447		"parent": c.parent,
8448	})
8449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8450}
8451
8452// Do executes the "datacatalog.projects.locations.taxonomies.create" call.
8453// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
8454// be non-nil. Any non-2xx status code is an error. Response headers are
8455// in either
8456// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
8457// response was returned at all) in error.(*googleapi.Error).Header. Use
8458// googleapi.IsNotModified to check whether the returned error was
8459// because http.StatusNotModified was returned.
8460func (c *ProjectsLocationsTaxonomiesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
8461	gensupport.SetOptions(c.urlParams_, opts...)
8462	res, err := c.doRequest("json")
8463	if res != nil && res.StatusCode == http.StatusNotModified {
8464		if res.Body != nil {
8465			res.Body.Close()
8466		}
8467		return nil, &googleapi.Error{
8468			Code:   res.StatusCode,
8469			Header: res.Header,
8470		}
8471	}
8472	if err != nil {
8473		return nil, err
8474	}
8475	defer googleapi.CloseBody(res)
8476	if err := googleapi.CheckResponse(res); err != nil {
8477		return nil, err
8478	}
8479	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
8480		ServerResponse: googleapi.ServerResponse{
8481			Header:         res.Header,
8482			HTTPStatusCode: res.StatusCode,
8483		},
8484	}
8485	target := &ret
8486	if err := gensupport.DecodeResponse(target, res); err != nil {
8487		return nil, err
8488	}
8489	return ret, nil
8490	// {
8491	//   "description": "Creates a taxonomy in the specified project.",
8492	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
8493	//   "httpMethod": "POST",
8494	//   "id": "datacatalog.projects.locations.taxonomies.create",
8495	//   "parameterOrder": [
8496	//     "parent"
8497	//   ],
8498	//   "parameters": {
8499	//     "parent": {
8500	//       "description": "Required. Resource name of the project that the taxonomy will belong to.",
8501	//       "location": "path",
8502	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8503	//       "required": true,
8504	//       "type": "string"
8505	//     }
8506	//   },
8507	//   "path": "v1beta1/{+parent}/taxonomies",
8508	//   "request": {
8509	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8510	//   },
8511	//   "response": {
8512	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8513	//   },
8514	//   "scopes": [
8515	//     "https://www.googleapis.com/auth/cloud-platform"
8516	//   ]
8517	// }
8518
8519}
8520
8521// method id "datacatalog.projects.locations.taxonomies.delete":
8522
8523type ProjectsLocationsTaxonomiesDeleteCall struct {
8524	s          *Service
8525	name       string
8526	urlParams_ gensupport.URLParams
8527	ctx_       context.Context
8528	header_    http.Header
8529}
8530
8531// Delete: Deletes a taxonomy. This operation will also delete all
8532// policy tags in this taxonomy along with their associated policies.
8533//
8534// - name: Resource name of the taxonomy to be deleted. All policy tags
8535//   in this taxonomy will also be deleted.
8536func (r *ProjectsLocationsTaxonomiesService) Delete(name string) *ProjectsLocationsTaxonomiesDeleteCall {
8537	c := &ProjectsLocationsTaxonomiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8538	c.name = name
8539	return c
8540}
8541
8542// Fields allows partial responses to be retrieved. See
8543// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8544// for more information.
8545func (c *ProjectsLocationsTaxonomiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesDeleteCall {
8546	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8547	return c
8548}
8549
8550// Context sets the context to be used in this call's Do method. Any
8551// pending HTTP request will be aborted if the provided context is
8552// canceled.
8553func (c *ProjectsLocationsTaxonomiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesDeleteCall {
8554	c.ctx_ = ctx
8555	return c
8556}
8557
8558// Header returns an http.Header that can be modified by the caller to
8559// add HTTP headers to the request.
8560func (c *ProjectsLocationsTaxonomiesDeleteCall) Header() http.Header {
8561	if c.header_ == nil {
8562		c.header_ = make(http.Header)
8563	}
8564	return c.header_
8565}
8566
8567func (c *ProjectsLocationsTaxonomiesDeleteCall) doRequest(alt string) (*http.Response, error) {
8568	reqHeaders := make(http.Header)
8569	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8570	for k, v := range c.header_ {
8571		reqHeaders[k] = v
8572	}
8573	reqHeaders.Set("User-Agent", c.s.userAgent())
8574	var body io.Reader = nil
8575	c.urlParams_.Set("alt", alt)
8576	c.urlParams_.Set("prettyPrint", "false")
8577	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8578	urls += "?" + c.urlParams_.Encode()
8579	req, err := http.NewRequest("DELETE", urls, body)
8580	if err != nil {
8581		return nil, err
8582	}
8583	req.Header = reqHeaders
8584	googleapi.Expand(req.URL, map[string]string{
8585		"name": c.name,
8586	})
8587	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8588}
8589
8590// Do executes the "datacatalog.projects.locations.taxonomies.delete" call.
8591// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8592// code is an error. Response headers are in either
8593// *Empty.ServerResponse.Header or (if a response was returned at all)
8594// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8595// check whether the returned error was because http.StatusNotModified
8596// was returned.
8597func (c *ProjectsLocationsTaxonomiesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8598	gensupport.SetOptions(c.urlParams_, opts...)
8599	res, err := c.doRequest("json")
8600	if res != nil && res.StatusCode == http.StatusNotModified {
8601		if res.Body != nil {
8602			res.Body.Close()
8603		}
8604		return nil, &googleapi.Error{
8605			Code:   res.StatusCode,
8606			Header: res.Header,
8607		}
8608	}
8609	if err != nil {
8610		return nil, err
8611	}
8612	defer googleapi.CloseBody(res)
8613	if err := googleapi.CheckResponse(res); err != nil {
8614		return nil, err
8615	}
8616	ret := &Empty{
8617		ServerResponse: googleapi.ServerResponse{
8618			Header:         res.Header,
8619			HTTPStatusCode: res.StatusCode,
8620		},
8621	}
8622	target := &ret
8623	if err := gensupport.DecodeResponse(target, res); err != nil {
8624		return nil, err
8625	}
8626	return ret, nil
8627	// {
8628	//   "description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.",
8629	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
8630	//   "httpMethod": "DELETE",
8631	//   "id": "datacatalog.projects.locations.taxonomies.delete",
8632	//   "parameterOrder": [
8633	//     "name"
8634	//   ],
8635	//   "parameters": {
8636	//     "name": {
8637	//       "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.",
8638	//       "location": "path",
8639	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
8640	//       "required": true,
8641	//       "type": "string"
8642	//     }
8643	//   },
8644	//   "path": "v1beta1/{+name}",
8645	//   "response": {
8646	//     "$ref": "Empty"
8647	//   },
8648	//   "scopes": [
8649	//     "https://www.googleapis.com/auth/cloud-platform"
8650	//   ]
8651	// }
8652
8653}
8654
8655// method id "datacatalog.projects.locations.taxonomies.export":
8656
8657type ProjectsLocationsTaxonomiesExportCall struct {
8658	s            *Service
8659	parent       string
8660	urlParams_   gensupport.URLParams
8661	ifNoneMatch_ string
8662	ctx_         context.Context
8663	header_      http.Header
8664}
8665
8666// Export: Exports all taxonomies and their policy tags in a project.
8667// This method generates SerializedTaxonomy protos with nested policy
8668// tags that can be used as an input for future ImportTaxonomies calls.
8669//
8670// - parent: Resource name of the project that taxonomies to be exported
8671//   will share.
8672func (r *ProjectsLocationsTaxonomiesService) Export(parent string) *ProjectsLocationsTaxonomiesExportCall {
8673	c := &ProjectsLocationsTaxonomiesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8674	c.parent = parent
8675	return c
8676}
8677
8678// SerializedTaxonomies sets the optional parameter
8679// "serializedTaxonomies": Export taxonomies as serialized taxonomies.
8680func (c *ProjectsLocationsTaxonomiesExportCall) SerializedTaxonomies(serializedTaxonomies bool) *ProjectsLocationsTaxonomiesExportCall {
8681	c.urlParams_.Set("serializedTaxonomies", fmt.Sprint(serializedTaxonomies))
8682	return c
8683}
8684
8685// Taxonomies sets the optional parameter "taxonomies": Required.
8686// Resource names of the taxonomies to be exported.
8687func (c *ProjectsLocationsTaxonomiesExportCall) Taxonomies(taxonomies ...string) *ProjectsLocationsTaxonomiesExportCall {
8688	c.urlParams_.SetMulti("taxonomies", append([]string{}, taxonomies...))
8689	return c
8690}
8691
8692// Fields allows partial responses to be retrieved. See
8693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8694// for more information.
8695func (c *ProjectsLocationsTaxonomiesExportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesExportCall {
8696	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8697	return c
8698}
8699
8700// IfNoneMatch sets the optional parameter which makes the operation
8701// fail if the object's ETag matches the given value. This is useful for
8702// getting updates only after the object has changed since the last
8703// request. Use googleapi.IsNotModified to check whether the response
8704// error from Do is the result of In-None-Match.
8705func (c *ProjectsLocationsTaxonomiesExportCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesExportCall {
8706	c.ifNoneMatch_ = entityTag
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 *ProjectsLocationsTaxonomiesExportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesExportCall {
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 *ProjectsLocationsTaxonomiesExportCall) Header() http.Header {
8721	if c.header_ == nil {
8722		c.header_ = make(http.Header)
8723	}
8724	return c.header_
8725}
8726
8727func (c *ProjectsLocationsTaxonomiesExportCall) doRequest(alt string) (*http.Response, error) {
8728	reqHeaders := make(http.Header)
8729	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8730	for k, v := range c.header_ {
8731		reqHeaders[k] = v
8732	}
8733	reqHeaders.Set("User-Agent", c.s.userAgent())
8734	if c.ifNoneMatch_ != "" {
8735		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8736	}
8737	var body io.Reader = nil
8738	c.urlParams_.Set("alt", alt)
8739	c.urlParams_.Set("prettyPrint", "false")
8740	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:export")
8741	urls += "?" + c.urlParams_.Encode()
8742	req, err := http.NewRequest("GET", urls, body)
8743	if err != nil {
8744		return nil, err
8745	}
8746	req.Header = reqHeaders
8747	googleapi.Expand(req.URL, map[string]string{
8748		"parent": c.parent,
8749	})
8750	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8751}
8752
8753// Do executes the "datacatalog.projects.locations.taxonomies.export" call.
8754// Exactly one of *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse
8755// or error will be non-nil. Any non-2xx status code is an error.
8756// Response headers are in either
8757// *GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse.ServerResponse.
8758// Header or (if a response was returned at all) in
8759// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8760// whether the returned error was because http.StatusNotModified was
8761// returned.
8762func (c *ProjectsLocationsTaxonomiesExportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse, error) {
8763	gensupport.SetOptions(c.urlParams_, opts...)
8764	res, err := c.doRequest("json")
8765	if res != nil && res.StatusCode == http.StatusNotModified {
8766		if res.Body != nil {
8767			res.Body.Close()
8768		}
8769		return nil, &googleapi.Error{
8770			Code:   res.StatusCode,
8771			Header: res.Header,
8772		}
8773	}
8774	if err != nil {
8775		return nil, err
8776	}
8777	defer googleapi.CloseBody(res)
8778	if err := googleapi.CheckResponse(res); err != nil {
8779		return nil, err
8780	}
8781	ret := &GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse{
8782		ServerResponse: googleapi.ServerResponse{
8783			Header:         res.Header,
8784			HTTPStatusCode: res.StatusCode,
8785		},
8786	}
8787	target := &ret
8788	if err := gensupport.DecodeResponse(target, res); err != nil {
8789		return nil, err
8790	}
8791	return ret, nil
8792	// {
8793	//   "description": "Exports all taxonomies and their policy tags in a project. This method generates SerializedTaxonomy protos with nested policy tags that can be used as an input for future ImportTaxonomies calls.",
8794	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
8795	//   "httpMethod": "GET",
8796	//   "id": "datacatalog.projects.locations.taxonomies.export",
8797	//   "parameterOrder": [
8798	//     "parent"
8799	//   ],
8800	//   "parameters": {
8801	//     "parent": {
8802	//       "description": "Required. Resource name of the project that taxonomies to be exported will share.",
8803	//       "location": "path",
8804	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
8805	//       "required": true,
8806	//       "type": "string"
8807	//     },
8808	//     "serializedTaxonomies": {
8809	//       "description": "Export taxonomies as serialized taxonomies.",
8810	//       "location": "query",
8811	//       "type": "boolean"
8812	//     },
8813	//     "taxonomies": {
8814	//       "description": "Required. Resource names of the taxonomies to be exported.",
8815	//       "location": "query",
8816	//       "repeated": true,
8817	//       "type": "string"
8818	//     }
8819	//   },
8820	//   "path": "v1beta1/{+parent}/taxonomies:export",
8821	//   "response": {
8822	//     "$ref": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse"
8823	//   },
8824	//   "scopes": [
8825	//     "https://www.googleapis.com/auth/cloud-platform"
8826	//   ]
8827	// }
8828
8829}
8830
8831// method id "datacatalog.projects.locations.taxonomies.get":
8832
8833type ProjectsLocationsTaxonomiesGetCall struct {
8834	s            *Service
8835	name         string
8836	urlParams_   gensupport.URLParams
8837	ifNoneMatch_ string
8838	ctx_         context.Context
8839	header_      http.Header
8840}
8841
8842// Get: Gets a taxonomy.
8843//
8844// - name: Resource name of the requested taxonomy.
8845func (r *ProjectsLocationsTaxonomiesService) Get(name string) *ProjectsLocationsTaxonomiesGetCall {
8846	c := &ProjectsLocationsTaxonomiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8847	c.name = name
8848	return c
8849}
8850
8851// Fields allows partial responses to be retrieved. See
8852// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8853// for more information.
8854func (c *ProjectsLocationsTaxonomiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetCall {
8855	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8856	return c
8857}
8858
8859// IfNoneMatch sets the optional parameter which makes the operation
8860// fail if the object's ETag matches the given value. This is useful for
8861// getting updates only after the object has changed since the last
8862// request. Use googleapi.IsNotModified to check whether the response
8863// error from Do is the result of In-None-Match.
8864func (c *ProjectsLocationsTaxonomiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesGetCall {
8865	c.ifNoneMatch_ = entityTag
8866	return c
8867}
8868
8869// Context sets the context to be used in this call's Do method. Any
8870// pending HTTP request will be aborted if the provided context is
8871// canceled.
8872func (c *ProjectsLocationsTaxonomiesGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetCall {
8873	c.ctx_ = ctx
8874	return c
8875}
8876
8877// Header returns an http.Header that can be modified by the caller to
8878// add HTTP headers to the request.
8879func (c *ProjectsLocationsTaxonomiesGetCall) Header() http.Header {
8880	if c.header_ == nil {
8881		c.header_ = make(http.Header)
8882	}
8883	return c.header_
8884}
8885
8886func (c *ProjectsLocationsTaxonomiesGetCall) doRequest(alt string) (*http.Response, error) {
8887	reqHeaders := make(http.Header)
8888	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
8889	for k, v := range c.header_ {
8890		reqHeaders[k] = v
8891	}
8892	reqHeaders.Set("User-Agent", c.s.userAgent())
8893	if c.ifNoneMatch_ != "" {
8894		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8895	}
8896	var body io.Reader = nil
8897	c.urlParams_.Set("alt", alt)
8898	c.urlParams_.Set("prettyPrint", "false")
8899	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
8900	urls += "?" + c.urlParams_.Encode()
8901	req, err := http.NewRequest("GET", urls, body)
8902	if err != nil {
8903		return nil, err
8904	}
8905	req.Header = reqHeaders
8906	googleapi.Expand(req.URL, map[string]string{
8907		"name": c.name,
8908	})
8909	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8910}
8911
8912// Do executes the "datacatalog.projects.locations.taxonomies.get" call.
8913// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
8914// be non-nil. Any non-2xx status code is an error. Response headers are
8915// in either
8916// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
8917// response was returned at all) in error.(*googleapi.Error).Header. Use
8918// googleapi.IsNotModified to check whether the returned error was
8919// because http.StatusNotModified was returned.
8920func (c *ProjectsLocationsTaxonomiesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
8921	gensupport.SetOptions(c.urlParams_, opts...)
8922	res, err := c.doRequest("json")
8923	if res != nil && res.StatusCode == http.StatusNotModified {
8924		if res.Body != nil {
8925			res.Body.Close()
8926		}
8927		return nil, &googleapi.Error{
8928			Code:   res.StatusCode,
8929			Header: res.Header,
8930		}
8931	}
8932	if err != nil {
8933		return nil, err
8934	}
8935	defer googleapi.CloseBody(res)
8936	if err := googleapi.CheckResponse(res); err != nil {
8937		return nil, err
8938	}
8939	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
8940		ServerResponse: googleapi.ServerResponse{
8941			Header:         res.Header,
8942			HTTPStatusCode: res.StatusCode,
8943		},
8944	}
8945	target := &ret
8946	if err := gensupport.DecodeResponse(target, res); err != nil {
8947		return nil, err
8948	}
8949	return ret, nil
8950	// {
8951	//   "description": "Gets a taxonomy.",
8952	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
8953	//   "httpMethod": "GET",
8954	//   "id": "datacatalog.projects.locations.taxonomies.get",
8955	//   "parameterOrder": [
8956	//     "name"
8957	//   ],
8958	//   "parameters": {
8959	//     "name": {
8960	//       "description": "Required. Resource name of the requested taxonomy.",
8961	//       "location": "path",
8962	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
8963	//       "required": true,
8964	//       "type": "string"
8965	//     }
8966	//   },
8967	//   "path": "v1beta1/{+name}",
8968	//   "response": {
8969	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
8970	//   },
8971	//   "scopes": [
8972	//     "https://www.googleapis.com/auth/cloud-platform"
8973	//   ]
8974	// }
8975
8976}
8977
8978// method id "datacatalog.projects.locations.taxonomies.getIamPolicy":
8979
8980type ProjectsLocationsTaxonomiesGetIamPolicyCall struct {
8981	s                   *Service
8982	resource            string
8983	getiampolicyrequest *GetIamPolicyRequest
8984	urlParams_          gensupport.URLParams
8985	ctx_                context.Context
8986	header_             http.Header
8987}
8988
8989// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
8990//
8991// - resource: REQUIRED: The resource for which the policy is being
8992//   requested. See the operation documentation for the appropriate
8993//   value for this field.
8994func (r *ProjectsLocationsTaxonomiesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
8995	c := &ProjectsLocationsTaxonomiesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8996	c.resource = resource
8997	c.getiampolicyrequest = getiampolicyrequest
8998	return c
8999}
9000
9001// Fields allows partial responses to be retrieved. See
9002// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9003// for more information.
9004func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9005	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9006	return c
9007}
9008
9009// Context sets the context to be used in this call's Do method. Any
9010// pending HTTP request will be aborted if the provided context is
9011// canceled.
9012func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesGetIamPolicyCall {
9013	c.ctx_ = ctx
9014	return c
9015}
9016
9017// Header returns an http.Header that can be modified by the caller to
9018// add HTTP headers to the request.
9019func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Header() http.Header {
9020	if c.header_ == nil {
9021		c.header_ = make(http.Header)
9022	}
9023	return c.header_
9024}
9025
9026func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9027	reqHeaders := make(http.Header)
9028	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9029	for k, v := range c.header_ {
9030		reqHeaders[k] = v
9031	}
9032	reqHeaders.Set("User-Agent", c.s.userAgent())
9033	var body io.Reader = nil
9034	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
9035	if err != nil {
9036		return nil, err
9037	}
9038	reqHeaders.Set("Content-Type", "application/json")
9039	c.urlParams_.Set("alt", alt)
9040	c.urlParams_.Set("prettyPrint", "false")
9041	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
9042	urls += "?" + c.urlParams_.Encode()
9043	req, err := http.NewRequest("POST", urls, body)
9044	if err != nil {
9045		return nil, err
9046	}
9047	req.Header = reqHeaders
9048	googleapi.Expand(req.URL, map[string]string{
9049		"resource": c.resource,
9050	})
9051	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9052}
9053
9054// Do executes the "datacatalog.projects.locations.taxonomies.getIamPolicy" call.
9055// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9056// code is an error. Response headers are in either
9057// *Policy.ServerResponse.Header or (if a response was returned at all)
9058// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9059// check whether the returned error was because http.StatusNotModified
9060// was returned.
9061func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9062	gensupport.SetOptions(c.urlParams_, opts...)
9063	res, err := c.doRequest("json")
9064	if res != nil && res.StatusCode == http.StatusNotModified {
9065		if res.Body != nil {
9066			res.Body.Close()
9067		}
9068		return nil, &googleapi.Error{
9069			Code:   res.StatusCode,
9070			Header: res.Header,
9071		}
9072	}
9073	if err != nil {
9074		return nil, err
9075	}
9076	defer googleapi.CloseBody(res)
9077	if err := googleapi.CheckResponse(res); err != nil {
9078		return nil, err
9079	}
9080	ret := &Policy{
9081		ServerResponse: googleapi.ServerResponse{
9082			Header:         res.Header,
9083			HTTPStatusCode: res.StatusCode,
9084		},
9085	}
9086	target := &ret
9087	if err := gensupport.DecodeResponse(target, res); err != nil {
9088		return nil, err
9089	}
9090	return ret, nil
9091	// {
9092	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
9093	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:getIamPolicy",
9094	//   "httpMethod": "POST",
9095	//   "id": "datacatalog.projects.locations.taxonomies.getIamPolicy",
9096	//   "parameterOrder": [
9097	//     "resource"
9098	//   ],
9099	//   "parameters": {
9100	//     "resource": {
9101	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
9102	//       "location": "path",
9103	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9104	//       "required": true,
9105	//       "type": "string"
9106	//     }
9107	//   },
9108	//   "path": "v1beta1/{+resource}:getIamPolicy",
9109	//   "request": {
9110	//     "$ref": "GetIamPolicyRequest"
9111	//   },
9112	//   "response": {
9113	//     "$ref": "Policy"
9114	//   },
9115	//   "scopes": [
9116	//     "https://www.googleapis.com/auth/cloud-platform"
9117	//   ]
9118	// }
9119
9120}
9121
9122// method id "datacatalog.projects.locations.taxonomies.import":
9123
9124type ProjectsLocationsTaxonomiesImportCall struct {
9125	s                                                    *Service
9126	parent                                               string
9127	googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest
9128	urlParams_                                           gensupport.URLParams
9129	ctx_                                                 context.Context
9130	header_                                              http.Header
9131}
9132
9133// Import: Imports all taxonomies and their policy tags to a project as
9134// new taxonomies. This method provides a bulk taxonomy / policy tag
9135// creation using nested proto structure.
9136//
9137// - parent: Resource name of project that the imported taxonomies will
9138//   belong to.
9139func (r *ProjectsLocationsTaxonomiesService) Import(parent string, googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) *ProjectsLocationsTaxonomiesImportCall {
9140	c := &ProjectsLocationsTaxonomiesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9141	c.parent = parent
9142	c.googleclouddatacatalogv1beta1importtaxonomiesrequest = googleclouddatacatalogv1beta1importtaxonomiesrequest
9143	return c
9144}
9145
9146// Fields allows partial responses to be retrieved. See
9147// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9148// for more information.
9149func (c *ProjectsLocationsTaxonomiesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesImportCall {
9150	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9151	return c
9152}
9153
9154// Context sets the context to be used in this call's Do method. Any
9155// pending HTTP request will be aborted if the provided context is
9156// canceled.
9157func (c *ProjectsLocationsTaxonomiesImportCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesImportCall {
9158	c.ctx_ = ctx
9159	return c
9160}
9161
9162// Header returns an http.Header that can be modified by the caller to
9163// add HTTP headers to the request.
9164func (c *ProjectsLocationsTaxonomiesImportCall) Header() http.Header {
9165	if c.header_ == nil {
9166		c.header_ = make(http.Header)
9167	}
9168	return c.header_
9169}
9170
9171func (c *ProjectsLocationsTaxonomiesImportCall) doRequest(alt string) (*http.Response, error) {
9172	reqHeaders := make(http.Header)
9173	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9174	for k, v := range c.header_ {
9175		reqHeaders[k] = v
9176	}
9177	reqHeaders.Set("User-Agent", c.s.userAgent())
9178	var body io.Reader = nil
9179	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1importtaxonomiesrequest)
9180	if err != nil {
9181		return nil, err
9182	}
9183	reqHeaders.Set("Content-Type", "application/json")
9184	c.urlParams_.Set("alt", alt)
9185	c.urlParams_.Set("prettyPrint", "false")
9186	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies:import")
9187	urls += "?" + c.urlParams_.Encode()
9188	req, err := http.NewRequest("POST", urls, body)
9189	if err != nil {
9190		return nil, err
9191	}
9192	req.Header = reqHeaders
9193	googleapi.Expand(req.URL, map[string]string{
9194		"parent": c.parent,
9195	})
9196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9197}
9198
9199// Do executes the "datacatalog.projects.locations.taxonomies.import" call.
9200// Exactly one of *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse
9201// or error will be non-nil. Any non-2xx status code is an error.
9202// Response headers are in either
9203// *GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse.ServerResponse.
9204// Header or (if a response was returned at all) in
9205// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9206// whether the returned error was because http.StatusNotModified was
9207// returned.
9208func (c *ProjectsLocationsTaxonomiesImportCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse, error) {
9209	gensupport.SetOptions(c.urlParams_, opts...)
9210	res, err := c.doRequest("json")
9211	if res != nil && res.StatusCode == http.StatusNotModified {
9212		if res.Body != nil {
9213			res.Body.Close()
9214		}
9215		return nil, &googleapi.Error{
9216			Code:   res.StatusCode,
9217			Header: res.Header,
9218		}
9219	}
9220	if err != nil {
9221		return nil, err
9222	}
9223	defer googleapi.CloseBody(res)
9224	if err := googleapi.CheckResponse(res); err != nil {
9225		return nil, err
9226	}
9227	ret := &GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse{
9228		ServerResponse: googleapi.ServerResponse{
9229			Header:         res.Header,
9230			HTTPStatusCode: res.StatusCode,
9231		},
9232	}
9233	target := &ret
9234	if err := gensupport.DecodeResponse(target, res); err != nil {
9235		return nil, err
9236	}
9237	return ret, nil
9238	// {
9239	//   "description": "Imports all taxonomies and their policy tags to a project as new taxonomies. This method provides a bulk taxonomy / policy tag creation using nested proto structure.",
9240	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
9241	//   "httpMethod": "POST",
9242	//   "id": "datacatalog.projects.locations.taxonomies.import",
9243	//   "parameterOrder": [
9244	//     "parent"
9245	//   ],
9246	//   "parameters": {
9247	//     "parent": {
9248	//       "description": "Required. Resource name of project that the imported taxonomies will belong to.",
9249	//       "location": "path",
9250	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9251	//       "required": true,
9252	//       "type": "string"
9253	//     }
9254	//   },
9255	//   "path": "v1beta1/{+parent}/taxonomies:import",
9256	//   "request": {
9257	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest"
9258	//   },
9259	//   "response": {
9260	//     "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse"
9261	//   },
9262	//   "scopes": [
9263	//     "https://www.googleapis.com/auth/cloud-platform"
9264	//   ]
9265	// }
9266
9267}
9268
9269// method id "datacatalog.projects.locations.taxonomies.list":
9270
9271type ProjectsLocationsTaxonomiesListCall struct {
9272	s            *Service
9273	parent       string
9274	urlParams_   gensupport.URLParams
9275	ifNoneMatch_ string
9276	ctx_         context.Context
9277	header_      http.Header
9278}
9279
9280// List: Lists all taxonomies in a project in a particular location that
9281// the caller has permission to view.
9282//
9283// - parent: Resource name of the project to list the taxonomies of.
9284func (r *ProjectsLocationsTaxonomiesService) List(parent string) *ProjectsLocationsTaxonomiesListCall {
9285	c := &ProjectsLocationsTaxonomiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9286	c.parent = parent
9287	return c
9288}
9289
9290// PageSize sets the optional parameter "pageSize": The maximum number
9291// of items to return. Must be a value between 1 and 1000. If not set,
9292// defaults to 50.
9293func (c *ProjectsLocationsTaxonomiesListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesListCall {
9294	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
9295	return c
9296}
9297
9298// PageToken sets the optional parameter "pageToken": The
9299// next_page_token value returned from a previous list request, if any.
9300// If not set, defaults to an empty string.
9301func (c *ProjectsLocationsTaxonomiesListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesListCall {
9302	c.urlParams_.Set("pageToken", pageToken)
9303	return c
9304}
9305
9306// Fields allows partial responses to be retrieved. See
9307// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9308// for more information.
9309func (c *ProjectsLocationsTaxonomiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesListCall {
9310	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9311	return c
9312}
9313
9314// IfNoneMatch sets the optional parameter which makes the operation
9315// fail if the object's ETag matches the given value. This is useful for
9316// getting updates only after the object has changed since the last
9317// request. Use googleapi.IsNotModified to check whether the response
9318// error from Do is the result of In-None-Match.
9319func (c *ProjectsLocationsTaxonomiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesListCall {
9320	c.ifNoneMatch_ = entityTag
9321	return c
9322}
9323
9324// Context sets the context to be used in this call's Do method. Any
9325// pending HTTP request will be aborted if the provided context is
9326// canceled.
9327func (c *ProjectsLocationsTaxonomiesListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesListCall {
9328	c.ctx_ = ctx
9329	return c
9330}
9331
9332// Header returns an http.Header that can be modified by the caller to
9333// add HTTP headers to the request.
9334func (c *ProjectsLocationsTaxonomiesListCall) Header() http.Header {
9335	if c.header_ == nil {
9336		c.header_ = make(http.Header)
9337	}
9338	return c.header_
9339}
9340
9341func (c *ProjectsLocationsTaxonomiesListCall) doRequest(alt string) (*http.Response, error) {
9342	reqHeaders := make(http.Header)
9343	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9344	for k, v := range c.header_ {
9345		reqHeaders[k] = v
9346	}
9347	reqHeaders.Set("User-Agent", c.s.userAgent())
9348	if c.ifNoneMatch_ != "" {
9349		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9350	}
9351	var body io.Reader = nil
9352	c.urlParams_.Set("alt", alt)
9353	c.urlParams_.Set("prettyPrint", "false")
9354	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/taxonomies")
9355	urls += "?" + c.urlParams_.Encode()
9356	req, err := http.NewRequest("GET", urls, body)
9357	if err != nil {
9358		return nil, err
9359	}
9360	req.Header = reqHeaders
9361	googleapi.Expand(req.URL, map[string]string{
9362		"parent": c.parent,
9363	})
9364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9365}
9366
9367// Do executes the "datacatalog.projects.locations.taxonomies.list" call.
9368// Exactly one of *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse
9369// or error will be non-nil. Any non-2xx status code is an error.
9370// Response headers are in either
9371// *GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse.ServerResponse.He
9372// ader or (if a response was returned at all) in
9373// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
9374// whether the returned error was because http.StatusNotModified was
9375// returned.
9376func (c *ProjectsLocationsTaxonomiesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse, error) {
9377	gensupport.SetOptions(c.urlParams_, opts...)
9378	res, err := c.doRequest("json")
9379	if res != nil && res.StatusCode == http.StatusNotModified {
9380		if res.Body != nil {
9381			res.Body.Close()
9382		}
9383		return nil, &googleapi.Error{
9384			Code:   res.StatusCode,
9385			Header: res.Header,
9386		}
9387	}
9388	if err != nil {
9389		return nil, err
9390	}
9391	defer googleapi.CloseBody(res)
9392	if err := googleapi.CheckResponse(res); err != nil {
9393		return nil, err
9394	}
9395	ret := &GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse{
9396		ServerResponse: googleapi.ServerResponse{
9397			Header:         res.Header,
9398			HTTPStatusCode: res.StatusCode,
9399		},
9400	}
9401	target := &ret
9402	if err := gensupport.DecodeResponse(target, res); err != nil {
9403		return nil, err
9404	}
9405	return ret, nil
9406	// {
9407	//   "description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.",
9408	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
9409	//   "httpMethod": "GET",
9410	//   "id": "datacatalog.projects.locations.taxonomies.list",
9411	//   "parameterOrder": [
9412	//     "parent"
9413	//   ],
9414	//   "parameters": {
9415	//     "pageSize": {
9416	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
9417	//       "format": "int32",
9418	//       "location": "query",
9419	//       "type": "integer"
9420	//     },
9421	//     "pageToken": {
9422	//       "description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.",
9423	//       "location": "query",
9424	//       "type": "string"
9425	//     },
9426	//     "parent": {
9427	//       "description": "Required. Resource name of the project to list the taxonomies of.",
9428	//       "location": "path",
9429	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
9430	//       "required": true,
9431	//       "type": "string"
9432	//     }
9433	//   },
9434	//   "path": "v1beta1/{+parent}/taxonomies",
9435	//   "response": {
9436	//     "$ref": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse"
9437	//   },
9438	//   "scopes": [
9439	//     "https://www.googleapis.com/auth/cloud-platform"
9440	//   ]
9441	// }
9442
9443}
9444
9445// Pages invokes f for each page of results.
9446// A non-nil error returned from f will halt the iteration.
9447// The provided context supersedes any context provided to the Context method.
9448func (c *ProjectsLocationsTaxonomiesListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse) error) error {
9449	c.ctx_ = ctx
9450	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9451	for {
9452		x, err := c.Do()
9453		if err != nil {
9454			return err
9455		}
9456		if err := f(x); err != nil {
9457			return err
9458		}
9459		if x.NextPageToken == "" {
9460			return nil
9461		}
9462		c.PageToken(x.NextPageToken)
9463	}
9464}
9465
9466// method id "datacatalog.projects.locations.taxonomies.patch":
9467
9468type ProjectsLocationsTaxonomiesPatchCall struct {
9469	s                                     *Service
9470	name                                  string
9471	googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy
9472	urlParams_                            gensupport.URLParams
9473	ctx_                                  context.Context
9474	header_                               http.Header
9475}
9476
9477// Patch: Updates a taxonomy.
9478//
9479// - name: Output only. Resource name of this taxonomy, whose format is:
9480//   "projects/{project_number}/locations/{location_id}/taxonomies/{id}".
9481func (r *ProjectsLocationsTaxonomiesService) Patch(name string, googleclouddatacatalogv1beta1taxonomy *GoogleCloudDatacatalogV1beta1Taxonomy) *ProjectsLocationsTaxonomiesPatchCall {
9482	c := &ProjectsLocationsTaxonomiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9483	c.name = name
9484	c.googleclouddatacatalogv1beta1taxonomy = googleclouddatacatalogv1beta1taxonomy
9485	return c
9486}
9487
9488// UpdateMask sets the optional parameter "updateMask": The update mask
9489// applies to the resource. For the `FieldMask` definition, see
9490// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
9491// If not set, defaults to all of the fields that are allowed to update.
9492func (c *ProjectsLocationsTaxonomiesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPatchCall {
9493	c.urlParams_.Set("updateMask", updateMask)
9494	return c
9495}
9496
9497// Fields allows partial responses to be retrieved. See
9498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9499// for more information.
9500func (c *ProjectsLocationsTaxonomiesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPatchCall {
9501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9502	return c
9503}
9504
9505// Context sets the context to be used in this call's Do method. Any
9506// pending HTTP request will be aborted if the provided context is
9507// canceled.
9508func (c *ProjectsLocationsTaxonomiesPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPatchCall {
9509	c.ctx_ = ctx
9510	return c
9511}
9512
9513// Header returns an http.Header that can be modified by the caller to
9514// add HTTP headers to the request.
9515func (c *ProjectsLocationsTaxonomiesPatchCall) Header() http.Header {
9516	if c.header_ == nil {
9517		c.header_ = make(http.Header)
9518	}
9519	return c.header_
9520}
9521
9522func (c *ProjectsLocationsTaxonomiesPatchCall) doRequest(alt string) (*http.Response, error) {
9523	reqHeaders := make(http.Header)
9524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9525	for k, v := range c.header_ {
9526		reqHeaders[k] = v
9527	}
9528	reqHeaders.Set("User-Agent", c.s.userAgent())
9529	var body io.Reader = nil
9530	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1taxonomy)
9531	if err != nil {
9532		return nil, err
9533	}
9534	reqHeaders.Set("Content-Type", "application/json")
9535	c.urlParams_.Set("alt", alt)
9536	c.urlParams_.Set("prettyPrint", "false")
9537	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
9538	urls += "?" + c.urlParams_.Encode()
9539	req, err := http.NewRequest("PATCH", urls, body)
9540	if err != nil {
9541		return nil, err
9542	}
9543	req.Header = reqHeaders
9544	googleapi.Expand(req.URL, map[string]string{
9545		"name": c.name,
9546	})
9547	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9548}
9549
9550// Do executes the "datacatalog.projects.locations.taxonomies.patch" call.
9551// Exactly one of *GoogleCloudDatacatalogV1beta1Taxonomy or error will
9552// be non-nil. Any non-2xx status code is an error. Response headers are
9553// in either
9554// *GoogleCloudDatacatalogV1beta1Taxonomy.ServerResponse.Header or (if a
9555// response was returned at all) in error.(*googleapi.Error).Header. Use
9556// googleapi.IsNotModified to check whether the returned error was
9557// because http.StatusNotModified was returned.
9558func (c *ProjectsLocationsTaxonomiesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1Taxonomy, error) {
9559	gensupport.SetOptions(c.urlParams_, opts...)
9560	res, err := c.doRequest("json")
9561	if res != nil && res.StatusCode == http.StatusNotModified {
9562		if res.Body != nil {
9563			res.Body.Close()
9564		}
9565		return nil, &googleapi.Error{
9566			Code:   res.StatusCode,
9567			Header: res.Header,
9568		}
9569	}
9570	if err != nil {
9571		return nil, err
9572	}
9573	defer googleapi.CloseBody(res)
9574	if err := googleapi.CheckResponse(res); err != nil {
9575		return nil, err
9576	}
9577	ret := &GoogleCloudDatacatalogV1beta1Taxonomy{
9578		ServerResponse: googleapi.ServerResponse{
9579			Header:         res.Header,
9580			HTTPStatusCode: res.StatusCode,
9581		},
9582	}
9583	target := &ret
9584	if err := gensupport.DecodeResponse(target, res); err != nil {
9585		return nil, err
9586	}
9587	return ret, nil
9588	// {
9589	//   "description": "Updates a taxonomy.",
9590	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
9591	//   "httpMethod": "PATCH",
9592	//   "id": "datacatalog.projects.locations.taxonomies.patch",
9593	//   "parameterOrder": [
9594	//     "name"
9595	//   ],
9596	//   "parameters": {
9597	//     "name": {
9598	//       "description": "Output only. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
9599	//       "location": "path",
9600	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9601	//       "required": true,
9602	//       "type": "string"
9603	//     },
9604	//     "updateMask": {
9605	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
9606	//       "format": "google-fieldmask",
9607	//       "location": "query",
9608	//       "type": "string"
9609	//     }
9610	//   },
9611	//   "path": "v1beta1/{+name}",
9612	//   "request": {
9613	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9614	//   },
9615	//   "response": {
9616	//     "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
9617	//   },
9618	//   "scopes": [
9619	//     "https://www.googleapis.com/auth/cloud-platform"
9620	//   ]
9621	// }
9622
9623}
9624
9625// method id "datacatalog.projects.locations.taxonomies.setIamPolicy":
9626
9627type ProjectsLocationsTaxonomiesSetIamPolicyCall struct {
9628	s                   *Service
9629	resource            string
9630	setiampolicyrequest *SetIamPolicyRequest
9631	urlParams_          gensupport.URLParams
9632	ctx_                context.Context
9633	header_             http.Header
9634}
9635
9636// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
9637//
9638// - resource: REQUIRED: The resource for which the policy is being
9639//   specified. See the operation documentation for the appropriate
9640//   value for this field.
9641func (r *ProjectsLocationsTaxonomiesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9642	c := &ProjectsLocationsTaxonomiesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9643	c.resource = resource
9644	c.setiampolicyrequest = setiampolicyrequest
9645	return c
9646}
9647
9648// Fields allows partial responses to be retrieved. See
9649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9650// for more information.
9651func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9653	return c
9654}
9655
9656// Context sets the context to be used in this call's Do method. Any
9657// pending HTTP request will be aborted if the provided context is
9658// canceled.
9659func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesSetIamPolicyCall {
9660	c.ctx_ = ctx
9661	return c
9662}
9663
9664// Header returns an http.Header that can be modified by the caller to
9665// add HTTP headers to the request.
9666func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Header() http.Header {
9667	if c.header_ == nil {
9668		c.header_ = make(http.Header)
9669	}
9670	return c.header_
9671}
9672
9673func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
9674	reqHeaders := make(http.Header)
9675	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9676	for k, v := range c.header_ {
9677		reqHeaders[k] = v
9678	}
9679	reqHeaders.Set("User-Agent", c.s.userAgent())
9680	var body io.Reader = nil
9681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
9682	if err != nil {
9683		return nil, err
9684	}
9685	reqHeaders.Set("Content-Type", "application/json")
9686	c.urlParams_.Set("alt", alt)
9687	c.urlParams_.Set("prettyPrint", "false")
9688	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
9689	urls += "?" + c.urlParams_.Encode()
9690	req, err := http.NewRequest("POST", urls, body)
9691	if err != nil {
9692		return nil, err
9693	}
9694	req.Header = reqHeaders
9695	googleapi.Expand(req.URL, map[string]string{
9696		"resource": c.resource,
9697	})
9698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9699}
9700
9701// Do executes the "datacatalog.projects.locations.taxonomies.setIamPolicy" call.
9702// Exactly one of *Policy or error will be non-nil. Any non-2xx status
9703// code is an error. Response headers are in either
9704// *Policy.ServerResponse.Header or (if a response was returned at all)
9705// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9706// check whether the returned error was because http.StatusNotModified
9707// was returned.
9708func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
9709	gensupport.SetOptions(c.urlParams_, opts...)
9710	res, err := c.doRequest("json")
9711	if res != nil && res.StatusCode == http.StatusNotModified {
9712		if res.Body != nil {
9713			res.Body.Close()
9714		}
9715		return nil, &googleapi.Error{
9716			Code:   res.StatusCode,
9717			Header: res.Header,
9718		}
9719	}
9720	if err != nil {
9721		return nil, err
9722	}
9723	defer googleapi.CloseBody(res)
9724	if err := googleapi.CheckResponse(res); err != nil {
9725		return nil, err
9726	}
9727	ret := &Policy{
9728		ServerResponse: googleapi.ServerResponse{
9729			Header:         res.Header,
9730			HTTPStatusCode: res.StatusCode,
9731		},
9732	}
9733	target := &ret
9734	if err := gensupport.DecodeResponse(target, res); err != nil {
9735		return nil, err
9736	}
9737	return ret, nil
9738	// {
9739	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
9740	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:setIamPolicy",
9741	//   "httpMethod": "POST",
9742	//   "id": "datacatalog.projects.locations.taxonomies.setIamPolicy",
9743	//   "parameterOrder": [
9744	//     "resource"
9745	//   ],
9746	//   "parameters": {
9747	//     "resource": {
9748	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
9749	//       "location": "path",
9750	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9751	//       "required": true,
9752	//       "type": "string"
9753	//     }
9754	//   },
9755	//   "path": "v1beta1/{+resource}:setIamPolicy",
9756	//   "request": {
9757	//     "$ref": "SetIamPolicyRequest"
9758	//   },
9759	//   "response": {
9760	//     "$ref": "Policy"
9761	//   },
9762	//   "scopes": [
9763	//     "https://www.googleapis.com/auth/cloud-platform"
9764	//   ]
9765	// }
9766
9767}
9768
9769// method id "datacatalog.projects.locations.taxonomies.testIamPermissions":
9770
9771type ProjectsLocationsTaxonomiesTestIamPermissionsCall struct {
9772	s                         *Service
9773	resource                  string
9774	testiampermissionsrequest *TestIamPermissionsRequest
9775	urlParams_                gensupport.URLParams
9776	ctx_                      context.Context
9777	header_                   http.Header
9778}
9779
9780// TestIamPermissions: Returns the permissions that a caller has on the
9781// specified taxonomy or policy tag.
9782//
9783// - resource: REQUIRED: The resource for which the policy detail is
9784//   being requested. See the operation documentation for the
9785//   appropriate value for this field.
9786func (r *ProjectsLocationsTaxonomiesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9787	c := &ProjectsLocationsTaxonomiesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9788	c.resource = resource
9789	c.testiampermissionsrequest = testiampermissionsrequest
9790	return c
9791}
9792
9793// Fields allows partial responses to be retrieved. See
9794// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9795// for more information.
9796func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9797	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9798	return c
9799}
9800
9801// Context sets the context to be used in this call's Do method. Any
9802// pending HTTP request will be aborted if the provided context is
9803// canceled.
9804func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
9805	c.ctx_ = ctx
9806	return c
9807}
9808
9809// Header returns an http.Header that can be modified by the caller to
9810// add HTTP headers to the request.
9811func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Header() http.Header {
9812	if c.header_ == nil {
9813		c.header_ = make(http.Header)
9814	}
9815	return c.header_
9816}
9817
9818func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
9819	reqHeaders := make(http.Header)
9820	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9821	for k, v := range c.header_ {
9822		reqHeaders[k] = v
9823	}
9824	reqHeaders.Set("User-Agent", c.s.userAgent())
9825	var body io.Reader = nil
9826	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
9827	if err != nil {
9828		return nil, err
9829	}
9830	reqHeaders.Set("Content-Type", "application/json")
9831	c.urlParams_.Set("alt", alt)
9832	c.urlParams_.Set("prettyPrint", "false")
9833	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
9834	urls += "?" + c.urlParams_.Encode()
9835	req, err := http.NewRequest("POST", urls, body)
9836	if err != nil {
9837		return nil, err
9838	}
9839	req.Header = reqHeaders
9840	googleapi.Expand(req.URL, map[string]string{
9841		"resource": c.resource,
9842	})
9843	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9844}
9845
9846// Do executes the "datacatalog.projects.locations.taxonomies.testIamPermissions" call.
9847// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
9848// Any non-2xx status code is an error. Response headers are in either
9849// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
9850// was returned at all) in error.(*googleapi.Error).Header. Use
9851// googleapi.IsNotModified to check whether the returned error was
9852// because http.StatusNotModified was returned.
9853func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
9854	gensupport.SetOptions(c.urlParams_, opts...)
9855	res, err := c.doRequest("json")
9856	if res != nil && res.StatusCode == http.StatusNotModified {
9857		if res.Body != nil {
9858			res.Body.Close()
9859		}
9860		return nil, &googleapi.Error{
9861			Code:   res.StatusCode,
9862			Header: res.Header,
9863		}
9864	}
9865	if err != nil {
9866		return nil, err
9867	}
9868	defer googleapi.CloseBody(res)
9869	if err := googleapi.CheckResponse(res); err != nil {
9870		return nil, err
9871	}
9872	ret := &TestIamPermissionsResponse{
9873		ServerResponse: googleapi.ServerResponse{
9874			Header:         res.Header,
9875			HTTPStatusCode: res.StatusCode,
9876		},
9877	}
9878	target := &ret
9879	if err := gensupport.DecodeResponse(target, res); err != nil {
9880		return nil, err
9881	}
9882	return ret, nil
9883	// {
9884	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
9885	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
9886	//   "httpMethod": "POST",
9887	//   "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
9888	//   "parameterOrder": [
9889	//     "resource"
9890	//   ],
9891	//   "parameters": {
9892	//     "resource": {
9893	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
9894	//       "location": "path",
9895	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
9896	//       "required": true,
9897	//       "type": "string"
9898	//     }
9899	//   },
9900	//   "path": "v1beta1/{+resource}:testIamPermissions",
9901	//   "request": {
9902	//     "$ref": "TestIamPermissionsRequest"
9903	//   },
9904	//   "response": {
9905	//     "$ref": "TestIamPermissionsResponse"
9906	//   },
9907	//   "scopes": [
9908	//     "https://www.googleapis.com/auth/cloud-platform"
9909	//   ]
9910	// }
9911
9912}
9913
9914// method id "datacatalog.projects.locations.taxonomies.policyTags.create":
9915
9916type ProjectsLocationsTaxonomiesPolicyTagsCreateCall struct {
9917	s                                      *Service
9918	parent                                 string
9919	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
9920	urlParams_                             gensupport.URLParams
9921	ctx_                                   context.Context
9922	header_                                http.Header
9923}
9924
9925// Create: Creates a policy tag in the specified taxonomy.
9926//
9927// - parent: Resource name of the taxonomy that the policy tag will
9928//   belong to.
9929func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Create(parent string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
9930	c := &ProjectsLocationsTaxonomiesPolicyTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9931	c.parent = parent
9932	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
9933	return c
9934}
9935
9936// Fields allows partial responses to be retrieved. See
9937// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9938// for more information.
9939func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
9940	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9941	return c
9942}
9943
9944// Context sets the context to be used in this call's Do method. Any
9945// pending HTTP request will be aborted if the provided context is
9946// canceled.
9947func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsCreateCall {
9948	c.ctx_ = ctx
9949	return c
9950}
9951
9952// Header returns an http.Header that can be modified by the caller to
9953// add HTTP headers to the request.
9954func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Header() http.Header {
9955	if c.header_ == nil {
9956		c.header_ = make(http.Header)
9957	}
9958	return c.header_
9959}
9960
9961func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) doRequest(alt string) (*http.Response, error) {
9962	reqHeaders := make(http.Header)
9963	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
9964	for k, v := range c.header_ {
9965		reqHeaders[k] = v
9966	}
9967	reqHeaders.Set("User-Agent", c.s.userAgent())
9968	var body io.Reader = nil
9969	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
9970	if err != nil {
9971		return nil, err
9972	}
9973	reqHeaders.Set("Content-Type", "application/json")
9974	c.urlParams_.Set("alt", alt)
9975	c.urlParams_.Set("prettyPrint", "false")
9976	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
9977	urls += "?" + c.urlParams_.Encode()
9978	req, err := http.NewRequest("POST", urls, body)
9979	if err != nil {
9980		return nil, err
9981	}
9982	req.Header = reqHeaders
9983	googleapi.Expand(req.URL, map[string]string{
9984		"parent": c.parent,
9985	})
9986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9987}
9988
9989// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.create" call.
9990// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
9991// be non-nil. Any non-2xx status code is an error. Response headers are
9992// in either
9993// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
9994// a response was returned at all) in error.(*googleapi.Error).Header.
9995// Use googleapi.IsNotModified to check whether the returned error was
9996// because http.StatusNotModified was returned.
9997func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
9998	gensupport.SetOptions(c.urlParams_, opts...)
9999	res, err := c.doRequest("json")
10000	if res != nil && res.StatusCode == http.StatusNotModified {
10001		if res.Body != nil {
10002			res.Body.Close()
10003		}
10004		return nil, &googleapi.Error{
10005			Code:   res.StatusCode,
10006			Header: res.Header,
10007		}
10008	}
10009	if err != nil {
10010		return nil, err
10011	}
10012	defer googleapi.CloseBody(res)
10013	if err := googleapi.CheckResponse(res); err != nil {
10014		return nil, err
10015	}
10016	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10017		ServerResponse: googleapi.ServerResponse{
10018			Header:         res.Header,
10019			HTTPStatusCode: res.StatusCode,
10020		},
10021	}
10022	target := &ret
10023	if err := gensupport.DecodeResponse(target, res); err != nil {
10024		return nil, err
10025	}
10026	return ret, nil
10027	// {
10028	//   "description": "Creates a policy tag in the specified taxonomy.",
10029	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
10030	//   "httpMethod": "POST",
10031	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.create",
10032	//   "parameterOrder": [
10033	//     "parent"
10034	//   ],
10035	//   "parameters": {
10036	//     "parent": {
10037	//       "description": "Required. Resource name of the taxonomy that the policy tag will belong to.",
10038	//       "location": "path",
10039	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10040	//       "required": true,
10041	//       "type": "string"
10042	//     }
10043	//   },
10044	//   "path": "v1beta1/{+parent}/policyTags",
10045	//   "request": {
10046	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10047	//   },
10048	//   "response": {
10049	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10050	//   },
10051	//   "scopes": [
10052	//     "https://www.googleapis.com/auth/cloud-platform"
10053	//   ]
10054	// }
10055
10056}
10057
10058// method id "datacatalog.projects.locations.taxonomies.policyTags.delete":
10059
10060type ProjectsLocationsTaxonomiesPolicyTagsDeleteCall struct {
10061	s          *Service
10062	name       string
10063	urlParams_ gensupport.URLParams
10064	ctx_       context.Context
10065	header_    http.Header
10066}
10067
10068// Delete: Deletes a policy tag. Also deletes all of its descendant
10069// policy tags.
10070//
10071// - name: Resource name of the policy tag to be deleted. All of its
10072//   descendant policy tags will also be deleted.
10073func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Delete(name string) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10074	c := &ProjectsLocationsTaxonomiesPolicyTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10075	c.name = name
10076	return c
10077}
10078
10079// Fields allows partial responses to be retrieved. See
10080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10081// for more information.
10082func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10084	return c
10085}
10086
10087// Context sets the context to be used in this call's Do method. Any
10088// pending HTTP request will be aborted if the provided context is
10089// canceled.
10090func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall {
10091	c.ctx_ = ctx
10092	return c
10093}
10094
10095// Header returns an http.Header that can be modified by the caller to
10096// add HTTP headers to the request.
10097func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Header() http.Header {
10098	if c.header_ == nil {
10099		c.header_ = make(http.Header)
10100	}
10101	return c.header_
10102}
10103
10104func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
10105	reqHeaders := make(http.Header)
10106	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10107	for k, v := range c.header_ {
10108		reqHeaders[k] = v
10109	}
10110	reqHeaders.Set("User-Agent", c.s.userAgent())
10111	var body io.Reader = nil
10112	c.urlParams_.Set("alt", alt)
10113	c.urlParams_.Set("prettyPrint", "false")
10114	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10115	urls += "?" + c.urlParams_.Encode()
10116	req, err := http.NewRequest("DELETE", urls, body)
10117	if err != nil {
10118		return nil, err
10119	}
10120	req.Header = reqHeaders
10121	googleapi.Expand(req.URL, map[string]string{
10122		"name": c.name,
10123	})
10124	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10125}
10126
10127// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.delete" call.
10128// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10129// code is an error. Response headers are in either
10130// *Empty.ServerResponse.Header or (if a response was returned at all)
10131// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10132// check whether the returned error was because http.StatusNotModified
10133// was returned.
10134func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10135	gensupport.SetOptions(c.urlParams_, opts...)
10136	res, err := c.doRequest("json")
10137	if res != nil && res.StatusCode == http.StatusNotModified {
10138		if res.Body != nil {
10139			res.Body.Close()
10140		}
10141		return nil, &googleapi.Error{
10142			Code:   res.StatusCode,
10143			Header: res.Header,
10144		}
10145	}
10146	if err != nil {
10147		return nil, err
10148	}
10149	defer googleapi.CloseBody(res)
10150	if err := googleapi.CheckResponse(res); err != nil {
10151		return nil, err
10152	}
10153	ret := &Empty{
10154		ServerResponse: googleapi.ServerResponse{
10155			Header:         res.Header,
10156			HTTPStatusCode: res.StatusCode,
10157		},
10158	}
10159	target := &ret
10160	if err := gensupport.DecodeResponse(target, res); err != nil {
10161		return nil, err
10162	}
10163	return ret, nil
10164	// {
10165	//   "description": "Deletes a policy tag. Also deletes all of its descendant policy tags.",
10166	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10167	//   "httpMethod": "DELETE",
10168	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.delete",
10169	//   "parameterOrder": [
10170	//     "name"
10171	//   ],
10172	//   "parameters": {
10173	//     "name": {
10174	//       "description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.",
10175	//       "location": "path",
10176	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10177	//       "required": true,
10178	//       "type": "string"
10179	//     }
10180	//   },
10181	//   "path": "v1beta1/{+name}",
10182	//   "response": {
10183	//     "$ref": "Empty"
10184	//   },
10185	//   "scopes": [
10186	//     "https://www.googleapis.com/auth/cloud-platform"
10187	//   ]
10188	// }
10189
10190}
10191
10192// method id "datacatalog.projects.locations.taxonomies.policyTags.get":
10193
10194type ProjectsLocationsTaxonomiesPolicyTagsGetCall struct {
10195	s            *Service
10196	name         string
10197	urlParams_   gensupport.URLParams
10198	ifNoneMatch_ string
10199	ctx_         context.Context
10200	header_      http.Header
10201}
10202
10203// Get: Gets a policy tag.
10204//
10205// - name: Resource name of the requested policy tag.
10206func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Get(name string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10207	c := &ProjectsLocationsTaxonomiesPolicyTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10208	c.name = name
10209	return c
10210}
10211
10212// Fields allows partial responses to be retrieved. See
10213// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10214// for more information.
10215func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10216	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10217	return c
10218}
10219
10220// IfNoneMatch sets the optional parameter which makes the operation
10221// fail if the object's ETag matches the given value. This is useful for
10222// getting updates only after the object has changed since the last
10223// request. Use googleapi.IsNotModified to check whether the response
10224// error from Do is the result of In-None-Match.
10225func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10226	c.ifNoneMatch_ = entityTag
10227	return c
10228}
10229
10230// Context sets the context to be used in this call's Do method. Any
10231// pending HTTP request will be aborted if the provided context is
10232// canceled.
10233func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetCall {
10234	c.ctx_ = ctx
10235	return c
10236}
10237
10238// Header returns an http.Header that can be modified by the caller to
10239// add HTTP headers to the request.
10240func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Header() http.Header {
10241	if c.header_ == nil {
10242		c.header_ = make(http.Header)
10243	}
10244	return c.header_
10245}
10246
10247func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) doRequest(alt string) (*http.Response, error) {
10248	reqHeaders := make(http.Header)
10249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10250	for k, v := range c.header_ {
10251		reqHeaders[k] = v
10252	}
10253	reqHeaders.Set("User-Agent", c.s.userAgent())
10254	if c.ifNoneMatch_ != "" {
10255		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10256	}
10257	var body io.Reader = nil
10258	c.urlParams_.Set("alt", alt)
10259	c.urlParams_.Set("prettyPrint", "false")
10260	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10261	urls += "?" + c.urlParams_.Encode()
10262	req, err := http.NewRequest("GET", urls, body)
10263	if err != nil {
10264		return nil, err
10265	}
10266	req.Header = reqHeaders
10267	googleapi.Expand(req.URL, map[string]string{
10268		"name": c.name,
10269	})
10270	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10271}
10272
10273// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.get" call.
10274// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10275// be non-nil. Any non-2xx status code is an error. Response headers are
10276// in either
10277// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10278// a response was returned at all) in error.(*googleapi.Error).Header.
10279// Use googleapi.IsNotModified to check whether the returned error was
10280// because http.StatusNotModified was returned.
10281func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10282	gensupport.SetOptions(c.urlParams_, opts...)
10283	res, err := c.doRequest("json")
10284	if res != nil && res.StatusCode == http.StatusNotModified {
10285		if res.Body != nil {
10286			res.Body.Close()
10287		}
10288		return nil, &googleapi.Error{
10289			Code:   res.StatusCode,
10290			Header: res.Header,
10291		}
10292	}
10293	if err != nil {
10294		return nil, err
10295	}
10296	defer googleapi.CloseBody(res)
10297	if err := googleapi.CheckResponse(res); err != nil {
10298		return nil, err
10299	}
10300	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10301		ServerResponse: googleapi.ServerResponse{
10302			Header:         res.Header,
10303			HTTPStatusCode: res.StatusCode,
10304		},
10305	}
10306	target := &ret
10307	if err := gensupport.DecodeResponse(target, res); err != nil {
10308		return nil, err
10309	}
10310	return ret, nil
10311	// {
10312	//   "description": "Gets a policy tag.",
10313	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10314	//   "httpMethod": "GET",
10315	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.get",
10316	//   "parameterOrder": [
10317	//     "name"
10318	//   ],
10319	//   "parameters": {
10320	//     "name": {
10321	//       "description": "Required. Resource name of the requested policy tag.",
10322	//       "location": "path",
10323	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10324	//       "required": true,
10325	//       "type": "string"
10326	//     }
10327	//   },
10328	//   "path": "v1beta1/{+name}",
10329	//   "response": {
10330	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10331	//   },
10332	//   "scopes": [
10333	//     "https://www.googleapis.com/auth/cloud-platform"
10334	//   ]
10335	// }
10336
10337}
10338
10339// method id "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy":
10340
10341type ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall struct {
10342	s                   *Service
10343	resource            string
10344	getiampolicyrequest *GetIamPolicyRequest
10345	urlParams_          gensupport.URLParams
10346	ctx_                context.Context
10347	header_             http.Header
10348}
10349
10350// GetIamPolicy: Gets the IAM policy for a taxonomy or a policy tag.
10351//
10352// - resource: REQUIRED: The resource for which the policy is being
10353//   requested. See the operation documentation for the appropriate
10354//   value for this field.
10355func (r *ProjectsLocationsTaxonomiesPolicyTagsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10356	c := &ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10357	c.resource = resource
10358	c.getiampolicyrequest = getiampolicyrequest
10359	return c
10360}
10361
10362// Fields allows partial responses to be retrieved. See
10363// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10364// for more information.
10365func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10366	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10367	return c
10368}
10369
10370// Context sets the context to be used in this call's Do method. Any
10371// pending HTTP request will be aborted if the provided context is
10372// canceled.
10373func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall {
10374	c.ctx_ = ctx
10375	return c
10376}
10377
10378// Header returns an http.Header that can be modified by the caller to
10379// add HTTP headers to the request.
10380func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Header() http.Header {
10381	if c.header_ == nil {
10382		c.header_ = make(http.Header)
10383	}
10384	return c.header_
10385}
10386
10387func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10388	reqHeaders := make(http.Header)
10389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10390	for k, v := range c.header_ {
10391		reqHeaders[k] = v
10392	}
10393	reqHeaders.Set("User-Agent", c.s.userAgent())
10394	var body io.Reader = nil
10395	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest)
10396	if err != nil {
10397		return nil, err
10398	}
10399	reqHeaders.Set("Content-Type", "application/json")
10400	c.urlParams_.Set("alt", alt)
10401	c.urlParams_.Set("prettyPrint", "false")
10402	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy")
10403	urls += "?" + c.urlParams_.Encode()
10404	req, err := http.NewRequest("POST", urls, body)
10405	if err != nil {
10406		return nil, err
10407	}
10408	req.Header = reqHeaders
10409	googleapi.Expand(req.URL, map[string]string{
10410		"resource": c.resource,
10411	})
10412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10413}
10414
10415// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy" call.
10416// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10417// code is an error. Response headers are in either
10418// *Policy.ServerResponse.Header or (if a response was returned at all)
10419// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10420// check whether the returned error was because http.StatusNotModified
10421// was returned.
10422func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10423	gensupport.SetOptions(c.urlParams_, opts...)
10424	res, err := c.doRequest("json")
10425	if res != nil && res.StatusCode == http.StatusNotModified {
10426		if res.Body != nil {
10427			res.Body.Close()
10428		}
10429		return nil, &googleapi.Error{
10430			Code:   res.StatusCode,
10431			Header: res.Header,
10432		}
10433	}
10434	if err != nil {
10435		return nil, err
10436	}
10437	defer googleapi.CloseBody(res)
10438	if err := googleapi.CheckResponse(res); err != nil {
10439		return nil, err
10440	}
10441	ret := &Policy{
10442		ServerResponse: googleapi.ServerResponse{
10443			Header:         res.Header,
10444			HTTPStatusCode: res.StatusCode,
10445		},
10446	}
10447	target := &ret
10448	if err := gensupport.DecodeResponse(target, res); err != nil {
10449		return nil, err
10450	}
10451	return ret, nil
10452	// {
10453	//   "description": "Gets the IAM policy for a taxonomy or a policy tag.",
10454	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:getIamPolicy",
10455	//   "httpMethod": "POST",
10456	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy",
10457	//   "parameterOrder": [
10458	//     "resource"
10459	//   ],
10460	//   "parameters": {
10461	//     "resource": {
10462	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
10463	//       "location": "path",
10464	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10465	//       "required": true,
10466	//       "type": "string"
10467	//     }
10468	//   },
10469	//   "path": "v1beta1/{+resource}:getIamPolicy",
10470	//   "request": {
10471	//     "$ref": "GetIamPolicyRequest"
10472	//   },
10473	//   "response": {
10474	//     "$ref": "Policy"
10475	//   },
10476	//   "scopes": [
10477	//     "https://www.googleapis.com/auth/cloud-platform"
10478	//   ]
10479	// }
10480
10481}
10482
10483// method id "datacatalog.projects.locations.taxonomies.policyTags.list":
10484
10485type ProjectsLocationsTaxonomiesPolicyTagsListCall struct {
10486	s            *Service
10487	parent       string
10488	urlParams_   gensupport.URLParams
10489	ifNoneMatch_ string
10490	ctx_         context.Context
10491	header_      http.Header
10492}
10493
10494// List: Lists all policy tags in a taxonomy.
10495//
10496// - parent: Resource name of the taxonomy to list the policy tags of.
10497func (r *ProjectsLocationsTaxonomiesPolicyTagsService) List(parent string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10498	c := &ProjectsLocationsTaxonomiesPolicyTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10499	c.parent = parent
10500	return c
10501}
10502
10503// PageSize sets the optional parameter "pageSize": The maximum number
10504// of items to return. Must be a value between 1 and 1000. If not set,
10505// defaults to 50.
10506func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10507	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10508	return c
10509}
10510
10511// PageToken sets the optional parameter "pageToken": The
10512// next_page_token value returned from a previous List request, if any.
10513// If not set, defaults to an empty string.
10514func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10515	c.urlParams_.Set("pageToken", pageToken)
10516	return c
10517}
10518
10519// Fields allows partial responses to be retrieved. See
10520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10521// for more information.
10522func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10524	return c
10525}
10526
10527// IfNoneMatch sets the optional parameter which makes the operation
10528// fail if the object's ETag matches the given value. This is useful for
10529// getting updates only after the object has changed since the last
10530// request. Use googleapi.IsNotModified to check whether the response
10531// error from Do is the result of In-None-Match.
10532func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10533	c.ifNoneMatch_ = entityTag
10534	return c
10535}
10536
10537// Context sets the context to be used in this call's Do method. Any
10538// pending HTTP request will be aborted if the provided context is
10539// canceled.
10540func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
10541	c.ctx_ = ctx
10542	return c
10543}
10544
10545// Header returns an http.Header that can be modified by the caller to
10546// add HTTP headers to the request.
10547func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Header() http.Header {
10548	if c.header_ == nil {
10549		c.header_ = make(http.Header)
10550	}
10551	return c.header_
10552}
10553
10554func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) doRequest(alt string) (*http.Response, error) {
10555	reqHeaders := make(http.Header)
10556	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10557	for k, v := range c.header_ {
10558		reqHeaders[k] = v
10559	}
10560	reqHeaders.Set("User-Agent", c.s.userAgent())
10561	if c.ifNoneMatch_ != "" {
10562		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10563	}
10564	var body io.Reader = nil
10565	c.urlParams_.Set("alt", alt)
10566	c.urlParams_.Set("prettyPrint", "false")
10567	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/policyTags")
10568	urls += "?" + c.urlParams_.Encode()
10569	req, err := http.NewRequest("GET", urls, body)
10570	if err != nil {
10571		return nil, err
10572	}
10573	req.Header = reqHeaders
10574	googleapi.Expand(req.URL, map[string]string{
10575		"parent": c.parent,
10576	})
10577	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10578}
10579
10580// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.list" call.
10581// Exactly one of *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse
10582// or error will be non-nil. Any non-2xx status code is an error.
10583// Response headers are in either
10584// *GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse.ServerResponse.He
10585// ader or (if a response was returned at all) in
10586// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
10587// whether the returned error was because http.StatusNotModified was
10588// returned.
10589func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse, error) {
10590	gensupport.SetOptions(c.urlParams_, opts...)
10591	res, err := c.doRequest("json")
10592	if res != nil && res.StatusCode == http.StatusNotModified {
10593		if res.Body != nil {
10594			res.Body.Close()
10595		}
10596		return nil, &googleapi.Error{
10597			Code:   res.StatusCode,
10598			Header: res.Header,
10599		}
10600	}
10601	if err != nil {
10602		return nil, err
10603	}
10604	defer googleapi.CloseBody(res)
10605	if err := googleapi.CheckResponse(res); err != nil {
10606		return nil, err
10607	}
10608	ret := &GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse{
10609		ServerResponse: googleapi.ServerResponse{
10610			Header:         res.Header,
10611			HTTPStatusCode: res.StatusCode,
10612		},
10613	}
10614	target := &ret
10615	if err := gensupport.DecodeResponse(target, res); err != nil {
10616		return nil, err
10617	}
10618	return ret, nil
10619	// {
10620	//   "description": "Lists all policy tags in a taxonomy.",
10621	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
10622	//   "httpMethod": "GET",
10623	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.list",
10624	//   "parameterOrder": [
10625	//     "parent"
10626	//   ],
10627	//   "parameters": {
10628	//     "pageSize": {
10629	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
10630	//       "format": "int32",
10631	//       "location": "query",
10632	//       "type": "integer"
10633	//     },
10634	//     "pageToken": {
10635	//       "description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.",
10636	//       "location": "query",
10637	//       "type": "string"
10638	//     },
10639	//     "parent": {
10640	//       "description": "Required. Resource name of the taxonomy to list the policy tags of.",
10641	//       "location": "path",
10642	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
10643	//       "required": true,
10644	//       "type": "string"
10645	//     }
10646	//   },
10647	//   "path": "v1beta1/{+parent}/policyTags",
10648	//   "response": {
10649	//     "$ref": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse"
10650	//   },
10651	//   "scopes": [
10652	//     "https://www.googleapis.com/auth/cloud-platform"
10653	//   ]
10654	// }
10655
10656}
10657
10658// Pages invokes f for each page of results.
10659// A non-nil error returned from f will halt the iteration.
10660// The provided context supersedes any context provided to the Context method.
10661func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) Pages(ctx context.Context, f func(*GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse) error) error {
10662	c.ctx_ = ctx
10663	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
10664	for {
10665		x, err := c.Do()
10666		if err != nil {
10667			return err
10668		}
10669		if err := f(x); err != nil {
10670			return err
10671		}
10672		if x.NextPageToken == "" {
10673			return nil
10674		}
10675		c.PageToken(x.NextPageToken)
10676	}
10677}
10678
10679// method id "datacatalog.projects.locations.taxonomies.policyTags.patch":
10680
10681type ProjectsLocationsTaxonomiesPolicyTagsPatchCall struct {
10682	s                                      *Service
10683	name                                   string
10684	googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag
10685	urlParams_                             gensupport.URLParams
10686	ctx_                                   context.Context
10687	header_                                http.Header
10688}
10689
10690// Patch: Updates a policy tag.
10691//
10692// - name: Output only. Resource name of this policy tag, whose format
10693//   is:
10694//   "projects/{project_number}/locations/{location_id}/taxonomies/{taxon
10695//   omy_id}/policyTags/{id}".
10696func (r *ProjectsLocationsTaxonomiesPolicyTagsService) Patch(name string, googleclouddatacatalogv1beta1policytag *GoogleCloudDatacatalogV1beta1PolicyTag) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10697	c := &ProjectsLocationsTaxonomiesPolicyTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10698	c.name = name
10699	c.googleclouddatacatalogv1beta1policytag = googleclouddatacatalogv1beta1policytag
10700	return c
10701}
10702
10703// UpdateMask sets the optional parameter "updateMask": The update mask
10704// applies to the resource. Only display_name, description and
10705// parent_policy_tag can be updated and thus can be listed in the mask.
10706// If update_mask is not provided, all allowed fields (i.e.
10707// display_name, description and parent) will be updated. For more
10708// information including the `FieldMask` definition, see
10709// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
10710// If not set, defaults to all of the fields that are allowed to update.
10711func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10712	c.urlParams_.Set("updateMask", updateMask)
10713	return c
10714}
10715
10716// Fields allows partial responses to be retrieved. See
10717// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10718// for more information.
10719func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10720	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10721	return c
10722}
10723
10724// Context sets the context to be used in this call's Do method. Any
10725// pending HTTP request will be aborted if the provided context is
10726// canceled.
10727func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
10728	c.ctx_ = ctx
10729	return c
10730}
10731
10732// Header returns an http.Header that can be modified by the caller to
10733// add HTTP headers to the request.
10734func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Header() http.Header {
10735	if c.header_ == nil {
10736		c.header_ = make(http.Header)
10737	}
10738	return c.header_
10739}
10740
10741func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) doRequest(alt string) (*http.Response, error) {
10742	reqHeaders := make(http.Header)
10743	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10744	for k, v := range c.header_ {
10745		reqHeaders[k] = v
10746	}
10747	reqHeaders.Set("User-Agent", c.s.userAgent())
10748	var body io.Reader = nil
10749	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddatacatalogv1beta1policytag)
10750	if err != nil {
10751		return nil, err
10752	}
10753	reqHeaders.Set("Content-Type", "application/json")
10754	c.urlParams_.Set("alt", alt)
10755	c.urlParams_.Set("prettyPrint", "false")
10756	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}")
10757	urls += "?" + c.urlParams_.Encode()
10758	req, err := http.NewRequest("PATCH", urls, body)
10759	if err != nil {
10760		return nil, err
10761	}
10762	req.Header = reqHeaders
10763	googleapi.Expand(req.URL, map[string]string{
10764		"name": c.name,
10765	})
10766	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10767}
10768
10769// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.patch" call.
10770// Exactly one of *GoogleCloudDatacatalogV1beta1PolicyTag or error will
10771// be non-nil. Any non-2xx status code is an error. Response headers are
10772// in either
10773// *GoogleCloudDatacatalogV1beta1PolicyTag.ServerResponse.Header or (if
10774// a response was returned at all) in error.(*googleapi.Error).Header.
10775// Use googleapi.IsNotModified to check whether the returned error was
10776// because http.StatusNotModified was returned.
10777func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDatacatalogV1beta1PolicyTag, error) {
10778	gensupport.SetOptions(c.urlParams_, opts...)
10779	res, err := c.doRequest("json")
10780	if res != nil && res.StatusCode == http.StatusNotModified {
10781		if res.Body != nil {
10782			res.Body.Close()
10783		}
10784		return nil, &googleapi.Error{
10785			Code:   res.StatusCode,
10786			Header: res.Header,
10787		}
10788	}
10789	if err != nil {
10790		return nil, err
10791	}
10792	defer googleapi.CloseBody(res)
10793	if err := googleapi.CheckResponse(res); err != nil {
10794		return nil, err
10795	}
10796	ret := &GoogleCloudDatacatalogV1beta1PolicyTag{
10797		ServerResponse: googleapi.ServerResponse{
10798			Header:         res.Header,
10799			HTTPStatusCode: res.StatusCode,
10800		},
10801	}
10802	target := &ret
10803	if err := gensupport.DecodeResponse(target, res); err != nil {
10804		return nil, err
10805	}
10806	return ret, nil
10807	// {
10808	//   "description": "Updates a policy tag.",
10809	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
10810	//   "httpMethod": "PATCH",
10811	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.patch",
10812	//   "parameterOrder": [
10813	//     "name"
10814	//   ],
10815	//   "parameters": {
10816	//     "name": {
10817	//       "description": "Output only. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
10818	//       "location": "path",
10819	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10820	//       "required": true,
10821	//       "type": "string"
10822	//     },
10823	//     "updateMask": {
10824	//       "description": "The update mask applies to the resource. Only display_name, description and parent_policy_tag can be updated and thus can be listed in the mask. If update_mask is not provided, all allowed fields (i.e. display_name, description and parent) will be updated. For more information including the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
10825	//       "format": "google-fieldmask",
10826	//       "location": "query",
10827	//       "type": "string"
10828	//     }
10829	//   },
10830	//   "path": "v1beta1/{+name}",
10831	//   "request": {
10832	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10833	//   },
10834	//   "response": {
10835	//     "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
10836	//   },
10837	//   "scopes": [
10838	//     "https://www.googleapis.com/auth/cloud-platform"
10839	//   ]
10840	// }
10841
10842}
10843
10844// method id "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy":
10845
10846type ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall struct {
10847	s                   *Service
10848	resource            string
10849	setiampolicyrequest *SetIamPolicyRequest
10850	urlParams_          gensupport.URLParams
10851	ctx_                context.Context
10852	header_             http.Header
10853}
10854
10855// SetIamPolicy: Sets the IAM policy for a taxonomy or a policy tag.
10856//
10857// - resource: REQUIRED: The resource for which the policy is being
10858//   specified. See the operation documentation for the appropriate
10859//   value for this field.
10860func (r *ProjectsLocationsTaxonomiesPolicyTagsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10861	c := &ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10862	c.resource = resource
10863	c.setiampolicyrequest = setiampolicyrequest
10864	return c
10865}
10866
10867// Fields allows partial responses to be retrieved. See
10868// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10869// for more information.
10870func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10871	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10872	return c
10873}
10874
10875// Context sets the context to be used in this call's Do method. Any
10876// pending HTTP request will be aborted if the provided context is
10877// canceled.
10878func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall {
10879	c.ctx_ = ctx
10880	return c
10881}
10882
10883// Header returns an http.Header that can be modified by the caller to
10884// add HTTP headers to the request.
10885func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Header() http.Header {
10886	if c.header_ == nil {
10887		c.header_ = make(http.Header)
10888	}
10889	return c.header_
10890}
10891
10892func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
10893	reqHeaders := make(http.Header)
10894	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
10895	for k, v := range c.header_ {
10896		reqHeaders[k] = v
10897	}
10898	reqHeaders.Set("User-Agent", c.s.userAgent())
10899	var body io.Reader = nil
10900	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
10901	if err != nil {
10902		return nil, err
10903	}
10904	reqHeaders.Set("Content-Type", "application/json")
10905	c.urlParams_.Set("alt", alt)
10906	c.urlParams_.Set("prettyPrint", "false")
10907	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy")
10908	urls += "?" + c.urlParams_.Encode()
10909	req, err := http.NewRequest("POST", urls, body)
10910	if err != nil {
10911		return nil, err
10912	}
10913	req.Header = reqHeaders
10914	googleapi.Expand(req.URL, map[string]string{
10915		"resource": c.resource,
10916	})
10917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10918}
10919
10920// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy" call.
10921// Exactly one of *Policy or error will be non-nil. Any non-2xx status
10922// code is an error. Response headers are in either
10923// *Policy.ServerResponse.Header or (if a response was returned at all)
10924// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10925// check whether the returned error was because http.StatusNotModified
10926// was returned.
10927func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
10928	gensupport.SetOptions(c.urlParams_, opts...)
10929	res, err := c.doRequest("json")
10930	if res != nil && res.StatusCode == http.StatusNotModified {
10931		if res.Body != nil {
10932			res.Body.Close()
10933		}
10934		return nil, &googleapi.Error{
10935			Code:   res.StatusCode,
10936			Header: res.Header,
10937		}
10938	}
10939	if err != nil {
10940		return nil, err
10941	}
10942	defer googleapi.CloseBody(res)
10943	if err := googleapi.CheckResponse(res); err != nil {
10944		return nil, err
10945	}
10946	ret := &Policy{
10947		ServerResponse: googleapi.ServerResponse{
10948			Header:         res.Header,
10949			HTTPStatusCode: res.StatusCode,
10950		},
10951	}
10952	target := &ret
10953	if err := gensupport.DecodeResponse(target, res); err != nil {
10954		return nil, err
10955	}
10956	return ret, nil
10957	// {
10958	//   "description": "Sets the IAM policy for a taxonomy or a policy tag.",
10959	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:setIamPolicy",
10960	//   "httpMethod": "POST",
10961	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy",
10962	//   "parameterOrder": [
10963	//     "resource"
10964	//   ],
10965	//   "parameters": {
10966	//     "resource": {
10967	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
10968	//       "location": "path",
10969	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
10970	//       "required": true,
10971	//       "type": "string"
10972	//     }
10973	//   },
10974	//   "path": "v1beta1/{+resource}:setIamPolicy",
10975	//   "request": {
10976	//     "$ref": "SetIamPolicyRequest"
10977	//   },
10978	//   "response": {
10979	//     "$ref": "Policy"
10980	//   },
10981	//   "scopes": [
10982	//     "https://www.googleapis.com/auth/cloud-platform"
10983	//   ]
10984	// }
10985
10986}
10987
10988// method id "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions":
10989
10990type ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall struct {
10991	s                         *Service
10992	resource                  string
10993	testiampermissionsrequest *TestIamPermissionsRequest
10994	urlParams_                gensupport.URLParams
10995	ctx_                      context.Context
10996	header_                   http.Header
10997}
10998
10999// TestIamPermissions: Returns the permissions that a caller has on the
11000// specified taxonomy or policy tag.
11001//
11002// - resource: REQUIRED: The resource for which the policy detail is
11003//   being requested. See the operation documentation for the
11004//   appropriate value for this field.
11005func (r *ProjectsLocationsTaxonomiesPolicyTagsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11006	c := &ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11007	c.resource = resource
11008	c.testiampermissionsrequest = testiampermissionsrequest
11009	return c
11010}
11011
11012// Fields allows partial responses to be retrieved. See
11013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11014// for more information.
11015func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11017	return c
11018}
11019
11020// Context sets the context to be used in this call's Do method. Any
11021// pending HTTP request will be aborted if the provided context is
11022// canceled.
11023func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
11024	c.ctx_ = ctx
11025	return c
11026}
11027
11028// Header returns an http.Header that can be modified by the caller to
11029// add HTTP headers to the request.
11030func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Header() http.Header {
11031	if c.header_ == nil {
11032		c.header_ = make(http.Header)
11033	}
11034	return c.header_
11035}
11036
11037func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
11038	reqHeaders := make(http.Header)
11039	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
11040	for k, v := range c.header_ {
11041		reqHeaders[k] = v
11042	}
11043	reqHeaders.Set("User-Agent", c.s.userAgent())
11044	var body io.Reader = nil
11045	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
11046	if err != nil {
11047		return nil, err
11048	}
11049	reqHeaders.Set("Content-Type", "application/json")
11050	c.urlParams_.Set("alt", alt)
11051	c.urlParams_.Set("prettyPrint", "false")
11052	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions")
11053	urls += "?" + c.urlParams_.Encode()
11054	req, err := http.NewRequest("POST", urls, body)
11055	if err != nil {
11056		return nil, err
11057	}
11058	req.Header = reqHeaders
11059	googleapi.Expand(req.URL, map[string]string{
11060		"resource": c.resource,
11061	})
11062	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11063}
11064
11065// Do executes the "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions" call.
11066// Exactly one of *TestIamPermissionsResponse or error will be non-nil.
11067// Any non-2xx status code is an error. Response headers are in either
11068// *TestIamPermissionsResponse.ServerResponse.Header or (if a response
11069// was returned at all) in error.(*googleapi.Error).Header. Use
11070// googleapi.IsNotModified to check whether the returned error was
11071// because http.StatusNotModified was returned.
11072func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
11073	gensupport.SetOptions(c.urlParams_, opts...)
11074	res, err := c.doRequest("json")
11075	if res != nil && res.StatusCode == http.StatusNotModified {
11076		if res.Body != nil {
11077			res.Body.Close()
11078		}
11079		return nil, &googleapi.Error{
11080			Code:   res.StatusCode,
11081			Header: res.Header,
11082		}
11083	}
11084	if err != nil {
11085		return nil, err
11086	}
11087	defer googleapi.CloseBody(res)
11088	if err := googleapi.CheckResponse(res); err != nil {
11089		return nil, err
11090	}
11091	ret := &TestIamPermissionsResponse{
11092		ServerResponse: googleapi.ServerResponse{
11093			Header:         res.Header,
11094			HTTPStatusCode: res.StatusCode,
11095		},
11096	}
11097	target := &ret
11098	if err := gensupport.DecodeResponse(target, res); err != nil {
11099		return nil, err
11100	}
11101	return ret, nil
11102	// {
11103	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
11104	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
11105	//   "httpMethod": "POST",
11106	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
11107	//   "parameterOrder": [
11108	//     "resource"
11109	//   ],
11110	//   "parameters": {
11111	//     "resource": {
11112	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
11113	//       "location": "path",
11114	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
11115	//       "required": true,
11116	//       "type": "string"
11117	//     }
11118	//   },
11119	//   "path": "v1beta1/{+resource}:testIamPermissions",
11120	//   "request": {
11121	//     "$ref": "TestIamPermissionsRequest"
11122	//   },
11123	//   "response": {
11124	//     "$ref": "TestIamPermissionsResponse"
11125	//   },
11126	//   "scopes": [
11127	//     "https://www.googleapis.com/auth/cloud-platform"
11128	//   ]
11129	// }
11130
11131}
11132